-
Notifications
You must be signed in to change notification settings - Fork 21
Migrating code to use updateValue instead of setValue for state changes #91
Conversation
Was genau sollte sich denn von setValue() auf updateValue() geändert haben? Die #update-value funktioniert nicht. Bin wieder bei der #restirct-valid-values mit dem Tippfehler 😅
|
@jngmrks der wifi Fehler taucht schon länger mal sporadisch auf, ich konnte ihn aber nie isolieren. Hast Du eine Idee wie der sich reproduzieren lässt? |
@jngmrks Das sind 2 unterschiedliche PRs mit unterschiedlichem Inhalt. Ich bin allerdings auch verwirrt welchen ich jetzt zuerst mergen müsste.
Das war die Idee, wäre dann aber mit dem anderen PR überflüssig. Hast Du einen Vorschlag in welcher Reihenfolge wir das machen wollen? @jngmrks hätte wohl gerne erst den #82 drin, dann den hier. |
Nichts, genau das solltest du mal testen 😅
Naja schon noch. Darüber handelt ja der andere PR. Dieser PR stellt erstmal die code base auf die updateValue Methode um. Um #82 würde ich mich dann im Nachhinein kümmern. @jngmrks Der crash sollte gefixt sein. Hab da nicht genau gelesen, welche services am wann verfügbar werden. Sollte jetzt auch sichergestellt werden, dass der tr64service auch wirklich erst gequeried wird, wenn er initialisiert wurde. Bis zu diesem Zeitpunkt wird das Wifi Netzwerk als OFF dargestellt. |
Also ich beabsichtige aktuell #91 zuerst zu mergen. |
@jngmrks könntest Du diesen nochmal kurz testen? Damit wäre das Thermostatverhalten dann noch das "alte", hier gehts nur um eine technische Änderung. |
|
…nges * Thermostat behaviour for night and comfort temperature is now more explicit and updates correctly * Some code cleanup
Das ging ja Fix. Sieht alles gut aus, kann keine Probleme erkennen. |
Das Update anstatt Set hat einiges verändert, das ich so nicht erwartet hätte. Die Home-App fragt nun nicht mehr alle Geräte jedes mal einzeln ab, sondern speichert die Werte in einem "Cache". Aktualisierungen der Werte kommen jetzt wohl nur noch über das Interval (oder auch nicht). Jedenfalls kommt mir alles so vor, kann das jemand bestätigen? |
Ich hab folgende Änderungen im Endeffekt gemacht: Und der interval funktioniert weiterhin wie immer. |
Und wie genau meinst du das 🤔 |
Jetzt verstehe ich, dadurch das die Anfragen so massiv reduziert wurden, dachte ich eben die werden gecached. Aber durch deine Erklärung macht nun alles einen Sinn. |
Wie besprochen wird nun ausschließlich
updateValue
benutzt.Außerdem habe ich, wie ich glaube, ein paar Inkonsistenzen innerhalb des Thermostat accessories behoben. So wie ich das aktuelle Verhalten verstanden habe, setzt das Thermostat bei target=COOL die target temperature auf die night temperature und bei target=HEAT die target temperature auf die comfort temperature(?).
Weiterhin hab ich bisschen code cleanup betrieben und den ein oder anderen kleineren Fehler ausgemerzt, denn ich zufällig entdeckt habe (z.B. würde dass wifi accessory, wenn es im fallback modus ist, nicht die korrekte update Methode aufrufen).
@jngmrks wäre cool, wenn du das mal ausführlich testen und dein feedback da lassen könntest. Hab leider nicht so ein großes Setup und die meisten der Gerät überhaupt nicht.