Skip to content

WillemD61/XTEND-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 

Repository files navigation

XTEND-plugin

This is a Domoticz plugin for collection of data from an Intergas Xtend heatpump unit.

Once installed and activated, the plugin will create more than 50 Domoticz devices and then collect data from the Xtend indoor unit and store the data on the Domoticz devices. The Domoticz devices can be seen via the Domoticz GUI and used for further processing into a Domoticz or Dashticz dashboard. A config file for an optional Dashticz dashboard is also created, see below for instructions.

This plugin does NOT communicate data back to the Xtend. It does NOT allow any control of the heatpump. It only collects information. For anyone wanting to control for example the thermostat setpoint, the Intergas InComfort LAN2RF Gateway hardware plugin is recommended (provided you have the Intergas Gateway installed of course) or any other Opentherm communication device.

WIFI connection

The plugin uses the WIFI connection of the Xtend indoor unit. The WIFI connection needs to be activated by pressing the button on the Xtend indoor unit after which the LED will start flashing purple. The Domoticz server needs to be connected to the WIFI connection of the Xtend (see user manual). I use a Raspberry Pi as Domoticz server, which is connected with a LAN/Ethernet cable to my central home router so the WIFI connection of the Raspberry Pi is then available for the connection to the Xtend.

The WIFI connection of the Xtend needs to be kept active, otherwise it will close automatically after 30 minutes. Normally the plugin will keep the connection active but as an additional assurance, just in case Domoticz or the plugin crashes, it is recommended to install an additional data query in the system crontab, using the following line:
*/5 * * * * curl 10.20.30.1/api/stats/values?fields=6573
This will request the ambient temperature every 5 minutes and therefore keep the connection open even if Domoticz fails. For even more assurance this query could be done from a separate server, i.e. different hardware from the Domoticz server.

On startup of the plugin you can configure whether you want to receive an email notification if the Xtend communication fails. (The domoticz email system needs to be configured in the settings if you use this option).

Sensor data

This plugin is based on the excellent work done by Dennis Schoutsen (https://github.com/DSchoutsen/HA_connection_Xtend) and Thomas van Tilburg (https://github.com/thomasvt1/xtend-bridge) for integration of the Xtend with Home Assistant. I have used their info about sensor codes and their dashboard code to determine which sensor info to collect. As result, using the Domoticz devices you get more or less the same data as availabe from the Xtend directly (when you connect your PC directly to the Xtend, open a webbrowser and look at the summary or statistics pages). The key of the sensor is stored in the description field of the Domoticz device for easy reference.

Later I used Wireshark to find the codes that the XTEND screens request via HTTP GET from the XTEND unit and I have matched most of them (work ongoing..) to the XTEND screens. This is shown in the documentation folder. I also noted that the screens request a number of fields that are not shown (for example about cooling). This can be found in the excel spreadsheet in the documentation for future further development. Codes in the plugin were further aligned with the outcome of this analysis from version 1.05 onwards. See release notes.

Note that not all sensors might give useful information in your particular case. For example in my own case my older Intergas boiler does not provide the supply and return temperature. I still have included these sensors in the data collection to keep the plugin general purpose. You can deactivate such sensors in Domoticz if desired. Also I could not identify the correct keys for some sensors from the Xtend interface, for example the crank and pan heater info, so those have been left out (for now).

I started data collection myself on 25-06-2025. Future versions of the plugin might use different or more sensors and Domoticz devices, depending on experience gained and feedback received.

On startup of the plugin you can configure whether you want the domoticz log to show the Xtend data as received, before any further processing.

Domoticz code

The plugin uses the newer DomoticzEx extended plugin framework. It contains one workaround for a Domoticz bug related to kWh devices, as also shown in the Python code. Also, for energy usage (in kWh) it uses the power info (in Watts) from the Xtend and lets Domoticz calculate the energy in kWh. Personally, I also use a Homewizard WIFI kWh device for power and energy measurement. This is separate from the plugin.

Prerequisite for installation

  1. Make sure Python is installed on your system with the json and requests libraries.
  2. Make sure to backup your system before installing. The plugin works in my environment, but is provided as-is without any warranty.
  3. Configure the Domoticz email system in the settings first, if you want to receive notifications on data communication of this plugin.

Installation instructions

  1. Login to the Domoticz server and obtain a command line.
  2. Change to the plugin directory with "cd domoticz/plugins".
  3. Create a new plugin directory with "mkdir XTEND-plugin".
  4. Change to the new directory with "cd XTEND-plugin".
  5. Copy the file plugin.py from this Github repository into the XTEND-plugin directory.
  6. Restart Domoticz with "sudo service domoticz restart".
  7. Once restarted, select the Intergas Xtend plugin via the Domoticz Setup-Hardware menu, give it a name, select a polling interval and confirm.
  8. It will now create the new devices and after the first polling interval, it will start collecting the data.
  9. Check the Domoticz log file for any issues and progress.

Step 3 to 5 above can be replaced with "git clone https://github.com/WillemD61/XTEND-plugin" if git is installed on your server.

Dashticz dashboard installation

On startup, the plugin will create a template config file for a Dashticz screen showing all 52 datapoints. The use of this Dashticz dashboard is optional. If you only use Domoticz and not Dashticz then you can skip below installation instructions.

Installation instructions:

  1. Make sure you have Dashticz installed
  2. Login and go to the domoticz folder with "cd domoticz"
  3. Edit the file, for example with "sudo nano DASHTICZCONFIG.js"
  4. Change line 3 so it shows the Domoticz IP and Port number of your Domoticz installation, then save the file.
    5a) If you do not have other Dashticz screens just copy the file over with "sudo cp DASHTICZCONFIG.js ../dashticz/custom/CONFIG.js"
    or
    5b) If you have existing Dashticz screens then insert the block, column and screen definitions into your existing CONFIG.js file and change the screen number to match your installation.

