Closed nerdosity closed 4 years ago
https://pastebin.com/QTwHuJPE From zigate.json:
{
"addr": "0813",
"discovery": "",
"endpoints": [
{
"clusters": [
{
"attributes": [
{
"attribute": 5,
"data": "Thermostat",
"name": "type",
"type": "str",
"value": "Thermostat"
}
],
"cluster": 0
}
],
"device": 769,
"endpoint": 3,
"in_clusters": [
0,
1,
3,
10,
32,
513,
516
],
"out_clusters": [
1026
],
"profile": 260
}
],
"generictype": "",
"info": {
"addr": "0813",
"ieee": "70b3d5de00001205",
"last_seen": "2019-01-09 21:09:39",
"mac_capability": "10000000",
"rssi": 12
}
},
Thanks for sharing, I'll see how to support it. What are the capabilities of the device ?
How can I discover the capabilities? I would gladly help. I think that it just have a setpoint, which you can set via zigbee. It will manage to start and stop the valve when the setpoint is reached. Just this, on/off status and temperature reporting I think.
You can have a look at the zigbee shepard device.js here:
https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/devices.js
look for eCozy
I have added some basic support in dev branch https://github.com/doudz/zigate/tree/dev
This is after trying to repair a previously paired valve head. The previously paired valve stay "dead":
I don't see any new device after using this cluster.py
Maybe this can help:
https://github.com/ckpt-martin/Hubitat/blob/master/eCozy/eCozy-ZigBee-Thermostat-Driver.groovy
Ok, I have added automatic reporting, but I'm not sure about the data type used
How can I help with testing / which data can I provide to help?
Have tried with the last release ? if you could, please provide debug log to see what happens at pairing
Hi,
I went back to home and now I have access to eCozy smart thermostat.
We now have 3 sensors, but no input for changing the wanted temperature.
@doudz can you let me know how can I proceed? I will deploy the valves on next days, they seems syncing but I don't understand how to push the new temperature on the device. I think that it should create a separate thermostat for each valve
yes you're right, it should create a thermostat. I've no time this days to work on ZiGate, but that's the way
If you can point me where to do this kind of mod I can fork your project and try to do the modifications myself. I am not very practical with python projects but I can read that.
We have to create a new "climate" entity for zigate But I have a question, the value "receiver on when idle" is false so it suppose you can't change the configuration when you want, you have to wake up the device when you need to change the temperature for example
I don't have the original gateway, I just bought 4 of these valves knowing that the zigbee2mqtt project supports them. Now I would like to use just one gateway since Zigate is behaving really good after the latest firmware upgrades. https://youtu.be/Lpe4KTNFoi0?t=85
From this video, it seems that the temperature can be changed on the fly.
I have added a basic climate entity, could you try it ?
Sorry didn't saw your comment, I have updated your plugin yesterday but I didn't saw any new climate item on HA.
Edit: As far as I remember, latest code modified was the battery part. I think that I updated your plugin not yesterday but some days ago.
Is there anything in log ?
Hi,
Just updated your package to latest version. Some version ago the thermostat was responding, i.e. I changed manually the temperature and almost immediately it was changing the temperature sensor in Home Assistant. Now it's not talking anymore with the smart valve, on the smart valve sometimes the wifi signal get green and sometimes red. I am now removing the device and repairing, I will update my comment later.
Now I just see:
Command 0x0092 failed Failed (ZigBee event codes) 21 : b'' 10:26 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (ERROR) Command 0x0140 failed Failed (ZigBee event codes) 21 : b'' 10:26 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (ERROR) - message first occured at 10:25 and shows up 6 times No template found for Thermostat 10:26 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING) - message first occured at 10:25 and shows up 2 times Device already exists with another addr 1394, rename it. 10:26 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING) No response waiting command 0x8120 10:25 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING) Device already exists with another addr ce4f, rename it. 10:25 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING) The device 5b12 is missing 10:22 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING) No template found for lumi.sensor_switch 10:22 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING) The device 8fd9 is missing 10:22 /root/homeassistant/lib/python3.5/site-packages/zigate/core.py (WARNING)
After removing, rebooting and re-pairing the device:
Sensors are created and they get the temperature update almost immediately (I think that the temperature value set on the physical valve get pushed as soon as the screen turn off), but I can't see any climate entity in HA apart from my espeasy climate.
Should be fixed now
We are almost there. It looks like the device just wants integer values, I have to say that using the actual touch screen you CAN'T set half degrees, just integer values.
It should be OK now
About the precision, it supposed to follow your hass configuration. if you are using metric (degrees) then precision is 0.1 if you are using Imperial (FAHRENHEIT), precision is 1
I could force precision to be 0.1 if needed
I think that we can add it to supported devices ;) Initial support is done, it should support temperature, occupancy, un-/occupied heating, schedule but temperature is enough to integrate it in HA. BTW, if I set 20.5 it will set 21 to the eCozy smart valve. The value get pushed to the devices almost immediately. Don't you think that the device should be created automagically to:
min: 8° max: 30° precision: 1° ? The actual device is limited to these values.
Current HA limits are 7° and 35° so almost the same.
How "occupancy" works ? is it just a boolean value that we can turn on or off to choose between unoccupied or occupied heating ?
I have improved a little by using un/occupied values and occupancy as away mode
Looks good, I had the chance to update everything. I think that the entire week programming can be sent and retrieved via zigbee, do you want the full thermostat implementation specs?
I don't know how I could handle a week program with a HA climate.
I think you have to use the zigate.write_attribute
service to do it.
If the current support is working, I won't improve it more for now
IDK if it's something related to your plugin or other parts of home assistant, but these climates don't get pushed to Google Home. I can find my manual climate there, but not the Zigate ones
Maybe it's because it doesn't even have the status ON/OFF?
Maybe, I don't know, we have to explore the google assistant component to understand
https://github.com/home-assistant/home-assistant/pull/19242 maybe there is something like this issue?
I think the problem is we don't have "is_on" information or "current_operation"
we could try to set is_on True and see
@property
def is_on(self):
"""Return true if the device is on."""
return True
I will have access to smart valves in a month. There will be a lot of time until November to test the code properly 😆
climate change a lot with HA 0.95 and later, maybe it works now
I, I just came back. I updated HA and your library. Now I can't see anymore the climate device (but I can see properly the ecozy device).
(Unrelated to ecozy, but some other device disappeared too (like both zone status sensor linked to a couple of smoke sensors, both sensors are visibile but zone sensor are not here anymore)). What do you suggest?
should be fixed now
http://ecozy.de/en/support/thermostat
Hi, I still haven't tried to join it to my ZigBee network. I started working again with Zigate since latest firmware release. How can we add this device?
https://github.com/Koenkk/zigbee-shepherd-converters/pull/132