Python plugin: ELV/EQ-3 MAX!

For heating/cooling related questions in Domoticz
Post Reply
mvzut
Posts: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut » Saturday 29 September 2018 17:42

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 9:30, edited 11 times in total.
Raspberry Pi 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - 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 » Sunday 30 September 2018 11:36

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: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

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

Post by mvzut » Sunday 30 September 2018 11:42

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - 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 » Sunday 30 September 2018 12:18

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: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

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

Post by mvzut » Sunday 30 September 2018 12:20

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - 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 » Sunday 30 September 2018 12:25

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: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut » Sunday 30 September 2018 13:47

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - MANY switches/sensors

mvzut
Posts: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

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

Post by mvzut » Sunday 30 September 2018 14:28

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - MANY switches/sensors

twimpy
Posts: 37
Joined: Saturday 25 January 2014 15:06
Target OS: Raspberry Pi
Domoticz version: V2.3790
Contact:

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

Post by twimpy » Monday 01 October 2018 22:23

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: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut » Monday 01 October 2018 23:21

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 1701 times
Raspberry Pi 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - MANY switches/sensors

mvzut
Posts: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

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

Post by mvzut » Tuesday 02 October 2018 21:50

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - MANY switches/sensors

twimpy
Posts: 37
Joined: Saturday 25 January 2014 15:06
Target OS: Raspberry Pi
Domoticz version: V2.3790
Contact:

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

Post by twimpy » Wednesday 03 October 2018 8:16

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: 29
Joined: Wednesday 03 October 2018 18:01
Target OS: Raspberry Pi
Domoticz version:
Location: Spain
Contact:

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

Post by AurelioF » 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

mvzut
Posts: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

Python plugin: ELV/EQ-3 MAX!

Post by mvzut » Wednesday 03 October 2018 22:19

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - MANY switches/sensors

AurelioF
Posts: 29
Joined: Wednesday 03 October 2018 18:01
Target OS: Raspberry Pi
Domoticz version:
Location: Spain
Contact:

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

Post by AurelioF » Thursday 04 October 2018 17:32

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: 29
Joined: Wednesday 03 October 2018 18:01
Target OS: Raspberry Pi
Domoticz version:
Location: Spain
Contact:

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

Post by AurelioF » Thursday 04 October 2018 17:57

It seems that the operation is correct ... the graph of temperatures no longer have saw teeth .... :D

DarkG
Posts: 37
Joined: Friday 15 September 2017 18:54
Target OS: Raspberry Pi
Domoticz version: 4.10076
Location: Germany
Contact:

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

Post by DarkG » Friday 12 October 2018 23:10

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
RPi3b+ Max Cube ESPEasy RMMini

mvzut
Posts: 451
Joined: Thursday 12 November 2015 11:55
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

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

Post by mvzut » Friday 12 October 2018 23:59

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 3 - RFXtrx433 - Aeon Z-Stick gen5 - Opentherm Gateway - P1 smart meter - Netatmo - Philips Hue - ELV Max! - ESP8266 DIY water meter - Xiaomi Gateway - Sonos - IP cameras - Wall mounted tablet + Imperihome - Alexa - MANY switches/sensors

DarkG
Posts: 37
Joined: Friday 15 September 2017 18:54
Target OS: Raspberry Pi
Domoticz version: 4.10076
Location: Germany
Contact:

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

Post by DarkG » Saturday 13 October 2018 0:40

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
RPi3b+ Max Cube ESPEasy RMMini

DarkG
Posts: 37
Joined: Friday 15 September 2017 18:54
Target OS: Raspberry Pi
Domoticz version: 4.10076
Location: Germany
Contact:

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

Post by DarkG » Saturday 13 October 2018 17:56

All the data on the cube is lost. Rooms and Thermostats. How can this?
RPi3b+ Max Cube ESPEasy RMMini

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests