-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for futurehome thermostat (TS0601_TZE204_e5hpkc6d) #6325
Conversation
The failing test doesn't seem related to my work. I did Edit: |
Note to self; after this merge Koenkk/zigbee2mqtt.io#2282 |
Adds endpoints to futurehome thermostat rewrite - temp calibration - child lock - hysteresis - window detection - max temperature protection
Sorry it took some time to get back to this. Was busy. Anyway, I've gotten most of the way there, however, there's a couple issues remaining that I can't figure out how to fix. For some reason, I can't get the They can currently read incoming data, but when you try to send data, an error pops up like this |
Once that's fixed, I just need to remove dead code and then this should be feature-par with some improvements over the current implementation. |
They need to be added to zigbee-herdsman-converters/src/lib/tuya.ts Line 857 in aec2760
|
Adds datapoints to the tuya converter for `sensor`, `hysteresis`, and `max_temperature_protection`
The `connecte.ts` file should no longer be needed as the rewritten defintion lives in `futurehome.ts` as connecte merged with futurehome a while ago and they now seem to use the futurehome branding.
@Koenkk I think the rewrite is complete now. I'll make a separate PR later if I figure out what the other unimplemented datapoints are. I haven't gotten a response from the manufacturer yet, but they said they're going to send me the protocol eventually :) Some things to note
I have no idea what this actually does, but the old code had it, so I included it. whiteLabel: [
tuya.whitelabel('Futurehome', 'Co020', 'Smart thermostat', ['_TZE200_e5hpkc6d']),
], How this differs from the old approach (ergo, the breaking changes from a user perspective):
|
Btw, off-topic, but having read through a lot of the source code now, I have some stuff I'd like to just mention. // Should be avoided
some_converter: {
// ...
} as Fz.Converter
// Instead you should do
some_converter: {
// ...
} satisfies Fz.Converter The Other than that, adhering to your codestyle is kinda hard without something like a prettierconfig. I turned off my prettier autoformatting as it heavily conflicted with your preferences. I'd suggest adding a prettier config. |
Thanks!
|
I'll see if I get around to it sometime. It might be a big undertaking as I may have to fix a lot of stuff alongside it, which is hard without extensive knowledge of the project as a whole. But I'll have a look at it at least when I have time for it. Could be easier than I think :p Thanks for the help in getting this merged <3 |
This PR adds basic support for the Futurehome thermostat based on the Tuya TS0601 chip.
Supports
Based on my current findings, I've been able to add support for
Setting
Reading
Investigation
I know that most of the device settings are missing. I've picked up on some more values, but haven't quite figured out what they mean yet. I'll probably make new PRs in the future if I can figure them out.
Known Datapoints
Implemented
Unimplemented
These were not in the original implementation, however, the device reports values for them. I don't know what they are.
[0,0,0,228]
,[0,0,0,114]
,[0,0,0,237]
,[0,0,0,239]
. Changes on its own. Maybe power draw?Known Missing Functionality
Advanced Settings
Some of these may or may not be possible to configure through Zigbee
source (navigate to "attachments" tab and download the "user manual" pdf)
Additional Notes
I've reached out to the manufacturer about this device, and they've said they'll try to provide me with the protocol used. When I get that, I'll try to implement the missing stuff and correct anything I've potentially done wrong in a new PR
Feel free to let me know if I need to make any changes