NEWS
Rechenaufgabe liefert "NULL"
-
@surfer09 sagte: Typ der Objekte ist Zahl (number)
Das bedeutet nicht, dass auch Zahlen enthalten sind. Strings können genau so aussehen. Deshalb prüfe es:

@paul53 sagte in Rechenaufgabe liefert "NULL":
Das bedeutet nicht, dass es auch Zahlen sind. Strings können genau so aussehen.
Dann würde das Ergebnis aber nie
nullsein. Ich gehe davon aus, dass das Script einfach nicht läuft undnullder Standardwert ist, nachdem der Datenpunkt angelegt wurde. -
@surfer09 sagte in Rechenaufgabe liefert "NULL":
Den Code vom Skript hatte ich mit eingefügt. (siehe oben)
der nutzt mir (und allen anderen Helfenden) unterwegs bicht due Bohne.
Deswegen wird es auch hier
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
explizit erwähnt: Blockly immer als Bild zeigen! -
@paul53 : Ich weiß jetzt nicht genau was du mit Werte meinst, aber dort stehen Dezimalzahlen. Typ der Objekte ist Zahl (number) - siehe Screenshots oben im ersten Beitrag.

@surfer09 sagte in Rechenaufgabe liefert "NULL":
Typ der Objekte ist Zahl (number) - siehe Screenshots oben im ersten Beitrag
sagte in Rechenaufgabe liefert "NULL":
@surfer09 sagte in Rechenaufgabe liefert "NULL":
, es ist alles auf "number" eingestellt
das muss ja nicht der Grund sein.
Du kannst ja auch in einen DP vom Typ number einen Wert vom Typ String zwingen.
Dann sollte allerdings etwas passendes im log stehen -
@surfer09 wie bereits geschrieben müsstest du dir den Typ der Werte ansehen, oder testweise erst mal due Werte auf Zahl konvertieren
-
@surfer09 sagte: Typ der Objekte ist Zahl (number)
Das bedeutet nicht, dass auch Zahlen enthalten sind. Strings können genau so aussehen. Deshalb prüfe es:

-
Ich habe das jetzt mal so laufen lassen. 3 verschiedene Typen .. sehe ich das richtig?? Wie bekomme ich das denn am einfachsten gerade gezogen?

@surfer09 sagte in Rechenaufgabe liefert "NULL":
3 verschiedene Typen .. sehe ich das richtig?
ja, wie vermutet!
@surfer09 sagte in Rechenaufgabe liefert "NULL":
Wie bekomme ich das denn am einfachsten gerade gezogen?
sagte in Rechenaufgabe liefert "NULL":
erst mal due Werte auf Zahl konvertieren
-
Ich habe das jetzt mal so laufen lassen. 3 verschiedene Typen .. sehe ich das richtig?? Wie bekomme ich das denn am einfachsten gerade gezogen?

@surfer09 sagte: 3 verschiedene Typen .. sehe ich das richtig?
Wenn das Skript läuft, muss bei der ersten Änderung des Zählerstandes ein Zahlenwert geschrieben werden. Das ist offenbar noch nicht der Fall gewesen.
Der String von "0_userdata.0.PV-Anlage.Einspeisung-ins-Netz-2025" wird automatisch in eine Zahl konvertiert.
Der Typ von null ist in Javascript ein Objekt.Anmerkung: Dass "0_userdata.0.PV-Anlage.Einspeisung-ins-Netz-2025" einen String enthält, liegt an einem Skript, das diesen DP schreibt.
-
Ich weiß gerade nicht genau, was ich jetzt machen soll...
Das Skript für den Datenpunkt 0_userdata.0.PV-Anlage.Einspeisung-ins-Netz-2025 gibt es nicht mehr. Ich hatte das Skript nur für 2025 aktiv und wollte es jetzt für 2026 anpassen mit dem neuen Objekt 0_userdata.0.PV-Anlage.Einspeisung-ins-Netz-2026 -
Ich weiß gerade nicht genau, was ich jetzt machen soll...
Das Skript für den Datenpunkt 0_userdata.0.PV-Anlage.Einspeisung-ins-Netz-2025 gibt es nicht mehr. Ich hatte das Skript nur für 2025 aktiv und wollte es jetzt für 2026 anpassen mit dem neuen Objekt 0_userdata.0.PV-Anlage.Einspeisung-ins-Netz-2026 -
@surfer09 sagte: was ich jetzt machen soll...
Warten bis sich der Zählerstand ändert oder - falls es zu lange dauert - bei Skriptstart den Wert schreiben:

-
@paul53 Ich habe das Skript jetzt so angepasst, wie von dir beschrieben. Der Wert für 2026 ist aber weiterhin "NULL"


-
@paul53 Ich habe das Skript jetzt so angepasst, wie von dir beschrieben. Der Wert für 2026 ist aber weiterhin "NULL"


@surfer09 sagte in Rechenaufgabe liefert "NULL":
Der Wert für 2026 ist aber weiterhin "NULL"
...und welche Werte enthalten die zugrundeliegenden Datenpunkte?
ist da auch noch einnulldabei?hast du mal die Werte nach Zahl konvertiert?
-
@surfer09 sagte: Der Wert für 2026 ist aber weiterhin "NULL"
Das Skript wurde aktiviert?
Weshalb wurde dieser DP geändert?

-
@surfer09 sagte in Rechenaufgabe liefert "NULL":
Der Wert für 2026 ist aber weiterhin "NULL"
...und welche Werte enthalten die zugrundeliegenden Datenpunkte?
ist da auch noch einnulldabei?hast du mal die Werte nach Zahl konvertiert?
-
@Homoran Nein "NULL" ist da nicht dabei. Das sind nur diese beiden Datenpunkte mit den Dezimalzahlen mit denen er rechnet.



@surfer09 sagte in Rechenaufgabe liefert "NULL":
Das sind nur diese beiden Datenpunkte mit den Dezimalzahlen mit denen er rechnet.
@paul53 sagte in Rechenaufgabe liefert "NULL":
Das bedeutet nicht, dass auch Zahlen enthalten sind. Strings können genau so aussehen.
@surfer09 sagte in Rechenaufgabe liefert "NULL":
3 verschiedene Typen .. sehe ich das richtig??
da war auch 1x String dabei, kann ich aus dem Screenshot nicht zitieren
und laut letztem Screenshot ist da immer noch ein String

-
@surfer09 sagte in Rechenaufgabe liefert "NULL":
Das sind nur diese beiden Datenpunkte mit den Dezimalzahlen mit denen er rechnet.
@paul53 sagte in Rechenaufgabe liefert "NULL":
Das bedeutet nicht, dass auch Zahlen enthalten sind. Strings können genau so aussehen.
@surfer09 sagte in Rechenaufgabe liefert "NULL":
3 verschiedene Typen .. sehe ich das richtig??
da war auch 1x String dabei, kann ich aus dem Screenshot nicht zitieren
und laut letztem Screenshot ist da immer noch ein String

-
@Homoran sagte: ist da immer noch ein String
Der sollte subtrahiert werden (implizite Typwandlung in Javascript).
@paul53 sagte in Rechenaufgabe liefert "NULL":
@Homoran sagte: ist da immer noch ein String
Der sollte subtrahiert werden (implizite Typwandlung in Javascript).
ja, aber es wäre sicher nicht falsch trotzdem mal alle Werte
nach Zahlzu wandeln, um zu sehen ob das besser läuft -
@paul53 Dadurch das ich oben den Wert schon vor dem Trigger aktualisiere, hat er den Wert "NULL" geschrieben. Der eigentliche Trigger hat nicht ausgelöst. (wird er heute auch nicht mehr).
-
@Homoran Nein "NULL" ist da nicht dabei. Das sind nur diese beiden Datenpunkte mit den Dezimalzahlen mit denen er rechnet.



@surfer09 sagte: diese beiden Datenpunkte mit den Dezimalzahlen mit denen er rechnet.
Der Wert für 2025 wurde manuell eingegeben. Anscheinend mit Komma anstelle Punkt, weshalb es als String interpretiert wurde. Außerdem sollte die Rolle "value" sein für alle 3 DP .
EDIT: Was stört, ist das Komma in dem String:

Mit Punkt:

