q3ok / max-mqtt

MQTT gateway for EQ-3 Max heating control system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

max-mqtt

Project delivers MQTT gateway for EQ-3 Max! heating control system.

Supported Max! components:

  • LAN Gateway
  • wall thermostat
  • radiator thermostat (thermostatic head)
  • window shutter

Output data

Application pushes informations to MQTT broker in following format:

[mqtt_prefix]/[room_name]/[device_name]/[parameter]

Where parameter can be (depends on device type):

Every device

LinkFail -> True/False
BatteryOK -> True/False
Mode -> value depends on device type

Thermostatic head / Radiator thermostat

Mode -> AUTO/BOOST/MANUAL/VACATION
ActualTemperature -> float current temperature
TargetTemperature -> float requested temperature
ValvePosition -> int percent of valve open

Window shutter

Mode -> 0 - closed, 2 - open

Input data

Change request must be published to this topic:

[mqtt_prefix]/[room_name]/[device_name]/[parameter]/set

Where parameter:

- Mode -> can be AUTO/BOOST/MANUAL/VACATION
- TargetTemperature -> float temperature (degree celsius)

Current features:

  • reporting parameters from components:
    • mode
    • target temperature
    • actual temperature (if known)
    • valve position (for thermostats)
    • battery and link status
    • duty cycle and free memory slots for cube
  • setting target temperature
  • setting thermostatic head mode
  • maintaning set temperature (sometimes system behaves strangely, and set temperatures on its own, application can reset it to default values)

Configuration

Whole configuration is located in config.json file.

{
  "mqtt_host": "your.mqtt.broker.host",
  "mqtt_port": 1883,
  "mqtt_prefix": "/data/MaxCube",
  "mqtt_message_timeout": 60,
  "max_cube_ip_adress": "172.22.0.1",
  "max_topology_refresh_interval": 60,
  "max_mqtt_update_intervals": 300,
  "max_cube_duty_cycle_reset_interval": 3600,
  "max_perform_sanity_check" : true
}
config param meaning
mqtt_host MQTT broker host
mqtt_port MQTT broker port
mqtt_prefix prefix for publish and subscribe topic
mqtt_message_timeout timeout for dropping obsolete messages from send queue
max_cube_ip LAN gateway IP address
max_topology_refresh_interval Interval of refreshing data from Max! system
max_mqtt_update_interval Interval of refreshing parameters (even if they not change) in MQTT. In the same time topology of your Max! network is dumped to file topology.json and sanity check is performed.
max_cube_duty_cycle_reset_interval Time after duty_cycle counter is reset (since last operation)
max_perform_sanity_check Enabling sanity check

##References

About

MQTT gateway for EQ-3 Max heating control system


Languages

Language:Python 100.0%