Release Notes

1.0.0 initial release
1.0.1
* code 65c1 was used twice, both for unit 9 and 15, evaporator temp and coil temp. As result value updates were on unit 15, coil temp. Unit 9 did not exist. In version 1.0.1 unit 9 now shows the software version of the Xtend
* error handling (try/except) was added for a closed Xtend WIFI connection. Error messages are shown in the logfile.
* the code for the dashticz dashboard was added
* Boiler status value now shows text instead of number, for some known values.
1.0.2
* added shorter polling intervals
* replaced 8e38 by 7ee6 because 8e38 was no longer available after update to firmware v0.86. Note the description on the existing device needs to be adapted manually.
1.0.3
* adapted for Domoticz maximum heartbeat interval of 30 seconds. Skipping heartbeats if polling interval longer than 30 seconds.
1.0.4
* added explicit conversion to integer when assigning nValue (without it raised an error in Domoticz 2025.2)
1.0.5
* data validation on invalid responses added.
* sensor codes aligned with Xtend screen codes:
# 5077=energy generated replaced by 503e=heatpump energy generated
# 7e81 instead of 623c for CH return temperature
# 62d1 instead of 6573 for outside temperature
# 7ed3 instead of 844c for water pressure
# 7e31 instead of 8e8f for boiler setpoint temperature
!!! note that code references in description field off existing devices need to be adapted manually !!!
* renamed devices
# "Burner status" renamed to "Heat demand boiler"
# "Heatdemand status" renamed to "Heat demand HP"
* additional sensors added
# 5088 Boiler energy generated
* b2bc Boiler Flame
* f9f2 Status flags
1.0.6
* b2bc removed again
* f9f2 moved to entry 46 to replace 7e7a, 7e7a never changed
* "boiler state" value descriptions updated
* status devices aligned with XTEND screen
# entry 47 "heat demand hp" renamed to "device status"
# entry 48 "operation mode" renamed "redundant ?" and removed
# entry 49 "working mode" renamed to "operating mode"
# entry 50 "heatpump mode" renamed to "heat demand hp"
!!! note that existing device names need to be adapted manually !!!
1.0.7
* added the option for receiving email alerts, configuration in the startup screen
* added the option for data logging, configuration in the startup screen
1.0.8
* email when communication has been restored
* device for notification code added
* email when notification raised

About

Domoticz plugin for Intergas Xtend data collection

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages