NEWS
JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen
-
@haselchen sagte: Ich habe bei einem Blocky eine Variable gesetzt.
Wozu?
-
@haselchen verstehe das auch nicht ganz
vermutung - so rein theoretisch - du fragst beim resultat(data) nur auf ungleich null
wenn aber daten kommen, die inverter.ts_lastsuccess nicht enthalten, wird "blödsinn" in deinen datenpunkt geschrieben (falls das überhaupt vorkommen kann) bzw wird ein script fehler kommen
evtl müßte man das anders abfragen - eben nicht nach null und dann reagieren
das result zu setzen, macht hier keinen sinn
-
Das steht da noch drin , weil ich ja nicht weiß wie ich es ändern muss .
Die anderen Variabeln waren ja result.
Jetzt geändert auf Data.Das Ganze ist schon länger her.
Ich vermute auch , wenn keine Daten mehr kommen das da Blödsinn im DP steht . Deswegen hatte ich es so gelöst. -
@haselchen sagte: Ich vermute auch , wenn keine Daten mehr kommen
Die Variable wird nur einmal bei Skriptstart mit dem JSON gefüllt.
-
Wird ja alle 2 min gestartet , siehe Cron Baustein
Edit : okay, sieht man nur wenn man drauf klickt
Aber es sind alle 2 min -
@haselchen sagte: Wird ja alle 2 min gestartet
Die Variable wird außerhalb des Zeitplanes gefüllt.
-
Hm, irgendeinen Grund hatte das
Okay, ich lass diesen Baustein mal weg und beobachte.
Aber erstmal muss ich Betriebsfussball spielen -
@haselchen sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:
keine Daten mehr kommen das da Blödsinn im DP
das wird so nicht mehr funktionieren - außerhalb der httpget function existiert data nicht bzw, wenn du es anlegst wird es innerhalb trotzdem neu gesetzt (wäre dann doppelt im script) (ist jetzt anders als mit dem result wert - soweit ich das verstanden habe)
wenn dann könntest du innerhalb von httpget noch ein sonst einfügen (im falls) dann dp direkt mit einem wert setzen - setstate ...HM-600_Rohdaten ist ...... - z.b. könntest du 999999 setzen und wenn das gesetzt wird durch einen anderen trigger einen alarm senden - dann weißt du, dass was nicht stimmt
-
Und das kommt nun raus
Muss gestehen, Skripte, Variablen, Javascript und dergleichen sind nicht so meins -
@haselchen genau das meinte ich mit fehler wird erzeugt
probiermal den timeout im httpget auf 4000 zu setzen
ich bekomme auch öfter mal einen timeout, wenn ich mit 2000 arbeite - verstehe ich zwar nicht, aber evt ist der traffic im netz so hoch (backup), dass es länger wie 2 sekunden dauert, bis eine antwort kommt ???ich nehme mal an, dass "data" nicht null war aber eben auch keine brauchbaren werte drin sind - wenn du den data baustein mal anklickst gibt es darunte die auswahl status-code
man müßte anstatt nach null abzufragen, den statuscode abfragen - mach mal in dein blockly noch ein debug mit rein
dann siehst du, was da kommt, wenn alles ok ist oder ein fehler kommt - und dann kannst du die abfrage ändern (lass dabei den timeout wieder klein gestellt, damit auch mal ein fehler kommt
-
habe es mal ausprobiert - wenn du einen timeout hast, kommt als statuscode null bei mir zurück - dann versucht dein script einen wert aus null (für den datenpunkt) zu generieren - dann kommt der fehler cannot get rx_.......
mit dieser abfrage
sollte das verhindert werden können
-
Danke für den Input.
Werde ich heute Abend sehen was passiert
Und was mache ich mit dem "setze".....Baustein?
Weglassen und gucken was passiert?
Gab mit Sicherheit nen Grund das so zu lösen damals... -
@haselchen disable den mal
-
@haselchen und zeige später dann dein aktuelles skript
-
-
@liv-in-sky sagte: statuscode null
Man sollte besser auf Statuscode = 200 prüfen, der bei Erfolg gesetzt wird.
@haselchen
Die Konvertierung nach Objekt ist nicht erforderlich, denn das erledigt auch der Attribut-Block. -
@paul53 sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:
Die Konvertierung nach Objekt ist nicht erforderlich
Und der Status-Code ist kein JSON, sondern einfach
number
odernull
. Der "JSON nach Objekt"-Block davor muss also auch weg. -
@haus-automatisierung
Ich habe heute das Update für den Adapter gemacht und bekomme eine Fehlermeldung2024-05-24 14:24:14.735 error [sunTimeSchedules] Unable to set state for astro time "night" javascript.0 2024-05-24 14:24:14.734 error [sunTimeSchedules] Unable to set state for astro time "nightEnd"
Kann man irgendwie rausfinden in welchem Blockly der Fehler liegt ohne jedes durchzusuchen?
-
@biker1602 sagte: in welchem Blockly der Fehler liegt ohne jedes durchzusuchen?
Die Meldung kommt aus dem Adapter selbst bei Start der Instanz. Ist in der nächsten Version (8.3.2?) behoben. Siehe hier
-
@biker1602 der "Fehler" liegt daran, dass du zu weit nördlich wohnst.
Bei dem aktuellen Sonnenstand gibt es dort keine astronomische Nacht mehr