All Projects → dkjonas → Wavin Ahc 9000 Mqtt

dkjonas / Wavin Ahc 9000 Mqtt

Licence: mit
Esp8266 mqtt interface for Wavin AHC-9000/Jablotron AC-116

Projects that are alternatives of or similar to Wavin Ahc 9000 Mqtt

Temper Esp8266
Temper is a compact temperature sensor based on ESP8266 and SHT30 with large 13x7 pixel led display.
Stars: ✭ 155 (+229.79%)
Mutual labels:  home-assistant, home-automation, mqtt, esp8266
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+9100%)
Mutual labels:  home-assistant, home-automation, mqtt, esp8266
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+5034.04%)
Mutual labels:  home-assistant, home-automation, mqtt, esp8266
Itead sonoff
Alternative firmware for Itead Sonoff switches, based on the MQTT protocol and a TLS connection
Stars: ✭ 115 (+144.68%)
Mutual labels:  home-assistant, home-automation, mqtt, esp8266
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (+1644.68%)
Mutual labels:  home-assistant, home-automation, mqtt, esp8266
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+7319.15%)
Mutual labels:  home-assistant, home-automation, mqtt
Heatpump
Arduino library to control Mitsubishi Heat Pumps via connector cn105
Stars: ✭ 327 (+595.74%)
Mutual labels:  home-assistant, mqtt, esp8266
Sonoff Homeassistant
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant
Stars: ✭ 354 (+653.19%)
Mutual labels:  home-automation, mqtt, esp8266
Smarthome
SmartHome: firmware per ESP8266 - Casa domotica
Stars: ✭ 28 (-40.43%)
Mutual labels:  home-assistant, mqtt, esp8266
hassio
ESPHome Hass.io addon files
Stars: ✭ 175 (+272.34%)
Mutual labels:  home-automation, esp8266, home-assistant
Zigbee2mqttassistant
GUI for Zigbee2Mqtt running in docker and HASS.IO
Stars: ✭ 371 (+689.36%)
Mutual labels:  home-assistant, home-automation, mqtt
Hass Yaap
Yet another alarm (control) panel for Home Assistant.
Stars: ✭ 44 (-6.38%)
Mutual labels:  home-automation, mqtt, esp8266
Kmansonoff
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant / mqtt
Stars: ✭ 282 (+500%)
Mutual labels:  home-assistant, home-automation, mqtt
Harmony Api
🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT
Stars: ✭ 345 (+634.04%)
Mutual labels:  home-assistant, home-automation, mqtt
home
Monorepo for all home automation related development, including integrated firmware, PCBs, configuration, and bridges
Stars: ✭ 104 (+121.28%)
Mutual labels:  home-automation, esp8266, home-assistant
Homeassistant
Home Assistant Configuration Files and Documentation
Stars: ✭ 395 (+740.43%)
Mutual labels:  home-assistant, home-automation, mqtt
Esp Mqtt Json Digital Leds
(OBSOLETE) ESP8266 MQTT JSON Digital LEDs for Home Assistant
Stars: ✭ 503 (+970.21%)
Mutual labels:  home-assistant, mqtt, esp8266
Smarthome
@skalavala 👍 Nothing But Smarthome Stuff! - By Mahasri Kalavala
Stars: ✭ 437 (+829.79%)
Mutual labels:  home-assistant, home-automation, mqtt
Open Home
Projeto de automação residencial usando softwares e hardwares open source.
Stars: ✭ 41 (-12.77%)
Mutual labels:  home-assistant, home-automation, mqtt
amshan-homeassistant
Home Assistant integrasjon for strømmålere (AMS/HAN/P1). Integrasjonen støter både streaming (serieport/TCP-IP) og MQTT (Tibber Pulse, energyintelligence.se etc)
Stars: ✭ 39 (-17.02%)
Mutual labels:  home-automation, mqtt, home-assistant

Wavin-AHC-9000-mqtt

This is a simple Esp8266 mqtt interface for Wavin AHC-9000/Jablotron AC-116, with the goal of being able to control this heating controller from a home automation system.

Hardware

The AHC-9000 uses modbus to communicate over a half duplex RS422 connection. It has two RJ45 connectors for this purpose, which can both be used. The following schematic shows how to connect an Esp8266 to the AHC-9000: Schematic

Components with links to devices on eBay

  • Esp8266. I use a NodeMcu 0.9, mostly because it is very convenient to have the onboard USB interface for programming. Almost anything with an Esp8266 on it will work.
  • 24V to 3v3 switchmode converter. This is only needed if you want to power the Esp8266 from the AHC-9000. A 24V to 5V converter can also be used, if it is connected to the +5V input of the NodeMcu. Please note that not all 3V3 step down converters on eBay supports 24V input
  • MAX3072E for converting the 3V3 serial output from the Esp8266 to RS422. There are many similar IC's from other suppliers, which can also be used. Speed is limited, and cables can be kept short, so this is rather uncritical. Note though, that it should be a 3V3 version. MAX3485 should be compatible, and can be found on eBay.
  • RJ45 connector. This can be omitted by soldering a patch cable directly to the circuit.

Depending on the used Esp8266 board and/or the switchmode converter used, it may be benificial to add a larger capacitor in the range of 100uF between 3V3 and gnd. This will most likely help if you experience WiFi connection/stability issues.

Software

Configuration

src/PrivateConfig.h contains 5 constants, that should be changed to fit your own setup.

WIFI_SSID, WIFI_PASS, MQTT_SERVER, MQTT_USER, and MQTT_PASS.

Compiling

I use PlatformIO for compiling, uploading, and and maintaining dependencies for my code. If you install PlatformIO in a supported editor, building this project is quite simple. Just open the directory containing platformio.ini from this project, and click build/upload. If you use a different board than nodemcu, remember to change the board variable in platformio.ini. You may be able to use the Arduino tools with the esp8266 additions for compiling, but a few changes may be needed, including downloading dependencies manually.

Testing

Assuming you have a working mqtt server setup, you should now be able to control your AHC-9000 using mqtt. If you have the Mosquitto mqtt tools installed on your mqtt server, you can execude:

mosquitto_sub -u username -P password -t heat/# -v

to see all live updated parameters from the controller.

To change the target temperature for a output, use:

mosquitto_pub -u username -P password -t heat/floorXXXXXXXXXXXX/1/target_set -m 20.5

where the number 1 in the above command is the output you want to control and 20.5 is the target temperature in degree celcius. XXXXXXXXXXXX is the MAC address of the Esp8266, so it will be unique for your setup.

Integration with HomeAssistant

If you have a working mqtt setup in HomeAssistant, all you need to do in order to control your heating from HomeAssistant is to enable auto discovery for mqtt in your configuration.yaml.

mqtt:
  discovery: true
  discovery_prefix: homeassistant

You will then get a climate and a battery sensor device for each configured output on the controller.

If you don't like auto discovery, you can add the entries manually. Create an entry for each output you want to control. Replace the number 0 in the topics with the id of the output and XXXXXXXXXXXX with the MAC of the Esp8266 (can be determined with the mosquitto_sub command shown above)

climate wavinAhc9000:
  - platform: mqtt
    name: floor_kitchen
    current_temperature_topic: "heat/floorXXXXXXXXXXXX/0/current"
    temperature_command_topic: "heat/floorXXXXXXXXXXXX/0/target_set"
    temperature_state_topic: "heat/floorXXXXXXXXXXXX/0/target"
    mode_command_topic: "heat/floorXXXXXXXXXXXX/0/mode_set"
    mode_state_topic: "heat/floorXXXXXXXXXXXX/0/mode"
    modes:
      - "heat"
      - "off"
    availability_topic: "heat/floorXXXXXXXXXXXX/online"
    payload_available: "True"
    payload_not_available: "False"
    qos: 0

sensor wavinBattery:
  - platform: mqtt
    state_topic: "heat/floorXXXXXXXXXXXX/0/battery"
    availability_topic: "heat/floorXXXXXXXXXXXX/online"
    payload_available: "True"
    payload_not_available: "False"
    name: floor_kitchen_battery
    unit_of_measurement: "%"
    device_class: battery
    qos: 0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].