OK, received my ELV Max! set two days ago (two radiator thermostats "type A", two wall thermostats, one Cube), and followed the "Wiki" on page 2 of this thread. Bummer, it didn't work! I could see in the log that it found my Cube and the data was received correctly, but it didn't result in the creation of devices in Domoticz.
After a lot of debugging with my limited programming skills, I found out that the problem was in the Domoticz.js script. The line
Code: Select all
if(device.getDeviceType() == 'WallMountedThermostat') {
(and the two similar if statements later in the script) were never true, so the code below it was never executed. This is because, apparently, device.getDeviceType()
is not a string. So what I simply did was change these lines into
Code: Select all
if(toString(device.getDeviceType()) == 'WallMountedThermostat') {
And it worked!
I followed the exact guideline, with one difference: I installed Java (openjdk) version 8 instead of version 7. Could this have caused the different behaviour?
Maybe others who have problems getting things to work are helped by this fix as well!
P.S. At first I also didn't get the last part working: starting the script in the background at startup. It didn't understand the "&& screen" part. I slightly changed the headless.sh script in ~/maxbuddy into:
Code: Select all
#!/bin/bash
cd /home/pi/maxbuddy
java -cp "launcher.jar:./lib/*" org.fenwulf.maxbuddy.launcher.Launcher -headless
and then I changed the line in crontab into
Code: Select all
@reboot sh /home/pi/maxbuddy/headless.sh > /dev/null 2>&1
Now it works like a charm
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