dresden-elektronik / deconz-rest-plugin

deCONZ REST-API plugin to control ZigBee devices
BSD 3-Clause "New" or "Revised" License
1.9k stars 498 forks source link

[Device Support Request] Eurotronic Spirit ZigBee #1098

Closed micha91 closed 3 years ago

micha91 commented 5 years ago

Hi,

I just bought this thermostat device (on a random guess) to move away from other wireless protocols. I would love to see support for it in deCONZ. At the moment there is nearly no documentation for this device, but at least some clusters are recognised and it is possible to set the desired temperature using the attribute in the cluster. Node Info image Basic Cluster: image Power Configuration: image Thermostat: image

Thank you very much in advance

Michael

rkotulan commented 5 years ago

Try to connect to deConnz via VNC. Than I was able to connect.

Tobi0892 commented 5 years ago

Ty, now I am one step further. I am connected to deCONZ via VPN. However, I am running Hass.io and Home Assistant 0.98.5. If I choose Permit Join it sais please use the WebApp for joining. However, if I click on open WebApp nothing happens. How can I open the WebApp? I just now how to connect to the Phoscon App and not to the WebApp.

Update: Found the old WebApp, but still the device gets not detected.

Is there something that I miss as I am not used to the new GUI(s) aside of Phoscon?

rkotulan commented 5 years ago

I have same setup. You have to enable connection i plugin config. Then use VNC client to connect. Then you will see your devices.

rkotulan commented 5 years ago

image

rkotulan commented 5 years ago

an you will see image

Tobi0892 commented 5 years ago

image

Thank you very much!!! I got it in deDONZ and did the discovery in the control menu as discribed in the user manual. Are there any further steps to expose it to home assistant?

rkotulan commented 5 years ago

If you succeed you should see image in HA in integration = deCONZ

rkotulan commented 5 years ago

if you don see you can try this...not sure about exact steps,...

click on thermostat entity, then Cluster info (left down corner) you need to have two dots in the box. image could select Device enabled and try click read. After few tried I see second dots and thermostat apeard i n HA.

rkotulan commented 5 years ago

Or you can try repair thermostat.

Tobi0892 commented 5 years ago

image

I repaired it a few times and now I have two dots. I read all the entities. If I change the temperature on the device, I can also read the updated value. Nevertheless, the entity device enabled returns unsupported attribute and is now grey. I also can not change its name

BTW all basic device settings seem to be unsupported: image

Tobi0892 commented 5 years ago

I got it working now. Thank you very much for your help @rkotulan.

The essence is that it took ca. 7 tries of removing and re-joining until the TRV was recognized as "Thermostat 22" instead of the hex name. I do not know why but suddenly immediately after the last joining it got directly recognized in HA.

I will integrate the other two the next days and report in case I make some deviating observations.

airens commented 5 years ago

Finally a could figure out the working way to pair this device properly (so it's exposed to REST API and shows up in Home Assistant). Here are the steps: 1) Place the device right next to ConBee stick 2) Reset the device (hold all 3 buttons for 10 seconds than release till it's rebooted and shows "Jin" on its screen) 3) Open Phoscon app and start searching for new Sensors 4) Connect to Deconz via VNC and look for new device. It's green dot should be solid green 5) Wait till dot start flashing from time to time 6) Open Basic cluster Info and click read 7) After that, the name of device should change from hex number to Model Identifier and pairing process at Phoscon app should finish successfully.

After that, I placed thermostat on radiator and pressed Boost button two times to start calibration. Now, everything is working properly. P.S> I think, that the problem here is with Deconz software. It should read the Basic cluster, when solid dot on node start flashing automatically, but it doesn't, so user have to do it manually to finish pairing process.

mj1985 commented 5 years ago

Thanks @airens ! The instruction was very helpful. The thermostat finally appeared in HA

bluespuke commented 5 years ago

I also can confirm that @airens method works! (RaspBee Bridge on a stand alone Raspberry Pi, connected to hass.io)

Thanks!

hna1066 commented 4 years ago

