NEWS
extendObject vs. setObjectNotExists
-
@Sneak-L8 ok unit ist teil vom Objekt, wenn es nötig ist die Abhängig vom Wert zu ändern musst du das so machen.
Ja Channels enthalten states das ist richtig.
-
@Jey-Cee Danke. Dann muss ich mir also keine Sorgen machen, wenn ich hier immer Meldungen im Log sehe?
Nicht dass die Aufzeichnung in sql.0 flöten geht ...
-
@Sneak-L8 sagte:
Dort will ich "unit" aktualsieren.
Welchen Grund kann es geben, die "unit" zu ändern ?
-
@paul53 Es sind generische Daten von extern. Diese werden in States gemappt. Ich kann mir nicht sicher sein, dass die Einheit des Wertes sich in dem entfernten API ändert. Deswegen will ich sie (ggfs. auch zusammen mit dem Wert) aktualisieren.
Den wert kann ich mit setState ändern, aber die unit m.W. nicht. -
@Sneak-L8 sagte:
Ich kann mir nicht sicher sein, dass die Einheit des Wertes sich in dem entfernten API ändert.
Dann prüfst Du hoffentlich, ob sich die "unit" geändert hat, bevor sie per extendObject() überschrieben wird ?
-
@paul53 Nein, warum sollte ich? Stellt das ein Problem dar? Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten. Da das über Callback geht ist das dann recht aufwändig ...
-
@Sneak-L8 sagte:
Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten.
Man kann sich die "unit" auch in Variablen merken. Objekte sollten quasi-statisch bleiben, da sie sonst zu oft in die Datei/Datenbank geschrieben werden.
-
@paul53 sagte in extendObject vs. setObjectNotExists:
@Sneak-L8 sagte:
Dort will ich "unit" aktualsieren.
Welchen Grund kann es geben, die "unit" zu ändern ?
Bei EnOcean gibt es dafür 2 Szenarien:
- die Unit kann im Gerät ausgewählt werden werden.
- die Einheit hängt vom Wert ab. z.B Wh werden beim Überschreiten von 1000 in kWh übertragen, die Unit wird dann sepperat mit gesendet.
@Sneak-L8 sagte in extendObject vs. setObjectNotExists:
Da das über Callback geht ist das dann recht aufwändig .
Dafür gibt es Promises und Await/Async.
-
@Jey-Cee sagte:
die Unit kann im Gerät ausgewählt werden werden.
Die Auswahl wird man nicht ständig ändern.
@Jey-Cee sagte in extendObject vs. setObjectNotExists:
die Einheit hängt vom Wert ab. z.B Wh werden beim Überschreiten von 1000 in kWh übertragen, die Unit wird dann sepperat mit gesendet.
Dann kann man den Wert auch in die Unit des Datenpunktes umrechnen.
-
@paul53 sagte in extendObject vs. setObjectNotExists:
@Sneak-L8 sagte:
Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten.
Man kann sich die "unit" auch in Variablen merken. Objekte sollten quasi-statisch bleiben, da sie sonst zu oft in die Datei/Datenbank geschrieben werden.
Danke für den Hinweis. Ja, ich könnte sie beim Start des Adapters aus den States einlesen und dann nur aktualisieren, wenn sie sich ändern. Promises und Await/Async sagt mir nicht so viel, da müsste ich mich erst einlesen.
Aber ich sollte es auf jeden Fall umstellen, wenn durch den Extend die Daten dann jedes Mal neu in die DB geschrieben werden. Da will ich nicht zum Messie werden ...