-
Notifications
You must be signed in to change notification settings - Fork 34
MQTT integration
MQTT is a standardised protocol for message exchange between systems using a publisher / subscriber model with a central broker. Most systems for home automation support MQTT and this makes it a great way to get sensor data and perform fan control.
To control the unit via MQTT, the following key & values can be used in the JSON payload of the itho/cmd topic.
Key | Value | Description |
---|---|---|
username | max 20 chars long | Username as configured under "System settings" add-on menu |
password | max 20 chars long | Password as configured under "System settings" add-on menu |
speed | 0-254 | Speed range |
timer | 0-65535 | only effective with "command" or "speed" key/param present, could overrule timer value of timer1, timer2, timer3. Highest speed setting on the queue will be active for the duration of the timer. |
vremote | low, medium, high, timer1, timer2, timer3, join, leave | Comments to follow |
clearqueue | true | Clear all timers on the queue, scheduled to run after all other commands have been processed. Speed will fallback to last value before items got enqueued |
command | low, medium, high, timer1, timer2, timer3, clearqueue | Resulting speed/timer settings are configurable. Value without timer sets the base/fallback speed of the fan. Timers will be queued on highest speed setting first for the duration of the timer. |
To control the unit via MQTT, the following key & values can be used in the JSON payload.
Key | Value | Description |
---|---|---|
vremote | low, medium, high, timer1, timer2, timer3, join, leave | Comments to follow |
clearqueue | true | Clear all timers on the queue, scheduled to run after all other commands have been processed. Speed will fallback to last value before items got enqueued |
command | low, medium, high, timer1, timer2, timer3, clearqueue | Resulting speed/timer settings are configurable. Value without timer sets the base/fallback speed of the fan. Timers will be queued on highest speed setting first for the duration of the timer. |
This topic is used to send commands to the add-on. A common use case is to have this integrated with home automation software like Home Assistant or Domoticz. The relevant commands vary between the non-CVE and CVE unit, see the above table for relevant options.
Example to set speed to high:
{
"command":"high"
}
Example to set speed for the CVE units to 150 for 15 minutes:
{
"speed":"150",
"timer":"15"
}
Each remote shows up with the name as a key field and the value is a dictionary of attributes with e.g. CO2 and lastcmd.
Example:
{
"livingroom":{
"lastcmd":0,"co2":671
},
"bedroom":{
"lastcmd":0,"co2":482
}
}
This shows the last issued command and its source.
{
"source":"web interface",
"command":"speed:120",
"timestamp":1634333790
}
This topic returns a dictionary object with key and value pair for each entries shown on the Itho status page.
Example:
{
"temp": 0,
"hum": 0,
"ppmw": 0,
"ReqFanspeed": 6552.6,
"Balance": 0,
"supply_fan_requested": 2205,
"supply_fan_actual": 2219,
"exhaust_fan_requested": 1472,
"exhaust_fan_actual": 1474,
"supplyTemp": 17.39,
"exhaustTemp": 14.05,
"status": 0,
"RoomTemp": 17.39,
"OutdoorTemp": 14.05,
"Valve_position": 0,
"Bypass_position": 0,
"Summercounter": 0,
"Summerday": 0,
"FrostTimer": 0,
"BoilTimer": 177,
"StartCounter": 120,
"CurPosition": 0,
"VKKswitch": 0,
"GroundHeatExchangerSwitch": 0,
"AirCounter": 2552,
"Global_fault_code": 0,
"Actual_Mode": 2,
"pir_fan_speed_level": 65535,
"Highest_received_CO2_value": 704,
"Highest_received_RH_value": 239,
"Air_Quality": 100,
"Remaining_override_timer": 0,
"Fallback_speed_timer": 1714,
"Exhaust_Constant_Ca0": 2
}