After a few annoying hours, I managed to connect the Eurotronic spirit with deCONZ. I can read and overwrite values in the cluster info, but the Eurotronic spirit does not appear in the Phoscon app. I tried to connect via a node to the thermostat and installed node-red-contrib-deconz in Node Red. With the deCONZ in-node, I can call the Eurotronic spirit and see the ON status, the opening ratio of the valve and the reading of the internal temperature sensor. What I do not see is the current temperature setpoint, an I have no options to change the setpoint. Any idea how this could work? I think may the deConz out-node, but how?

donchrizz commented 4 years ago

I can confirm @airens steps. Reading the basic cluster was an important point.

@dresden-elektronik: that would be great, if the component could be read out automatically, like any other.

Error in Phoscon App: it was recognized and works in HA, but still does not appear in the Phoscon App under "Sensors"...

PS: I had a strange behaviour in home assistant after setting a new target-temperature, the instruction was given correct to the thermostat, but then the the temperature at the web-gui in home assistant jumped back to the old value while the thermostat worked right.. after some waiting the error seemed to vanish on its own.. right on the pile of unreproducable stuff and thanks for the fun with debug mode @homeassistant 👯‍♂

merdok commented 4 years ago

Can the Eurotronic Spirit ZigBee at this point be paired just by using the Phoscon app? I plan to get one of these but my deconz is running in headless mode and i have no access to the UI (running on Raspbian headless).

rkotulan commented 4 years ago

You can connect to Conbee with VNC.

merdok commented 4 years ago

How would i do that?

I thought that the Phoscon app is what should be used to pair devices... Why this still cannot be done with the Eurotronic Spirit ZigBee?

donchrizz commented 4 years ago

How would i do that?

I think connecting directly to conbee was a misunderstanding, at least i don't know how that could be possible. But you cann connect to the deconz-gui via raspi vnc:

Good Instructions for VNC on Raspi https://www.elektronik-kompendium.de/sites/raspberry-pi/2011121.htm

Autostart VNC Server sudo x11vnc -storepasswd /etc/x11vnc.pass sudo nano /lib/systemd/system/x11vnc.service

[Unit] Description=Start X11VNC After=multi-user.target

[Service] Type=simple ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared

[Install] WantedBy=multi-user.target

sudo systemctl enable x11vnc.service

Then you can connect with Tools like "Chicken of the VNC"

To run deconz-gui on autostart there should be enough info, if you google. Just be a bit patient when the gui starts automatically because at first you will see the screen where you can select a decive (like conbee) and just have to wait some seconds for auto-connect to mesh-screen

merdok commented 4 years ago

I'm running Raspbian Buster Lite which has completely no desktop and this did not work for me...

Anyway, so why the thermostat cannot be paired with Phoscon? Will this ever be supported?

cinemarene commented 4 years ago

Is dresden elektronik also developing the openhab2 binding? I ask because the home assistant component contains the type "Climate" but the Openhab2 binding does not.

realwax commented 4 years ago

@merdok @donchrizz There is another way of remote handling if vnc does not work or you want so save memory and just want to use the gui as debug option. Forward X11 to your desktop.

e.g. with Windows 1) Install Cygwin & and exclude in Windows firewall / turn off firewall 2) Open Cygwin64 terminal 3) execute: startx -- -listen tcp & 4) execute: xhost + [ip_of_your_deconz_conbee_runnig_host] 5) edit /lib/systemd/system/deconz-gui.service 6) Modify line - Environment="DISPLAY=[ip_of_your_deconz_conbee_runnig_host]:0" 7) execute: systemctl stop deconz 8) execute: systemctl start deconz-gui

When finished just stop the gui and start deconz without gui. When repeating that you need to xhost on cygwin again to allow the session. Error might occur with windows firewall - you might want to turn it off for the time given. After deconz update you might need to redo 5 & 6. That way I do not need x11vnc running.

Good luck!

PS: I am looking forward to that day where Eurotronic can be added and operated like any other Ikea bulb/switch too. ;)

Sk4zz commented 4 years ago

PS: I am looking forward to that day where Eurotronic can be added and operated like any other Ikea bulb/switch too. ;)

I support this wish wholeheartedly!

In the meantime, can anyone point me to some information how the Spirit Thermostat is exposed to homeassistant? Especially, I would like to know if there are any preset_modes defined that could be set by the climate.set_preset_mode service. Furthermore, is it possible to trigger the boost mode from homeassistant?

Best regards

realwax commented 4 years ago

How to add it was covered above with GUI and how to join and read the cluster. This way the joining process should finish and REST API expose the values. As it was not working very well I added it to a zigbee (CC2530) adapter and I am using iobroker and I can't help you there. These are the states you should get. image

If you manage to add it this helps you further in terms of setting states on the display or modes. Window on/off, etc. Just add the values convert it from HEX to DEC and set spz_system_mode accordingly. image

cinemarene commented 4 years ago

I haven't found anything on the net and I also know that development is going on here, but I don't know where else to ask. Do yours also make the decalcification trip (Entkalkungsfahrt) every Monday around 6 o'clock?

donchrizz commented 4 years ago

I believe "Entkalkungsfahrt" is not what you wanted to say :) maybe you can explain?

cinemarene commented 4 years ago

Every Monday at 6 a.m. each of my 5 thermostats opens and closes valves once. Very annoying when you are asleep. They do that too, even if you reset them and they are not connected to any bridge. Encalculation mode or something.

rweise commented 4 years ago

He means what he say. It is not real for lime, it is more to do something against fixed valves. before i start with eurotronic, i use homematic thermostats and they do this once a week to avoid fixed valves. And , i do not know, if i prefer to go back to homematic, because i have a lot of trouble with the eurotronic thermostats. they lose the connections and then you have your personal sauna. I write a message to eurotronics and ask, if it is possible to shut the valves on error and there is no answer. 100% open is very bad ...

airens commented 4 years ago

He means what he say. It is not real for lime, it is more to do something against fixed valves. before i start with eurotronic, i use homematic thermostats and they do this once a week to avoid fixed valves. And , i do not know, if i prefer to go back to homematic, because i have a lot of trouble with the eurotronic thermostats. they lose the connections and then you have your personal sauna. I write a message to eurotronics and ask, if it is possible to shut the valves on error and there is no answer. 100% open is very bad ...

Mine never lost connection for half a year now. I know it for sure, because I’ve just checked Home assistant logs. I think, you need to improve signal quality by adding routers to your ZigBee net or try to find better position for Conbee.

merdok commented 4 years ago

@realwax thanks! I have used MobaXterm and got it the gui working. Now my thermostat is paired and works well!

@manup it would be good if the pairing could be done straight from the Phoscon app. It is pretty inconvenient right now. Is this planned? Also a thermostat sensor type in the Phoscon app would really great!

rsaffi commented 4 years ago

Is anyone getting battery level information from the Thermostat on Home-Assistant? I don't see the associated battery sensor for the thermostat, and I'd like to monitor it. I can see battery indication via VNC when I enable "Read Power Descriptor" for the Thermostat; then I can see the battery icon, but even then on "Cluster Info" I see some inconsistent info:

image

On "Node Info" I get the correct reading:

image

rsaffi commented 4 years ago

The correct Battery info was loaded on "Cluster Info" after I clicked on the "READ" button:

image

It's also readable from Home-Assistant now:

image

donchrizz commented 4 years ago

@rsaffi :For me, the battery is not showing up in home assistant, no matter what i read.

Sk4zz commented 4 years ago

I too have the battery levels showing up in homeassistant. I'm quite sure I did nothing beyond the pairing procedure mentioned above.

One bug in the homeassistant implementation I experienced though are the min/max values for the thermostat. While the manual specifies a range of 5-30C, homeassistant has 7-35C and setting the target temperature beyond 30 results in an error. I am not sure, if this is a problem with homeassistant or in deconz.

rsaffi commented 4 years ago

One bug in the homeassistant implementation I experienced though are the min/max values for the thermostat. While the manual specifies a range of 5-30C, homeassistant has 7-35C and setting the target temperature beyond 30 results in an error. I am not sure, if this is a problem with homeassistant or in deconz.

I noticed this as well, but forgot to report back. This is true: range on the device itself differs from Home-Assistant.

