andig / homebridge-fritz

Homebridge platform for Fritz!Box router and supported DECT devices
MIT License
74 stars 21 forks source link

Restrict characteristic values for thermostat to be valid and enforce HomeKit thermostat behavior #82

Closed Supereg closed 4 years ago

Supereg commented 4 years ago

This PR makes the following changes. It enforces the behavior of a thermostat as it is defined by the HomeKit Accessory Protocol spec. This means the thermostat supports exact two states: heating and off (as the fritz thermostats are only able to heat and definitely can't support cooling). Also this PR properly defines the minimum and maximum temperatures the fritz thermostat is able to support (from 8-28 degree Celsius). This PR also improves data collection for thermostats on first startup.

Any feedback is appreciated :)

~ Andi (lol)

Supereg commented 4 years ago

Could you specify what exactly you mean?

appliko commented 4 years ago

The mode "off" is not working to me, and it could related to the changes in this thread

andig commented 4 years ago

@appliko this pr has not been merged.

@Supereg @jngmrks Happy New Year! Do you see any chance to finish work on this pr? Would be fantastic to cut a new release based on the new thermostat handling.

appliko commented 4 years ago

Ok, thanks. I‘m using a lot this plugin in the last month, to move thermostats automation from fritz to homekit. To me, heat or cool is really irrelevant for Fritz. As you all know, fritz thermostats cannot handle cooling. Also, even when set temp will be equal to actual temp will be likely still heating Because also update time of thermostats is up to 15 mins, I would prefer:

It would be cool (:D) to add to thermostat characteristics the high and low temp. This will allow to handle it in automations, in case

I apologize if I missed something on the german discussion. I‘m available for testing.

jngmrks commented 4 years ago

In this PR we don't have AUTO/HEAT/COOL, ON/OFF only.

Nach produktivem Einsatz seit über 2 Monaten würde ich sagen das dieser PR definitiv einen merge verdient hat.

Ab und zu springen die Temperaturen wieder auf die vorherigen zurück nach 1-2 Sekunden, aber das ist auch ohne PR so. Die Reaktionszeit allgemein ist hier durch die Änderungen extrem besser.

andig commented 4 years ago

@appliko unless you are using this PR, please do not comment here. This PR is not the place for general plugin discussions.

Supereg commented 4 years ago

Ab und zu springen die Temperaturen wieder auf die vorherigen zurück nach 1-2 Sekunden, aber das ist auch ohne PR so.

Könntest du illustrieren was genau du meinst? Bzw steps, mit denen man das reproduzieren kann eventuell?

andig commented 4 years ago

Könntest du illustrieren was genau du meinst? Bzw steps, mit denen man das reproduzieren kann eventuell?

ping @jngmrks - wäre toll die "perfekte" Funktionalität zu bekommen ;)

jngmrks commented 4 years ago

Was ich meine ist, ich mach die App auf, stelle eine Temperatur ein, dann springt die Temperatur wieder auf die vorherige zurück. Ich hab mal ein Video davon gemacht, erst versuche ich 2x auf 24 Grad zu stellen, dann versuche ich 2x 20 Grad und wieder 24 Grad aber es springt immer wieder zurück ;).

https://jueng.de/1578772384.mp4

Wie man sieht muss die Kommunikation klappen weil bei den 20 Grad der Kreis Grün wird. Das tritt sporadisch auf leider konnte ich kein Debug davon machen weil es jedes mal dann im Debug funktioniert und ich dann irgendwann wieder auf Normalbetrieb umstelle. Es kann sein das es 5 Minuten lang nicht funktioniert, plötzlich gehts dann wieder. Per Siri klappt aber eigentlich immer.

Supereg commented 4 years ago

Sollte behebbar sein. Liegt tendenziell an der Antwortzeit der FritzBox. Ich weiß nur nicht wann ich Zeit dafür finde. Ist nicht meine top priority grad

andig commented 4 years ago

Sollte behebbar sein. Liegt tendenziell an der Antwortzeit der FritzBox. Ich weiß nur nicht wann ich Zeit dafür finde. Ist nicht meine top priority grad

D.h. also wir sind hier "ready to merge". Sehr gut. Erfolgt im Laufe der Woche, ich warte noch auf Feedback aus anderen Tickets um keine weitere Variable hinzuzufügen.

andig commented 4 years ago

Als 0.9.1 released. Danke @Supereg und @jngmrks !!!