-
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.
The examples given below apply to the standard MQTT usage. If you are using Domoticz, continue here.
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 | Sends the command to the device |
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 |
outside_temp | temperature in degrees | WPU only. Sets outside temperature when no sensor is present. Refer to the WPU page for more information. |
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:
{
"vremote":"high"
}
Example to set speed to high using an rf remote:
{
"rfremotecmd":"high"
}
Example to set speed for the CVE units to 150 for 15 minutes:
{
"speed":150,
"timer":15
}
Set the WPU outside temp to 4.75 degrees:
{
"outside_temp": 4.75
}
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
}