wuast94 commented 4 years ago

I can't vnc on my deconz. it runs in a headless docker container on my server. is there a way to get it full paired ? I paired it but it don't show up anywhere :/

rsaffi commented 4 years ago

As many here, mine also doesn't show up on the deCONZ web application under "Sensors", but it paired succesfully and it's seen from inside Home-Assistant. How do you know you've paired it if it doesn't show up anywhere?

Regarding VNC, you should be able to do it despite the headless docker container. Mine is also installed on a headless container running on a headless VM and I can VNC into it just fine.

mj1985 commented 4 years ago

@rsaffi After searching for the sensor in deconz, the green bar with "successful added" showed up

rsaffi commented 4 years ago

@rsaffi After searching for the sensor in deconz, the green bar with "successful added" showed up

Been there, done that. As the integration is as of now at least, your next step would be to connect to VNC, click on the Thermostat device, and click on "Read" for the "Basic" cluster info. Then your device on deCONZ will switch from showing the hexadecimal code to it's proper name and you'll be able to see it from Home-Assistant.

mj1985 commented 4 years ago

@rsaffi I know, mine is working perfectly ... I was answering your question:

How do you know you've paired it if it doesn't show up anywhere?

nu1mlock commented 4 years ago

Been there, done that. As the integration is as of now at least, your next step would be to connect to VNC, click on the Thermostat device, and click on "Read" for the "Basic" cluster info. Then your device on deCONZ will switch from showing the hexadecimal code to it's proper name and you'll be able to see it from Home-Assistant.

Sorry if this is a stupid question, but does this mean that the Eurotronics thermostat will show up in Home Assistant and has working climate controls? I've recently started using HA, and haven't even dabbled in Zigbee2mqtt yet for example.

I've read many threads all over the place where they can't set a temperature. I've also seen all sorts of things but they're fairly old and things can change quickly.

A better question might be: What isn't working if anything? Thanks!

Some context if it matters and anyone is interested: I have water heated floors (I'm sure it's called something else) but my room thermostats doesn't work. So I can only change temperature for all rooms at the same time on a single thermostat in a closet (it's a regular radiator valve, like this Eurotronic one but old and analog). So far I've been guessing what temperature to set it to, since its temperature and the actual temperature in the rooms are very different.

