weltmeyer / ha_sonnenbatterie

Homeassistant integration to show many stats of Sonnenbatterie
GNU General Public License v3.0
51 stars 24 forks source link

Adjust code design more towards HA standards #56

Closed Xitee1 closed 1 month ago

Xitee1 commented 3 months ago

Sadly because the keys changed this is a breaking change. When an user updates, all his old entities will be unavailable and new ones will be generated and he can manually change the entity ids to the old ones if he wants to. If we want to keep using the old unique ids to prevent this breaking change we would need to look for the old entity keys and use them instead. This isn't really hard but needs some work and we would remain using these (in my opinion) badly named keys that would also be used in the entity id then like before.

RustyDust commented 1 month ago

Yay, ich bin endlich mal dazu gekommen, mit den PR anzusehen. Rein funktional sieht alles gut aus, allerdings zeigt mir HomeAssistant nach dem Update auf die PR-Version ein paar fehlende Entitäten an:

Bildschirmfoto 2024-05-19 um 15 43 47

Das ist halt insofern problematisch, als dass beim Nutzer keine Info erfolgt und gerade bei den Werten für "Production (in/out)" und "Operating Mode" die Wahrscheinlichkeit hoch ist, dass da Automatisierungen dranhängen. Kriegt man das noch irgendwie mit Alias geregelt?

Xitee1 commented 1 month ago

Das ist halt insofern problematisch, als dass beim Nutzer keine Info erfolgt und gerade bei den Werten für "Production (in/out)" und "Operating Mode" die Wahrscheinlichkeit hoch ist, dass da Automatisierungen dranhängen. Kriegt man das noch irgendwie mit Alias geregelt?

Was genau sollte Production in/out eigentlich anzeigen? Habe das nicht im Code gefunden und macht doch eigentlich kein Sinn, denn Produktion geht ja nur in eine Richtung (von den Solarzellen zum Netz, und nicht vom Netz zu den Solarzellen).

Der Operating Mode Sensor wurde aus den beiden Sensoren zusammengeführt. In der Oberfläche wird immer der Text angezeigt. Für Automatisierungen kann man den Numerischen Zustand nehmen (wird in Entwicklerwerkzeuge angezeigt). Deshalb gibt es den "(Text)" Sensor nicht mehr. Falls da jetzt jemand eine Automatisierung damit gemacht hat, wird er wahrscheinlich eher den Numerischen Sensor genommen haben, als den mit dem Text (welchen es jetzt nicht mehr gibt). In dem Fall sollte dann weiterhin alles gehen.

Das der Temperatur-Sensor nicht mehr geht ist etwas komisch, denn dort habe ich als legacy_key "tmax" angegeben, was doch eigentlich der key vom alten Sensor sein sollte: https://github.com/weltmeyer/ha_sonnenbatterie/blob/1062a7cf573711b7ab1e72b8c66e0388d6183612/custom_components/sonnenbatterie/mappings.py#L86

RustyDust commented 1 month ago

Was genau sollte Production in/out eigentlich anzeigen? Habe das nicht im Code gefunden und macht doch eigentlich kein Sinn, denn Produktion geht ja nur in eine Richtung (von den Solarzellen zum Netz, und nicht vom Netz zu den Solarzellen).

Wollte mal irgendwer haben, weil die Produktion tatsächlich manchmal negative Werte anzeigt (im kleinen ein- bis zweistelligen Watt-Bereich). Finde nur gerade den Screenshot nicht. Kann man denke ich vernachlässigen, hast Recht.

Der Operating Mode Sensor wurde aus den beiden Sensoren zusammengeführt. In der Oberfläche wird immer der Text angezeigt. Für Automatisierungen kann man den Numerischen Zustand nehmen (wird in Entwicklerwerkzeuge angezeigt). Deshalb gibt es den "(Text)" Sensor nicht mehr. Falls da jetzt jemand eine Automatisierung damit gemacht hat, wird er wahrscheinlich eher den Numerischen Sensor genommen haben, als den mit dem Text (welchen es jetzt nicht mehr gibt). In dem Fall sollte dann weiterhin alles gehen.

Ok. Sollten da Issues reinkommen können wir die ja an dich leiten ;)

Das der Temperatur-Sensor nicht mehr geht ist etwas komisch, denn dort habe ich als legacy_key "tmax" angegeben, was doch eigentlich der key vom alten Sensor sein sollte:

Der Alias geht ja auch ;) Wobei dieser Status - zumindest bei meiner SonnenBatterie - schon immer Quatsch war. Aktuell behauptet sie zum Beispiel, die Batterie hatte 0,31 °C. Also entweder war da schon immer was falsch oder da stimmt was mit der Berechnung nicht.