NEWS
[gelöst] Syntaxfehler, keine Ahnung wo genau
-
Ich verwende seit gut 10 Jahren teilweise noch die alten HM-Thermostate.
Es besteht weder auf der CCU noch in den Datenpunkten von iO die Möglichkeit den Betriebsmodus von "Auto" auf "Manu" und zurück umzuschalten. Ich brauche es aber, da ich neue Fensterkontakte mit einem Wired Modul auslese.@Homoran (glaube ich) hat mir seinerzeit geholfen das seinerzeitige TS Skript der CCU auf Javascript umzustellen. Es funktioniert auch, nur bekomme ich täglich beim Triggern in der Früh beim Schließen des Fensters und somit der Ausführung des "sonst" Zweiges folgende Fehlermeldung ins Log.
2022-04-20 07:53:23.967 - error: hm-rpc.0 (1379) xmlrpc -> setValue ["FEQ0030851:2","SETPOINT",null] FLOAT 2022-04-20 07:53:23.993 - error: hm-rpc.0 (1379) Cannot call setValue: Missing element text
Ich kann die Fehlermeldung absolut nicht zuordnen.
Folgend die Parameterbeschreibung des Wandthermostat:
HM-CC-TC Parameter.pdfEventuell sieht von den Blockly/Javascript Gurus hier den Fehler!
-
@metaxa sagte in Syntaxfehler, keine Ahnung wo genau:
@Homoran (glaube ich) hat mir seinerzeit geholfen das seinerzeitige TS Skript der CCU auf Javascript umzustellen.
eher nicht. Bin doch auch Skripte Legastheniker
Edit:
wird im sonst die Variable überhaupt deklariert? -
@homoran die Variable SZ_aktuelle_Solltemp wird am Abend (beim Fenster öffnen) beschrieben und m.M. nach somit deklariert. In der Früh sollte diese Variable m.M. ja noch zur Verfügung stehen und wird auch im Datenpunkt richtig gesetzt.
-
@metaxa sagte in Syntaxfehler, keine Ahnung wo genau:
wird auch im Datenpunkt richtig gesetzt.
anscheinend zu dem Zeitpunkt der Meldung ja nicht.
@metaxa sagte in Syntaxfehler, keine Ahnung wo genau:
setValue ["FEQ0030851:2","SETPOINT",null]
Aber wie gesagt weiss ich es nicht besser.
-
@homoran Sehe ich auch so wie Du. Genau genommen: Die Variable wurde zwar deklariert, aber nicht initialisiert und ist deshalb "null". Das passiert dann, wenn der "sonst" Zweig ausgeführt wird, ohne dass zuvor der "falls" Zweig ausgeführt wurde.
-
@ahnungsbefreit & @Homoran, ich habe - dank Eurer Vermutung - eine Idee. Gestern Nacht, NACH dem Fenster öffnen durch die Finanzchefin, habe ich iO updatebedingt mehrfach neu gestartet. Dadurch wird es sein, dass die Variable nicht mehr initialisiert ist, keinen Wert hat.
Werde das morgen Früh einmal beobachten, wenn ich das Fenster schließe - ohne Neustart des iO in der Nacht.Danke Euch für den Schubbs!!!!!
-
Danke @ahnungsbefreit & @Homoran genau das wars!
Die Variable wird beim Öffnen deklariert und initialisiert, wenn danach aber ein Neustart des iO passiert, ist diese Info natürlich weg und die Variable liefert
setValue ["FEQ0030851:2","SETPOINT",null]
Abhilfe wäre einen DP zu beschreiben und diesen im "sonst" Zweig in der Früh wieder einzulesen.
Danke!
-
@metaxa sagte: Abhilfe wäre einen DP zu beschreiben
... oder die Variable bei Skriptstart (außerhalb des Triggers) zu initialisieren.
-
@paul53 sagte in Syntaxfehler, keine Ahnung wo genau:
... oder die Variable bei Skriptstart (außerhalb des Triggers) zu initialisieren.
Servus Paul, danke für deine Rückmeldung! Ich verstehe den Unterschied zwischen "deklarieren" und "initialisieren" nicht. Wie kann ich die Variable im Blockly ganz oben (außerhalb des Triggers) sicherheitshalber initialisieren falls über Nacht ein Neustart durchgeführt wurde?
Selbst bei keinem Neustart (alles läuft normal und der Inhalt der Variablen bleibt bestehen) würde am nächsten Morgen beim Fensterschließen KEIN Wert mehr zur Verfügung stehen. Um die Variable zu initialisieren muss ich ihr ja einen Wert geben.
-
@metaxa sagte: Wie kann ich die Variable im Blockly ganz oben (außerhalb des Triggers) sicherheitshalber initialisieren falls über Nacht ein Neustart durchgeführt wurde?
Z.B. so: