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: WARN in Script

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Gelöst: WARN in Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
19 Beiträge 3 Kommentatoren 600 Aufrufe 1 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.
  • M Online
    M Online
    michihorn
    schrieb am zuletzt editiert von michihorn
    #1

    Hallo
    ich habe ein Script, das tut was es soll, aber im log habe ich immer WARN Hinweise.
    Unbenannt.JPG
    Mein Script sieht wie folgt aus:

    schedule("*/2 * * * *", function () {
    createState('Rolladen.WZ_Links');
    createState('Rolladen.WZ_Rechts');
    createState('Rolladen.EZ');
    createState('Rolladen.Küche');
    createState('Rolladen.WC');
    createState('Rolladen.Move_WZ_Links');
    createState('Rolladen.Move_WZ_Rechts');
    createState('Rolladen.Move_EZ');
    createState('Rolladen.Move_Küche');
    createState('Rolladen.Move_WC');
    var Statuswert;
    var Nr;
    });
    
    on({
            id: 'hm-rpc.1.CUX4000002.6.RCVS',
            change: "ne"
        },
        function(Rolladen) {
            var RL = getState('hm-rpc.1.CUX4000002.6.RCVS').val;
            var Kanal = RL.substr(8, 2);
            var Status = RL.substr(10, 2);
    
            if (Status == "00") {
                Statuswert = "No Information";
            }
            if (Status == '01') {
                Statuswert = "OBEN";
            }
            if (Status == "02") {
                Statuswert = "UNTEN";
            }
            if (Status == "03") {
                Statuswert = "Intermediate position stop";
            }
            if (Status == "04") {
                Statuswert = "Tilt/ventilation position stop";
            }
            if (Status == "05") {
                Statuswert = "Blocking";
            }
            if (Status == "06") {
                Statuswert = "Overheated";
            }
            if (Status == "07") {
                Statuswert = "Timeout";
            }
            if (Status == "08") {
                Statuswert = "Start to move up";
            }
            if (Status == "09") {
                Statuswert = "Start to move down";
            }
            if (Status == "0A") {
                Statuswert = "Fährt AUF";
            }
            if (Status == "0B") {
                Statuswert = "Fährt AB";
                        }
            if (Status == "0D") {
                Statuswert = "Stopped in undefined position";
            }
            if (Status == "0E") {
                Statuswert = "Top position stop which is tilt position";
            }
            if (Status == "0F") {
                Statuswert = "Bottom position stop which is intermediate position";
            }
            if (Status == "10") {
                Statuswert = "Switching devices switched off";
            }
            if (Status == "11") {
                Statuswert = "Switching devices switched on";
            }
            if (Kanal == 01) {
                setState('javascript.0.Rolladen.WZ_Links', Statuswert);
                setState('javascript.0.Rolladen.Move_WZ_Links', Status);
                var Nr = Status.substr(1, 1);
                setState('javascript.0.Rolladen.Zeitsteuerung.EINS.Nr',Nr);
                            log(Kanal + " WZ Links " + Status + " " + Statuswert);
            } else {
                if (Kanal == 02) {
                    setState('javascript.0.Rolladen.WZ_Rechts', Statuswert);
                    setState('javascript.0.Rolladen.Move_WZ_Rechts', Status);
                    Nr = Status.substr(1, 1);
                    setState('javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr',Nr);
                    log(Kanal + " WZ Rechts " + Status + " " + Statuswert);
                } else {
                    if (Kanal == 04) {
                        setState('javascript.0.Rolladen.EZ', Statuswert);
                        setState('javascript.0.Rolladen.Move_EZ', Status);
                        Nr = Status.substr(1, 1);
                        setState('javascript.0.Rolladen.Zeitsteuerung.DREI.Nr',Nr); 
                        log(Kanal + " EZ " + Status + " " + Statuswert);
                    } else {
                        if (Kanal == 08) {
                            setState('javascript.0.Rolladen.Küche', Statuswert);
                            setState('javascript.0.Rolladen.Move_Küche', Status);
                             Nr = Status.substr(1, 1);
                            setState('javascript.0.Rolladen.Zeitsteuerung.VIER.Nr',Nr);
                            log(Kanal + " Küche " + Status + " " + Statuswert);
                        } else {
                            if (Kanal == 10) {
                                setState('javascript.0.Rolladen.WC', Statuswert);
                                setState('javascript.0.Rolladen.Move_WC', Status);
                                Nr = Status.substr(1, 1);
                                setState('javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr',Nr); 
                                log(Kanal + " WC " + Status + " " + Statuswert);
                            }
                        }
                    }
                }
            }
        });
    
    paul53P 1 Antwort Letzte Antwort
    0
    • M michihorn

      Hallo
      ich habe ein Script, das tut was es soll, aber im log habe ich immer WARN Hinweise.
      Unbenannt.JPG
      Mein Script sieht wie folgt aus:

      schedule("*/2 * * * *", function () {
      createState('Rolladen.WZ_Links');
      createState('Rolladen.WZ_Rechts');
      createState('Rolladen.EZ');
      createState('Rolladen.Küche');
      createState('Rolladen.WC');
      createState('Rolladen.Move_WZ_Links');
      createState('Rolladen.Move_WZ_Rechts');
      createState('Rolladen.Move_EZ');
      createState('Rolladen.Move_Küche');
      createState('Rolladen.Move_WC');
      var Statuswert;
      var Nr;
      });
      
      on({
              id: 'hm-rpc.1.CUX4000002.6.RCVS',
              change: "ne"
          },
          function(Rolladen) {
              var RL = getState('hm-rpc.1.CUX4000002.6.RCVS').val;
              var Kanal = RL.substr(8, 2);
              var Status = RL.substr(10, 2);
      
              if (Status == "00") {
                  Statuswert = "No Information";
              }
              if (Status == '01') {
                  Statuswert = "OBEN";
              }
              if (Status == "02") {
                  Statuswert = "UNTEN";
              }
              if (Status == "03") {
                  Statuswert = "Intermediate position stop";
              }
              if (Status == "04") {
                  Statuswert = "Tilt/ventilation position stop";
              }
              if (Status == "05") {
                  Statuswert = "Blocking";
              }
              if (Status == "06") {
                  Statuswert = "Overheated";
              }
              if (Status == "07") {
                  Statuswert = "Timeout";
              }
              if (Status == "08") {
                  Statuswert = "Start to move up";
              }
              if (Status == "09") {
                  Statuswert = "Start to move down";
              }
              if (Status == "0A") {
                  Statuswert = "Fährt AUF";
              }
              if (Status == "0B") {
                  Statuswert = "Fährt AB";
                          }
              if (Status == "0D") {
                  Statuswert = "Stopped in undefined position";
              }
              if (Status == "0E") {
                  Statuswert = "Top position stop which is tilt position";
              }
              if (Status == "0F") {
                  Statuswert = "Bottom position stop which is intermediate position";
              }
              if (Status == "10") {
                  Statuswert = "Switching devices switched off";
              }
              if (Status == "11") {
                  Statuswert = "Switching devices switched on";
              }
              if (Kanal == 01) {
                  setState('javascript.0.Rolladen.WZ_Links', Statuswert);
                  setState('javascript.0.Rolladen.Move_WZ_Links', Status);
                  var Nr = Status.substr(1, 1);
                  setState('javascript.0.Rolladen.Zeitsteuerung.EINS.Nr',Nr);
                              log(Kanal + " WZ Links " + Status + " " + Statuswert);
              } else {
                  if (Kanal == 02) {
                      setState('javascript.0.Rolladen.WZ_Rechts', Statuswert);
                      setState('javascript.0.Rolladen.Move_WZ_Rechts', Status);
                      Nr = Status.substr(1, 1);
                      setState('javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr',Nr);
                      log(Kanal + " WZ Rechts " + Status + " " + Statuswert);
                  } else {
                      if (Kanal == 04) {
                          setState('javascript.0.Rolladen.EZ', Statuswert);
                          setState('javascript.0.Rolladen.Move_EZ', Status);
                          Nr = Status.substr(1, 1);
                          setState('javascript.0.Rolladen.Zeitsteuerung.DREI.Nr',Nr); 
                          log(Kanal + " EZ " + Status + " " + Statuswert);
                      } else {
                          if (Kanal == 08) {
                              setState('javascript.0.Rolladen.Küche', Statuswert);
                              setState('javascript.0.Rolladen.Move_Küche', Status);
                               Nr = Status.substr(1, 1);
                              setState('javascript.0.Rolladen.Zeitsteuerung.VIER.Nr',Nr);
                              log(Kanal + " Küche " + Status + " " + Statuswert);
                          } else {
                              if (Kanal == 10) {
                                  setState('javascript.0.Rolladen.WC', Statuswert);
                                  setState('javascript.0.Rolladen.Move_WC', Status);
                                  Nr = Status.substr(1, 1);
                                  setState('javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr',Nr); 
                                  log(Kanal + " WC " + Status + " " + Statuswert);
                              }
                          }
                      }
                  }
              }
          });
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @michihorn
      Existieren die Datenpunkte mit den IDs 'javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr' bis
      'javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr' ?

      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

      M 1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        stephan61
        schrieb am zuletzt editiert von
        #3

        Hallo Michihorn
        Bin nicht so fit in Javascript aber ich glaube in den Zeilen fehl 86 usw fehlt vor Nr Var sowie in Zeile 79

        var Nr = Status.substr(1, 1);

        Gruß Stephan

        paul53P 1 Antwort Letzte Antwort
        0
        • S stephan61

          Hallo Michihorn
          Bin nicht so fit in Javascript aber ich glaube in den Zeilen fehl 86 usw fehlt vor Nr Var sowie in Zeile 79

          var Nr = Status.substr(1, 1);

          Gruß Stephan

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

          @stephan61 sagte:

          fehlt vor Nr Var sowie in Zeile 79

          Nein, eine Variable soll nur einmal deklariert werden.

          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
          0
          • paul53P paul53

            @michihorn
            Existieren die Datenpunkte mit den IDs 'javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr' bis
            'javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr' ?

            M Online
            M Online
            michihorn
            schrieb am zuletzt editiert von
            #5

            @paul53 Ja alles da
            Unbenannt2.JPG

            paul53P 2 Antworten Letzte Antwort
            0
            • M michihorn

              @paul53 Ja alles da
              Unbenannt2.JPG

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

              @michihorn
              Weshalb erzeugst Du die Datenpunkte alle 2 Minuten neu ? Einmal genügt doch !

              Du deklarierst die Variablen Statuswert und Nr innerhalb der Schedule-Callback-Funktion. Damit sind die Variablen in dieser Funktion lokal, also unnütz deklariert, weil sie in dieser Funktion nicht verwendet werden.
              Lösche besser Zeilen 1 und 14 !

                      var Kanal = RL.substr(8, 2);
              

              Kanal ist also ein String ! Weiter unten vergleichst Du Kanal mit Zahlen.

              Hat es einen Grund, warum Du ausgerechnet mit den Zahlen 01, 02, 04, 08 und 10 vergleichst ?

              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

              M 2 Antworten Letzte Antwort
              0
              • M michihorn

                @paul53 Ja alles da
                Unbenannt2.JPG

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

                @michihorn
                Versuche es mal so:

                createState('Rolladen.WZ_Links');
                createState('Rolladen.WZ_Rechts');
                createState('Rolladen.EZ');
                createState('Rolladen.Küche');
                createState('Rolladen.WC');
                createState('Rolladen.Move_WZ_Links');
                createState('Rolladen.Move_WZ_Rechts');
                createState('Rolladen.Move_EZ');
                createState('Rolladen.Move_Küche');
                createState('Rolladen.Move_WC');
                
                var Statuswert;
                var Status;
                var Nr;
                var Kanal;
                
                function Rolladen(rollo, zeit) {
                      setState('javascript.0.Rolladen.' + rollo, Statuswert, true);
                      setState('javascript.0.Rolladen.Move_' + rollo, Status, true);
                      setState('javascript.0.Rolladen.Zeitsteuerung.' + zeit + '.Nr', Nr, true);
                      log(Kanal + ' ' + rollo + ' ' + Status + ' ' + Statuswert);
                }
                
                on(id: 'hm-rpc.1.CUX4000002.6.RCVS', function(dp) {
                      var RL = dp.state.val;
                      Kanal = parseInt(RL.substr(8, 2), 16);
                      Status = RL.substr(10, 2);
                      Nr = parseInt(Status, 16);
                
                      if (Status == "00") Statuswert = "No Information";
                      else if (Status == "01") Statuswert = "OBEN";
                      else if (Status == "02") Statuswert = "UNTEN";
                      else if (Status == "03") Statuswert = "Intermediate position stop";
                      else if (Status == "04") Statuswert = "Tilt/ventilation position stop";
                      else if (Status == "05") Statuswert = "Blocking";
                      else if (Status == "06") Statuswert = "Overheated";
                      else if (Status == "07") Statuswert = "Timeout";
                      else if (Status == "08") Statuswert = "Start to move up";
                      else if (Status == "09") Statuswert = "Start to move down";
                      else if (Status == "0A") Statuswert = "Fährt AUF";
                      else if (Status == "0B") Statuswert = "Fährt AB";
                      else if (Status == "0D") Statuswert = "Stopped in undefined position";
                      else if (Status == "0E") Statuswert = "Top position stop which is tilt position";
                      else if (Status == "0F") Statuswert = "Bottom position stop which is intermediate position";
                      else if (Status == "10") Statuswert = "Switching devices switched off";
                      else if (Status == "11") Statuswert = "Switching devices switched on";
                
                      if (Kanal & 1) Rolladen('WZ_Links', 'EINS');
                      if (Kanal & 2) Rolladen('WZ_Rechts', 'ZWEI');
                      if (Kanal & 4) Rolladen('EZ', 'DREI');
                      if (Kanal & 8) Rolladen('Küche', 'VIER');
                      if (Kanal & 16) Rolladen('WC', 'FÜNF');
                });
                

                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
                0
                • paul53P paul53

                  @michihorn
                  Weshalb erzeugst Du die Datenpunkte alle 2 Minuten neu ? Einmal genügt doch !

                  Du deklarierst die Variablen Statuswert und Nr innerhalb der Schedule-Callback-Funktion. Damit sind die Variablen in dieser Funktion lokal, also unnütz deklariert, weil sie in dieser Funktion nicht verwendet werden.
                  Lösche besser Zeilen 1 und 14 !

                          var Kanal = RL.substr(8, 2);
                  

                  Kanal ist also ein String ! Weiter unten vergleichst Du Kanal mit Zahlen.

                  Hat es einen Grund, warum Du ausgerechnet mit den Zahlen 01, 02, 04, 08 und 10 vergleichst ?

                  M Online
                  M Online
                  michihorn
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 Ich checke alle 2 Minuten den Status den mir der Elero-Stick anbietet. Könnte ja sein das ein Rollo per Handfernbedienung betätigt wird. Der Kanal ist das entsprechende Rollo, eigentlich eine Zahl, ich habe mehrere Versuche gemacht diese Warnmeldung raus zu bekommen, daher ist es wohl noch einmal eine Zahl und da wieder ein String.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @michihorn
                    Weshalb erzeugst Du die Datenpunkte alle 2 Minuten neu ? Einmal genügt doch !

                    Du deklarierst die Variablen Statuswert und Nr innerhalb der Schedule-Callback-Funktion. Damit sind die Variablen in dieser Funktion lokal, also unnütz deklariert, weil sie in dieser Funktion nicht verwendet werden.
                    Lösche besser Zeilen 1 und 14 !

                            var Kanal = RL.substr(8, 2);
                    

                    Kanal ist also ein String ! Weiter unten vergleichst Du Kanal mit Zahlen.

                    Hat es einen Grund, warum Du ausgerechnet mit den Zahlen 01, 02, 04, 08 und 10 vergleichst ?

                    M Online
                    M Online
                    michihorn
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 sagte in WARN in Script:

                    Hat es einen Grund, warum Du ausgerechnet mit den Zahlen 01, 02, 04, 08 und 10 vergleichst ?

                    Das gibt die Elero Doku so vor:
                    Easy Control Transmitter Stick.pdf

                    1 Antwort Letzte Antwort
                    0
                    • M michihorn

                      @paul53 Ich checke alle 2 Minuten den Status den mir der Elero-Stick anbietet. Könnte ja sein das ein Rollo per Handfernbedienung betätigt wird. Der Kanal ist das entsprechende Rollo, eigentlich eine Zahl, ich habe mehrere Versuche gemacht diese Warnmeldung raus zu bekommen, daher ist es wohl noch einmal eine Zahl und da wieder ein String.

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

                      @michihorn sagte:

                      Ich checke alle 2 Minuten den Status den mir der Elero-Stick anbietet.

                      Das machst Du im 2-Minuten-Schedule nicht, sondern es wird nur createState() (Datenpunkte erzeugen) ausgeführt.

                      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

                      M 1 Antwort Letzte Antwort
                      0
                      • M Online
                        M Online
                        michihorn
                        schrieb am zuletzt editiert von michihorn
                        #11

                        Stimmt die Schedule sollte direkt vor dem eigentlichen Script sein.

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @michihorn sagte:

                          Ich checke alle 2 Minuten den Status den mir der Elero-Stick anbietet.

                          Das machst Du im 2-Minuten-Schedule nicht, sondern es wird nur createState() (Datenpunkte erzeugen) ausgeführt.

                          M Online
                          M Online
                          michihorn
                          schrieb am zuletzt editiert von
                          #12

                          @paul53 DerDatenpunkt "hm-rpc.1.CUX4000002.6.RCVS" wird von den Elero-Stick geschrieben, dort steht der Status des jeweiligen Rollo drin.

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • M michihorn

                            @paul53 DerDatenpunkt "hm-rpc.1.CUX4000002.6.RCVS" wird von den Elero-Stick geschrieben, dort steht der Status des jeweiligen Rollo drin.

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

                            @michihorn sagte:

                            DerDatenpunkt "hm-rpc.1.CUX4000002.6.RCVS" wird von den Elero-Stick geschrieben

                            Der Datenpunkt dient als Trigger, dann solltest Du kein Schedule verwenden.

                            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
                            0
                            • M Online
                              M Online
                              michihorn
                              schrieb am zuletzt editiert von
                              #14

                              Stimmt den habe ich gerade schon raus geworfen reagiert ja auf "ne"

                              1 Antwort Letzte Antwort
                              0
                              • M Online
                                M Online
                                michihorn
                                schrieb am zuletzt editiert von michihorn
                                #15

                                Das Script sieht nun wie folgt aus:

                                createState('Rolladen.WZ_Links');
                                createState('Rolladen.WZ_Rechts');
                                createState('Rolladen.EZ');
                                createState('Rolladen.Küche');
                                createState('Rolladen.WC');
                                createState('Rolladen.Move_WZ_Links');
                                createState('Rolladen.Move_WZ_Rechts');
                                createState('Rolladen.Move_EZ');
                                createState('Rolladen.Move_Küche');
                                createState('Rolladen.Move_WC');
                                var Statuswert;
                                var Status;
                                var Nr;
                                var Kanal;
                                
                                on({id:'hm-rpc.1.CUX4000002.6.RCVS', change: "ne"},
                                    function(Rolladen) {
                                        var RL = getState("hm-rpc.1.CUX4000002.6.RCVS").val;
                                        Kanal = RL.substr(8, 2);
                                        Status = RL.substr(10, 2);
                                
                                    if (Status == "00") Statuswert = "No Information";
                                      else if (Status == "01") Statuswert = "OBEN";
                                      else if (Status == "02") Statuswert = "UNTEN";
                                      else if (Status == "03") Statuswert = "Intermediate position stop";
                                      else if (Status == "04") Statuswert = "Tilt/ventilation position stop";
                                      else if (Status == "05") Statuswert = "Blocking";
                                      else if (Status == "06") Statuswert = "Overheated";
                                      else if (Status == "07") Statuswert = "Timeout";
                                      else if (Status == "08") Statuswert = "Start to move up";
                                      else if (Status == "09") Statuswert = "Start to move down";
                                      else if (Status == "0A") Statuswert = "Fährt AUF";
                                      else if (Status == "0B") Statuswert = "Fährt AB";
                                      else if (Status == "0D") Statuswert = "Stopped in undefined position";
                                      else if (Status == "0E") Statuswert = "Top position stop which is tilt position";
                                      else if (Status == "0F") Statuswert = "Bottom position stop which is intermediate position";
                                      else if (Status == "10") Statuswert = "Switching devices switched off";
                                      else if (Status == "11") Statuswert = "Switching devices switched on";
                                      
                                        if (Kanal == "01") {
                                            setState('javascript.0.Rolladen.WZ_Links', Statuswert);
                                            setState('javascript.0.Rolladen.Move_WZ_Links', Status);
                                            var Nr = Status.substr(1, 1);
                                            setState('javascript.0.Rolladen.Zeitsteuerung.EINS.Nr',Nr);
                                                        log(Kanal + " WZ Links " + Status + " " + Statuswert);
                                        } else {
                                            if (Kanal == "02") {
                                                setState('javascript.0.Rolladen.WZ_Rechts', Statuswert);
                                                setState('javascript.0.Rolladen.Move_WZ_Rechts', Status);
                                                Nr = Status.substr(1, 1);
                                                setState('javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr',Nr);
                                                log(Kanal + " WZ Rechts " + Status + " " + Statuswert);
                                            } else {
                                                if (Kanal == "04") {
                                                    setState('javascript.0.Rolladen.EZ', Statuswert);
                                                    setState('javascript.0.Rolladen.Move_EZ', Status);
                                                    Nr = Status.substr(1, 1);
                                                    setState('javascript.0.Rolladen.Zeitsteuerung.DREI.Nr',Nr); 
                                                    log(Kanal + " EZ " + Status + " " + Statuswert);
                                                } else {
                                                    if (Kanal == "08") {
                                                        setState('javascript.0.Rolladen.Küche', Statuswert);
                                                        setState('javascript.0.Rolladen.Move_Küche', Status);
                                                         Nr = Status.substr(1, 1);
                                                        setState('javascript.0.Rolladen.Zeitsteuerung.VIER.Nr',Nr);
                                                        log(Kanal + " Küche " + Status + " " + Statuswert);
                                                    } else {
                                                        if (Kanal == "10") {
                                                            setState('javascript.0.Rolladen.WC', Statuswert);
                                                            setState('javascript.0.Rolladen.Move_WC', Status);
                                                            Nr = Status.substr(1, 1);
                                                            setState('javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr',Nr); 
                                                            log(Kanal + " WC " + Status + " " + Statuswert);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                       
                                    });
                                
                                

                                Die Warnmeldungen kommen bei Zeile 17, 21, 25, 29
                                Anbei das LOG-File
                                log.txt

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • M michihorn

                                  Das Script sieht nun wie folgt aus:

                                  createState('Rolladen.WZ_Links');
                                  createState('Rolladen.WZ_Rechts');
                                  createState('Rolladen.EZ');
                                  createState('Rolladen.Küche');
                                  createState('Rolladen.WC');
                                  createState('Rolladen.Move_WZ_Links');
                                  createState('Rolladen.Move_WZ_Rechts');
                                  createState('Rolladen.Move_EZ');
                                  createState('Rolladen.Move_Küche');
                                  createState('Rolladen.Move_WC');
                                  var Statuswert;
                                  var Status;
                                  var Nr;
                                  var Kanal;
                                  
                                  on({id:'hm-rpc.1.CUX4000002.6.RCVS', change: "ne"},
                                      function(Rolladen) {
                                          var RL = getState("hm-rpc.1.CUX4000002.6.RCVS").val;
                                          Kanal = RL.substr(8, 2);
                                          Status = RL.substr(10, 2);
                                  
                                      if (Status == "00") Statuswert = "No Information";
                                        else if (Status == "01") Statuswert = "OBEN";
                                        else if (Status == "02") Statuswert = "UNTEN";
                                        else if (Status == "03") Statuswert = "Intermediate position stop";
                                        else if (Status == "04") Statuswert = "Tilt/ventilation position stop";
                                        else if (Status == "05") Statuswert = "Blocking";
                                        else if (Status == "06") Statuswert = "Overheated";
                                        else if (Status == "07") Statuswert = "Timeout";
                                        else if (Status == "08") Statuswert = "Start to move up";
                                        else if (Status == "09") Statuswert = "Start to move down";
                                        else if (Status == "0A") Statuswert = "Fährt AUF";
                                        else if (Status == "0B") Statuswert = "Fährt AB";
                                        else if (Status == "0D") Statuswert = "Stopped in undefined position";
                                        else if (Status == "0E") Statuswert = "Top position stop which is tilt position";
                                        else if (Status == "0F") Statuswert = "Bottom position stop which is intermediate position";
                                        else if (Status == "10") Statuswert = "Switching devices switched off";
                                        else if (Status == "11") Statuswert = "Switching devices switched on";
                                        
                                          if (Kanal == "01") {
                                              setState('javascript.0.Rolladen.WZ_Links', Statuswert);
                                              setState('javascript.0.Rolladen.Move_WZ_Links', Status);
                                              var Nr = Status.substr(1, 1);
                                              setState('javascript.0.Rolladen.Zeitsteuerung.EINS.Nr',Nr);
                                                          log(Kanal + " WZ Links " + Status + " " + Statuswert);
                                          } else {
                                              if (Kanal == "02") {
                                                  setState('javascript.0.Rolladen.WZ_Rechts', Statuswert);
                                                  setState('javascript.0.Rolladen.Move_WZ_Rechts', Status);
                                                  Nr = Status.substr(1, 1);
                                                  setState('javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr',Nr);
                                                  log(Kanal + " WZ Rechts " + Status + " " + Statuswert);
                                              } else {
                                                  if (Kanal == "04") {
                                                      setState('javascript.0.Rolladen.EZ', Statuswert);
                                                      setState('javascript.0.Rolladen.Move_EZ', Status);
                                                      Nr = Status.substr(1, 1);
                                                      setState('javascript.0.Rolladen.Zeitsteuerung.DREI.Nr',Nr); 
                                                      log(Kanal + " EZ " + Status + " " + Statuswert);
                                                  } else {
                                                      if (Kanal == "08") {
                                                          setState('javascript.0.Rolladen.Küche', Statuswert);
                                                          setState('javascript.0.Rolladen.Move_Küche', Status);
                                                           Nr = Status.substr(1, 1);
                                                          setState('javascript.0.Rolladen.Zeitsteuerung.VIER.Nr',Nr);
                                                          log(Kanal + " Küche " + Status + " " + Statuswert);
                                                      } else {
                                                          if (Kanal == "10") {
                                                              setState('javascript.0.Rolladen.WC', Statuswert);
                                                              setState('javascript.0.Rolladen.Move_WC', Status);
                                                              Nr = Status.substr(1, 1);
                                                              setState('javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr',Nr); 
                                                              log(Kanal + " WC " + Status + " " + Statuswert);
                                                          }
                                                      }
                                                  }
                                              }
                                          }
                                         
                                      });
                                  
                                  

                                  Die Warnmeldungen kommen bei Zeile 17, 21, 25, 29
                                  Anbei das LOG-File
                                  log.txt

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

                                  @michihorn sagte:

                                  Die Warnmeldungen kommen bei Zeile 17, 21, 25, 29

                                  Nein, Warnungen kommen bei den setState('javascript.0.Rolladen.Zeitsteuerung.ZWEI.Nr',Nr) bis FÜNF. Sind die Datenpunkte vom Typ "Zeichenkette"(string) ? Das sollten sie sein.
                                  17, 21, 25, 29 sind die Zeichenpositionen in der Zeile.

                                  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
                                  0
                                  • M Online
                                    M Online
                                    michihorn
                                    schrieb am zuletzt editiert von
                                    #17

                                    Doch schon:
                                    Unbenannt3.JPG

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Online
                                      M Online
                                      michihorn
                                      schrieb am zuletzt editiert von michihorn
                                      #18

                                      Jetzt klappt es:
                                      Hab CreateState so ausgedrückt: "createState("javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr");"
                                      Fehler war so: "createState("javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr",{read: true,write: true,desc: "Berechneter Wert,",type: "string",min:'0', max:'12',def:1});"

                                      Danke Paul53

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • M michihorn

                                        Jetzt klappt es:
                                        Hab CreateState so ausgedrückt: "createState("javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr");"
                                        Fehler war so: "createState("javascript.0.Rolladen.Zeitsteuerung.FÜNF.Nr",{read: true,write: true,desc: "Berechneter Wert,",type: "string",min:'0', max:'12',def:1});"

                                        Danke Paul53

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

                                        @michihorn
                                        Ja, min: und max: machen bei Strings keinen Sinn.

                                        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
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        710

                                        Online

                                        32.6k

                                        Benutzer

                                        82.1k

                                        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