Skip to content

Project for monitoring a Intergas Xtreme central heating system via ESPHome and Home-Assistant.

License

Notifications You must be signed in to change notification settings

peeter123/intergas-monitor-esphome

This branch is 8 commits behind little-chef/intergas-xtreme-monitor:main.

Repository files navigation

Home-Assistant Intergas Central Heating monitor

This project provides the necessary tools and scripts to monitor a Intergas central heating system via the IDS interface.

It connects a ESP8266 or ESP32 NodeMCU board through optocouplers to the burner control board of the Intergas Xtreme. From there detailed statistics are published to Home Assistant for accurate monitoring of the device.

This project has only been tested with a Intergas Xtreme 36 central heater.

Home Assistant

The connection to Home Assistant is done via ESPHome and Wifi.

Physical connection

Prerequisites for the physical connection:

  • Cable required that connect to the X14 connector of the burner control board. The type of connector is a Molex Mini-Fit, Jr. connector housing with female terminals.

    For reference, the connector is:

    This is also the same type of connector you can find on old ATX Power Supplies.

  • As opto coupler we use the 4N25 type.

  • As controller we use:

Schematics design

Schematics of the IDS adapter is designed with KiCad.

Cabling

The intergas heater provides a 5V power supply via the X14 connector, but the datalines require 3,3V.

|||

SW Installation

Here are the installation steps for the software in ESPHome:

  • First install the ESPHome toolset on Home Assistant via the Addon Store.

  • Open an SSH session to your Home-Assistant instance, then

    $ cd config
    $ git clone https://github.com/little-chef/intergas-xtreme-monitor.git intergas-xtreme
    $ cd ../esphome
    $ ln -s ../intergas-xtreme/esphome/IntergasXtremeMonitor.h
    
    # For the NodeMCU-32s board, create this link:
    $ ln -s ../intergas-xtreme/esphome/intergas-xtreme-monitor.yaml intergas-xtreme-monitor.yaml
    

    Next create the config/secrets.yaml file and add the following lines:

    esphome_hassio_api_pw: my-very-secure-api-pw
    esphome_hassio_ota_pw: my-very-secure-ota-pw
    esphome_wifi_network_ssid: my-wifi-access-point
    esphome_wifi_network_password: my-wifi-password
    esphome_wifi_ap_fallback_password: my-fallback-password
    
  • Go to the ESPHome dashboard on Home Assistant, the new device should be visible. From here you can compile the firmware for the NodeMCU, and install it to NodeMCU device.

  • Once the device is running, a new notification will pop up to register the device to your Home Assistant instance. Complete that procedure.

  • After everything is successful, the metrics will become visible on the Home Assistant Dashboard.

External references:

The code and content have been inspired by these public sources:

Why is the ESP8266 NodeMCU not supported

The monitor adds a lot of sensors to the Home-Assistant dashboard. The ESP8266 will run into memory fragmentation issues that impacts its stability. Also, the webserver cannot be enabled and OTA updates go very slow and will result in timeouts on the Wifi connection. Frequently updates need to be done via USB due to all failures. Furthermore, the amount of UARTs are limited in the ESP8266, and some port and pin swapping is required to prevent polluting the data flow towards caused by the bootlogging of the ESP8266. The more powerful ESP32 does not show these kind of issues, and is therefor preferred.

Final Note:

Note that nothing in this project is supported by Intergas, neither is there any guarantee that the provided materials will work in your environment. Be aware that making mistakes in setting up the project may damage your heater or void your warranty. Use of anything provided of this project is at your own risk.

About

Project for monitoring a Intergas Xtreme central heating system via ESPHome and Home-Assistant.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%