private void PublishThermostatState(clsThermostat thermostat) { MqttClient.PublishAsync(thermostat.ToTopic(Topic.current_operation), thermostat.ToOperationState(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.current_temperature), thermostat.TempText(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.current_humidity), thermostat.HumidityText(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.temperature_heat_state), thermostat.HeatSetpointText(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.temperature_cool_state), thermostat.CoolSetpointText(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.humidify_state), thermostat.HumidifySetpointText(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.dehumidify_state), thermostat.DehumidifySetpointText(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.mode_state), thermostat.ModeText().ToLower(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.fan_mode_state), thermostat.FanModeText().ToLower(), MqttQualityOfServiceLevel.AtMostOnce, true); MqttClient.PublishAsync(thermostat.ToTopic(Topic.hold_state), thermostat.HoldStatusText().ToLower(), MqttQualityOfServiceLevel.AtMostOnce, true); }
private void PublishThermostatState(clsThermostat thermostat) { PublishAsync(thermostat.ToTopic(Topic.current_operation), thermostat.ToOperationState()); PublishAsync(thermostat.ToTopic(Topic.current_temperature), thermostat.TempText()); PublishAsync(thermostat.ToTopic(Topic.current_humidity), thermostat.HumidityText()); PublishAsync(thermostat.ToTopic(Topic.temperature_heat_state), thermostat.HeatSetpointText()); PublishAsync(thermostat.ToTopic(Topic.temperature_cool_state), thermostat.CoolSetpointText()); PublishAsync(thermostat.ToTopic(Topic.humidify_state), thermostat.HumidifySetpointText()); PublishAsync(thermostat.ToTopic(Topic.dehumidify_state), thermostat.DehumidifySetpointText()); PublishAsync(thermostat.ToTopic(Topic.mode_state), thermostat.ModeText().ToLower()); PublishAsync(thermostat.ToTopic(Topic.fan_mode_state), thermostat.FanModeText().ToLower()); PublishAsync(thermostat.ToTopic(Topic.hold_state), thermostat.HoldStatusText().ToLower()); }
public static ThermostatContract ToContract(this clsThermostat unit) { ThermostatContract ret = new ThermostatContract(); ret.id = (ushort)unit.Number; ret.name = unit.Name; ushort temp, heat, cool, humidity; ushort.TryParse(unit.TempText(), out temp); ushort.TryParse(unit.HeatSetpointText(), out heat); ushort.TryParse(unit.CoolSetpointText(), out cool); ushort.TryParse(unit.HumidityText(), out humidity); ret.temp = temp; ret.humidity = humidity; ret.heatsetpoint = heat; ret.coolsetpoint = cool; ret.mode = unit.Mode; ret.fanmode = unit.FanMode; ret.hold = unit.HoldStatus; string status = unit.HorC_StatusText(); if (status.Contains("COOLING")) { ret.status = "COOLING"; } else if (status.Contains("HEATING")) { ret.status = "HEATING"; } else { ret.status = "OFF"; } return(ret); }