NEWS
JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen
-
@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 -
@homoran sagte in JavaScript 8.3.0 - Log-Trigger, File-Events und Warnungen:
der "Fehler" liegt daran, dass du zu weit nördlich wohnst.
Also umziehen, Problem gelöst.
-
ich habe ein selsames problem
irgendwo hattet ihr mal über subscription gesprochen und das da jmd ein problem hatte
ich habe nun folgendes problem - teste gerade etwas und nutze keinen trigger sondern lasse das script direkt loslaufen
wie man sieht nutze ich eine schleife die 20 mal etwas ausführt
diese schleife soll unterbrochen werden, wenn sich etwas änderthabe es mit einer variable getestet und einem datenpunkt - die schleife wurde NICHT unterbrochen
nun habe ich bemerkt, das beim start des scriptes etwas seltsames passiert - siehe log
das script startet und fängt sofort an - erst später kommt die subscription , wenn die schleife unterbrochen wird. d.h. das script reagiert nicht während der schleife auf die änderung eines dp-tes - da die subsc. erst kommt, wenn die schleife beendet ist - ist das ein bug oder checke ich was nicht richtig
hoffe, ich konnte es verständlich erklären
PS: auch wenn nach 10 sek der timeout2 die variable "hilfmir" gesetzt wird und die schleife durch die variable gestoppt werden soll, funktioniert das nicht
-
noch was: wenn ich einen timeout von 2 sekunden um den ganzen block lege (der mit der schleife) - funktioniert die subscription und die schleife kann mit einem dp unterbrochen werden