I was hoping to, at least, easily do the same but from Home Assistant, and hopefully without creating scripts from scratch (because I'm still learning a lot). Basically easily be able to set the temperature to, for example, 22c. Perhaps the rooms will only get to 19c, but then I could just set the temperature to 25c and it'd be closer to 22c in the rooms.

Better yet, would of course be to be able to use my Xiaomi temperature sensors that I have, so I could set the temperature to 22c and the Eurotronic thermostat would use the Xiaomi sensors to adjust temperature. But I guess this bit is too much to ask?

Sorry for the long post, and thank you for reading!

realwax commented 4 years ago

@wuast94 Yes, there is. Just scroll up in the thread. I posted how to X11 forward.... Von Samsung-Tablet gesendet -------- Ursprüngliche Nachricht --------Von: wuast94 notifications@github.com Datum: 17.10.19 23:24 (GMT+01:00) An: dresden-elektronik/deconz-rest-plugin deconz-rest-plugin@noreply.github.com Cc: Wolfgang realdjwax@gmail.com, Mention mention@noreply.github.com Betreff: Re: [dresden-elektronik/deconz-rest-plugin] [Device Support Request] Eurotronic Spirit ZigBee (#1098) I can't vnc on my deconz. it runs in a headless docker container on my server. is there a way to get it full paired ? I paired it but it don't show up anywhere :/

—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe. [ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1098?email_source=notifications\u0026email_token=ADR3WLQL3G3DUVLCW3AVXBDQPDJ2VA5CNFSM4GOP7622YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBRSJNI#issuecomment-543368373", "url": "https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1098?email_source=notifications\u0026email_token=ADR3WLQL3G3DUVLCW3AVXBDQPDJ2VA5CNFSM4GOP7622YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBRSJNI#issuecomment-543368373", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

rsaffi commented 4 years ago

Sorry if this is a stupid question, but does this mean that the Eurotronics thermostat will show up in Home Assistant and has working climate controls? I've recently started using HA, and haven't even dabbled in Zigbee2mqtt yet for example.

Yes, exaclty that. It works with Home-Assistant. As the development is right now at least, getting it to show up on Home-Assistant has just a couple of extra steps, but it's definitely working.

I've read many threads all over the place where they can't set a temperature. I've also seen all sorts of things but they're fairly old and things can change quickly.

A better question might be: What isn't working if anything? Thanks!

Nothing that I'm aware of, honestly. I mean, the setup process still can be improved (without the need of the aforementioned extra steps), but other than that, it's all working.

I have water heated floors (I'm sure it's called something else) but my room thermostats doesn't work. So I can only change temperature for all rooms at the same time on a single thermostat in a closet (it's a regular radiator valve, like this Eurotronic one but old and analog). So far I've been guessing what temperature to set it to, since its temperature and the actual temperature in the rooms are very different.

I was hoping to, at least, easily do the same but from Home Assistant, and hopefully without creating scripts from scratch (because I'm still learning a lot). Basically easily be able to set the temperature to, for example, 22c. Perhaps the rooms will only get to 19c, but then I could just set the temperature to 25c and it'd be closer to 22c in the rooms.

Then go ahead and get one, because this is doable.

Better yet, would of course be to be able to use my Xiaomi temperature sensors that I have, so I could set the temperature to 22c and the Eurotronic thermostat would use the Xiaomi sensors to adjust temperature. But I guess this bit is too much to ask?

Can also be done, but for this you'll need to get your hands a bit dirty and writing the proper "Automation" for Home-Assistant, but it's definitely nothing out of this world.

Sk4zz commented 4 years ago

I got curious about the possibility of using an external sensor for determining the current temperature...

In the Thermostat cluster I found the writable attribute Remote Sensing with the possibility to set "Local temperature sensed remotely", "Outdoor temperature sensed remotely" and "Occupancy sensed remotely" but no way to specify the external sensors.

A somewhat related question is whether it is possible to configure the "window open sensing" and configure an external window sensor as mentioned in the manual on p13 ("Die Fenster-Offen Erkennung kann durch einen externen Fensterkontakt aktiviert/deaktiviert werden")

Edit: Nevermind. I just realized that this was discussed earlier without success.

donchrizz commented 4 years ago

Hey guys,

i found out, that my spirit thermostats show a strange behaviour, when over some hours there is no change in temp in the room or no change-input from home assistant. Result: It will disconnect itself and no longer be in the zigbee netwerk. Solution: I press the middle button (o) of the thermostat and it is directly back in... feels like some kind of a sleep mode... anyone got any suggestions? At the moment I'm thinking about to drop the spirit thermostats and go to homematic without deconz...

cheers, chris

Sk4zz commented 4 years ago

I have had a similar experience. First time it happened I thought I made some mistake during the initial pairing process, so I reset the thermostats and repaired them. I had no problems for a week or so but yesterday one thermostat didn't react to temperature settings from homeassistant anymore. I changed the temperature manually once and now it's reacting fine again. Sounds like the same issue that you experienced. I thought it was just a random glitch but I'll see if there is a pattern, should it happen again.

SkaveRat commented 4 years ago

is there a way to add the device via deconz, when you're using the deconz systemd setup?

When I VNC into my headless raspberry, I can stop the service and use the VNC session to see the device (I think. there's not that much info do actually identify it, tbh). But when closing deconz and starting the systemd service again, the device doesn't show up.

Sk4zz commented 4 years ago

Have you followed the steps in https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1098#issuecomment-460403451?

The following process worked for me on a headless raspbian setup:

I don't remember if it was really necessary to backup and load the phoscon config but a backup probably doesn't hurt either.

dudethemfkdude commented 4 years ago

I asked this in a different thread: I still don't habe a clue how to get other than the useless values in ioBroker for this thing. For example "heatsetpoint" appears in the log for the deconz adapter in ioBroker, but i can not read the value. I tried it with node Red. Can anyone give me a hint? Many thanks.