Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Syntaxfehler, keine Ahnung wo genau

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst] Syntaxfehler, keine Ahnung wo genau

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascript
10 Beiträge 4 Kommentatoren 293 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • metaxaM Offline
    metaxaM Offline
    metaxa
    schrieb am zuletzt editiert von metaxa
    #1

    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!

    HomoranH 1 Antwort Letzte Antwort
    0
    • metaxaM 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!

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von Homoran
      #2

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

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      metaxaM 1 Antwort Letzte Antwort
      1
      • HomoranH 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?

        metaxaM Offline
        metaxaM Offline
        metaxa
        schrieb am zuletzt editiert von
        #3

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

        HomoranH 1 Antwort Letzte Antwort
        0
        • metaxaM metaxa

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

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

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

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          A 1 Antwort Letzte Antwort
          1
          • HomoranH 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 Offline
            A Offline
            Ahnungsbefreit
            schrieb am zuletzt editiert von
            #5

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

            Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

            metaxaM 1 Antwort Letzte Antwort
            1
            • A Ahnungsbefreit

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

              metaxaM Offline
              metaxaM Offline
              metaxa
              schrieb am zuletzt editiert von
              #6

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

              metaxaM 1 Antwort Letzte Antwort
              0
              • metaxaM metaxa

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

                metaxaM Offline
                metaxaM Offline
                metaxa
                schrieb am zuletzt editiert von
                #7

                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!

                paul53P 1 Antwort Letzte Antwort
                0
                • metaxaM metaxa

                  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!

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

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

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

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  metaxaM 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

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

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

                    metaxaM Offline
                    metaxaM Offline
                    metaxa
                    schrieb am zuletzt editiert von metaxa
                    #9

                    @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

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • metaxaM 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

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @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

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      1
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      658

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe