Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Syntaxfehler, keine Ahnung wo genau

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Syntaxfehler, keine Ahnung wo genau

    This topic has been deleted. Only users with topic management privileges can see it.
    • metaxa
      metaxa last edited by metaxa

      Ich verwende seit gut 10 Jahren teilweise noch die alten HM-Thermostate.
      14ba8e87-5de5-4c26-afdc-5522e2275556-image.png
      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
      

      3d7b86b1-a794-49a5-be12-d943ba1f40b2-image.png

      var SZ_aktuelle_Solltemp;
      
      // Beschreibe diese Funktion …
      async function SZ_Thermostat_auf_manu() {
          sendTo('hm-rpc.0', 'putParamset', {ID: 'FEQ0030851:2', 
              paramType: 'MASTER', params: {'MODE_TEMPERATUR_REGULATOR': 0}}, 
              // res => {
                 // log(JSON.stringify(res));
              // }
          );
      }
      
      // Beschreibe diese Funktion …
      async function SZ_Thermostat_auf_auto() {
          sendTo('hm-rpc.0', 'putParamset', {ID: 'FEQ0030851:2', 
              paramType: 'MASTER', params: {'MODE_TEMPERATUR_REGULATOR': 1}}, 
              // res => {
                 // log(JSON.stringify(res));
              // }
          );
      }
      
      
      on({id: 'hm-rpc.1.IEQ0375745.5.SENSOR', change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("hm-rpc.1.IEQ0375745.5.SENSOR").val == true) {
          SZ_aktuelle_Solltemp = getState("hm-rpc.0.FEQ0030851.2.SETPOINT").val;
          await SZ_Thermostat_auf_manu();
          setState("hm-rpc.0.FEQ0030851.2.SETPOINT"/*Tempereatur SZ.SETPOINT*/, 6);
          console.log('Script manu gestartet');
        } else {
          setState("hm-rpc.0.FEQ0030851.2.SETPOINT"/*Tempereatur SZ.SETPOINT*/, (SZ_aktuelle_Solltemp * 1));
          await SZ_Thermostat_auf_auto();
          console.log('Script auto gestartet');
        }
      });
      

      Ich kann die Fehlermeldung absolut nicht zuordnen.
      Folgend die Parameterbeschreibung des Wandthermostat:
      HM-CC-TC Parameter.pdf

      Eventuell sieht von den Blockly/Javascript Gurus hier den Fehler!

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @metaxa last edited by Homoran

        @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?

        metaxa 1 Reply Last reply Reply Quote 1
        • metaxa
          metaxa @Homoran last edited by

          @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.

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @metaxa last edited by Homoran

            @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.

            A 1 Reply Last reply Reply Quote 1
            • A
              Ahnungsbefreit @Homoran last edited by

              @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.

              metaxa 1 Reply Last reply Reply Quote 1
              • metaxa
                metaxa @Ahnungsbefreit last edited by

                @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!!!!!

                metaxa 1 Reply Last reply Reply Quote 0
                • metaxa
                  metaxa @metaxa last edited by

                  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!

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @metaxa last edited by

                    @metaxa sagte: Abhilfe wäre einen DP zu beschreiben

                    ... oder die Variable bei Skriptstart (außerhalb des Triggers) zu initialisieren.

                    metaxa 1 Reply Last reply Reply Quote 0
                    • metaxa
                      metaxa @paul53 last edited by metaxa

                      @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.

                      270b5eea-812b-4347-9b59-5622fa2610d0-image.png

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @metaxa last edited by

                        @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:

                        Bild_2022-04-21_204830228.png

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        727
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        blockly javascript
                        4
                        10
                        267
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo