Python plugin: ELV/EQ-3 MAX!

For heating/cooling related questions in Domoticz

Moderator: leecollings

Post Reply
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

Update: this plugin is now also incorporated in the Python Plugin Manager

Hi all,

I have created a Python plugin for integrating the ELV/EQ-3 MAX! system into Domoticz. These are pretty affordable radiator valves, wall thermostats, contact switches, etc. which can remotely be controlled if you buy the additional Cube. The Cube's network communication has been reverse engineered, and many home automation solutions now have plugins for the system, except for Domoticz!. That is, until now Image

I made use of a very well written Python API for the MAX Cube: https://github.com/hackercowboy/python-maxcube-api
All that was left was to "just" integrate it into the Python plugin system, which was quite a rough ride because I had no prior Python experience. But here it is!

https://github.com/mvzut/maxcube-Domoticz-plugin

An explanation of the features and the installation instructions are given on the Github page (I removed them from this post, so that I don't have to update everything twice when something changes). Please let me know what you think, if you have issues, or if you would like to see other features!

P.S. There was already a discussion on early beta versions of this plugin here: viewtopic.php?f=34&t=841&p=192702#p192702. But I felt a new plugin probably deserves a topic of its own Image
Last edited by mvzut on Tuesday 13 November 2018 8:30, edited 11 times in total.
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
sakekl
Posts: 13
Joined: Thursday 20 September 2018 14:58
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by sakekl »

By accident, I removed the selector for one of the rooms. How to restore deleted selector or create new?

I will add that I use the latest version and it works very well so far.
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

sakekl wrote:By accident, I removed the selector for one of the rooms. How to restore deleted selector or create new?

I will add that I use the latest version and it works very well so far.
You might want to try the latest latest version (0.4.3), it should now better recreate all devices individually when they are not found.
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
sakekl
Posts: 13
Joined: Thursday 20 September 2018 14:58
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by sakekl »

I have installed version 0.4.2 (The latest available on github) but unfortunately nothing has been created.
That's why I will remove the equipment and add it again. It's a pity, because I've already signed all the buttons and changed visually to myself.
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

sakekl wrote:I have installed version 0.4.2 (The latest available on github) but unfortunately nothing has been created.
That's why I will remove the equipment and add it again. It's a pity, because I've already signed all the buttons and changed visually to myself.
Hmm, very strange. I just checked on my own system and it works as intended there. Are you sure you really deleted it and didn't just set it to "Unused"?
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
sakekl
Posts: 13
Joined: Thursday 20 September 2018 14:58
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by sakekl »

Yes, I removed it. I have empty devices in the unused device tab.

I removed the equipment and then added it again. The effect is that no device is added.

Update:
I had the "accept new devices" option unselected in the settings.
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

sakekl wrote:Update:
I had the "accept new devices" option unselected in the settings.
Haha, I didn't think of that one Image.
Makes me think, I could probably add a check on this: if a device is not actually added despite the .create() command, I could put a message in the log reminding people about this setting.
Last edited by mvzut on Sunday 30 September 2018 13:47, edited 1 time in total.
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

mvzut wrote:...I could probably add a check on this: if a newly added device is not present afterwards, I could put a message in the log reminding people about this setting.
Done Image
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
twimpy
Posts: 14
Joined: Saturday 25 January 2014 14:06
Target OS: Raspberry Pi / ODroid
Domoticz version: V2.3790
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by twimpy »

This is GREAT! I am very pleased with this waiting and hoping someone pickup EQ-3 Max!. Having this stuff for years now and put a lot of time to get it into Domoticz. Just installed it and testing now but first impression is very good.
Thanks to everyone who made this possible.

Cube, 4 valves, 1 room thermostat, 2 window sensors.
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

Glad to hear some of you are already using the plugin.
I have just published a new version (0.5.0) on Github, in which I have made it optional to create valve & temperature sensors.
On a Raspberry Pi, you can download the new files by typing

Code: Select all

git reset --hard
git pull
in the folder where you placed the plugin (e.g. ~/domoticz/plugins/MaxCube/).
.
MaxCube.jpeg
MaxCube.jpeg (147.01 KiB) Viewed 9179 times
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

Again a small update (0.5.2):
If you later decide you don't want certain device types (e.g. valve positions), you can indicate if the plugin should delete these (now obsolete) devices.
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
twimpy
Posts: 14
Joined: Saturday 25 January 2014 14:06
Target OS: Raspberry Pi / ODroid
Domoticz version: V2.3790
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by twimpy »

Thanks, I will update soon until now all works fine. :)
Maybe a good idea to add the plugin to Python plugin manager this will make it more user friendly.
AurelioF
Posts: 33
Joined: Wednesday 03 October 2018 18:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Spain
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by AurelioF »

Good work, work very well, thank you very much ... it is working on raspberry pi, 10 valves, previously try to install it on windows, without success.
I have a doubt, thermostats eq3, have the ability to transmit the temperature permanently, not like the valves that only give the temperature when making adjustments.
Thank you
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

AurelioF wrote: Wednesday 03 October 2018 18:13 Good work, work very well, thank you very much ... it is working on raspberry pi, 10 valves, previously try to install it on windows, without success.
I have a doubt, thermostats eq3, have the ability to transmit the temperature permanently, not like the valves that only give the temperature when making adjustments.
Thank you
Are you saying the plug-in doesn’t work on Windows? Good to know, I’ll check in there’s anything that can be done to solve this.

You are right, unlike valves, wall thermostats report the actual temperature whenever you poll for it. You will notice this in the graphs, they are much smoother (obviously depending somewhat on the poll time configured for the plugin).

By the way, I made a small modification to the plugin code again, preventing that valve-based temperature sensors would record 0 degrees when actually there was just no value available.
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
AurelioF
Posts: 33
Joined: Wednesday 03 October 2018 18:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Spain
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by AurelioF »

hello mvzut
My first intention was to do the installation in Windows, but when I saw the amount of information thrown by the registry when running the system, I thought it would be less work, install a Raspberry Pi as a slave, and it was, it is an advantage, because there is more Add-ons that do not work in Windows or its installation is especially difficult.
I'm testing your modification today. My intention is to dedicate this raspberry pi to the heating system, I still have to add thermometers, thermostats and the actuator of the boiler, and probably also add the air conditioning system, thus leaving the control of the climate of the house in this equipment.
Your plugin solves my work a lot, thank you very much.
AurelioF
Posts: 33
Joined: Wednesday 03 October 2018 18:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Spain
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by AurelioF »

It seems that the operation is correct ... the graph of temperatures no longer have saw teeth .... :D
DarkG
Posts: 89
Joined: Friday 15 September 2017 18:54
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10076
Location: Germany
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by DarkG »

I have Problems with connecting tó the Cube over RPI. The Max Software himswelfs works well over Windows. Gave the Cube a static IP.

In Logs I see Error connecting to Cube.In Hardware I created a Max Device with the working IP. Port is the same as default.
Which options do I have to debug? Debug is also activated in Hardware.

EDIT: All Software from Max must be closed! Now another Error

2018-10-12 21:23:58.906 (Maxcube) Skipping heartbeat: 9
2018-10-12 21:24:28.910 (Maxcube) Reading e-Q3 MAX! devices from Cube...
2018-10-12 21:24:31.585 (Maxcube) Checking device 'Badezimmer Heizung' in room 1
2018-10-12 21:24:31.585 Error: (Maxcube) 'onHeartbeat' failed 'AttributeError':''BasePlugin' object has no attribute 'RoomHasThermostat''.
2018-10-12 21:24:31.585 Error: (Maxcube) ----> Line 303 in '/home/pi/domoticz/plugins/MaxCube/plugin.py', function onHeartbeat
2018-10-12 21:24:31.585 Error: (Maxcube) ----> Line 271 in '/home/pi/domoticz/plugins/MaxCube/plugin.py', function onHeartbeat
2018-10-12 21:25:01.138 (Maxcube) Skipping heartbeat: 1
2018-10-12 21:25:31.114 (Maxcube) Skipping heartbeat: 2
2018-10-12 21:26:01.118 (Maxcube) Skipping heartbeat: 3
RPi4 Shelly1 Shelly2.5 ESPEasy Tuya Domoticz Beta Dashticz 3.6
mvzut
Posts: 443
Joined: Thursday 12 November 2015 10:55
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by mvzut »

Can you restart the plugin (just click "Update" when the plugin is selected under Hardware), and post the relevant part of the log directly after restarting? This is the moment where the "RoomHasThermostat" variable should be defined. Apparently something goes wrong there in your situation, perhaps the log can point us in the right direction.
Raspberry Pi 4 - RFXtrx433 - CC2531 Zigbee - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - 6 x Sonos - 4 x IP cameras - Wall mounted tablet + Dashticz - Google Home integration - MANY switches/sensors
DarkG
Posts: 89
Joined: Friday 15 September 2017 18:54
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10076
Location: Germany
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by DarkG »

I disabled Thermostat modes:

After that it worked. For now I dont get 2 Temperatures, other 3 are right. But I think it could be a connecting Problem between Valve and Cube and has nothing to do with your Plugin.

Code: Select all

2018-10-12 22:40:24.235 Status: (Maxcube) Entering work loop.
2018-10-12 22:40:24.237 Status: (Maxcube) Initialized version 0.5.2, author 'mvzut'
2018-10-12 22:40:26.894 (Maxcube) Number of rooms found: 5 (highest number: 5)
2018-10-12 22:40:36.434 (Maxcube) Reading e-Q3 MAX! devices from Cube...
2018-10-12 22:40:39.094 (Maxcube) Checking device 'Badezimmer-Heizung' in room 1
2018-10-12 22:40:39.095 (Maxcube) Checking device 'Schlafzimmer-Heizung' in room 2
2018-10-12 22:40:39.096 (Maxcube) Checking device 'Küche-Heizung' in room 3
2018-10-12 22:40:39.097 (Maxcube) Checking device 'Werkstatt-Heizung ' in room 4
2018-10-12 22:40:39.098 (Maxcube) Checking device 'Wohnzimmer-Heizung' in room 5
2018-10-12 22:41:08.652 (Maxcube) Skipping heartbeat: 1
2018-10-12 22:41:38.653 (Maxcube) Skipping heartbeat: 2
2018-10-12 22:42:08.656 (Maxcube) Skipping heartbeat: 3
RPi4 Shelly1 Shelly2.5 ESPEasy Tuya Domoticz Beta Dashticz 3.6
DarkG
Posts: 89
Joined: Friday 15 September 2017 18:54
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10076
Location: Germany
Contact:

Re: Python plugin: ELV/EQ-3 MAX!

Post by DarkG »

All the data on the cube is lost. Rooms and Thermostats. How can this?
RPi4 Shelly1 Shelly2.5 ESPEasy Tuya Domoticz Beta Dashticz 3.6
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest