Skip to content
EdwinGH edited this page Mar 16, 2024 · 11 revisions

MQTT usage

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.

MQTT control parameters

Integration specifics

The examples given below apply to the standard MQTT usage. If you are using Domoticz, continue here.

CVE-unit

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.

non-CVE-unit

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.

MQTT topics and messages

itho/cmd (Change device settings)

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
}

Reading data from the add-on

itho/remotesinfo (Read remotes info)

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
   }
}

itho/lastcmd (Read last command)

This shows the last issued command and its source.

{
"source":"web interface",
"command":"speed:120",
"timestamp":1634333790
}

itho/ithostatus (Read Itho status)

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
}