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. JavaScript
  5. Fenster Zählen Script Erweiterung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

Fenster Zählen Script Erweiterung

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 3 Kommentatoren 527 Aufrufe 3 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.
  • F Offline
    F Offline
    f0rd42
    schrieb am zuletzt editiert von
    #1

    Hallo

    ich bin gerade dbaei, das allgemein bekannte Fenster Zählen Script für mich passend zu machen, d.h.:

    • Funktioniert mit den neuen SRH (HmIP)

    • Zählt auch die Anzahl der gekippten Fenster.

    Dabei habe ich einige Erweiterungen vorgenommen und stehe nun vor einem Problem, dass ich nicht verstehe (JS Anfänger)

    In folgendem Codeblock meckert er beim Kompilieren:

    cacheSelectorState.each(function (id, i) {                                  // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
            var status = getState(id).val;                                          // Zustand *.STATE abfragen (jedes Element)
            var obj    = getObject(id);
            var name = getObject(id).common.name;
            var devicename = name.substring(0, name.indexOf(".STATE"));             //.state aus Text entfernen
            if (status == '2' /*SRH*/) {  // wenn Zustand offen, dann wird die Anzahl der Fenster hochgezählt
                 ++anzahlFensterauf;
                 textFensterauf.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
            }  
            else (status == '1' /*SRH*/) {  // wenn Zustand gekippt, dann wird die Anzahl der Fenster hochgezählt
                 ++anzahlFenstergekippt;
                 textFenstergekippt.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
            }                 
            log('Fenster #' + (i+1) + ': ' + devicename + ' ' + fensterstatus(status)/* + ' (' + status + ' / ' + typeof status + ')'*/);
            ++anzahlFenster;                                                        // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
        }); 
    

    Und zwar behauptet er, dass hinter "else (status == '1' /SRH/)" ein Semikolon erwartet wird und keine geschweifte Klammer auf ......

    Kann mir das jemand erklären oder mir bei der Lösung behilflich sein?

    Danke

    OstfrieseUnterwegsO 1 Antwort Letzte Antwort
    0
    • F f0rd42

      Hallo

      ich bin gerade dbaei, das allgemein bekannte Fenster Zählen Script für mich passend zu machen, d.h.:

      • Funktioniert mit den neuen SRH (HmIP)

      • Zählt auch die Anzahl der gekippten Fenster.

      Dabei habe ich einige Erweiterungen vorgenommen und stehe nun vor einem Problem, dass ich nicht verstehe (JS Anfänger)

      In folgendem Codeblock meckert er beim Kompilieren:

      cacheSelectorState.each(function (id, i) {                                  // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
              var status = getState(id).val;                                          // Zustand *.STATE abfragen (jedes Element)
              var obj    = getObject(id);
              var name = getObject(id).common.name;
              var devicename = name.substring(0, name.indexOf(".STATE"));             //.state aus Text entfernen
              if (status == '2' /*SRH*/) {  // wenn Zustand offen, dann wird die Anzahl der Fenster hochgezählt
                   ++anzahlFensterauf;
                   textFensterauf.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
              }  
              else (status == '1' /*SRH*/) {  // wenn Zustand gekippt, dann wird die Anzahl der Fenster hochgezählt
                   ++anzahlFenstergekippt;
                   textFenstergekippt.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
              }                 
              log('Fenster #' + (i+1) + ': ' + devicename + ' ' + fensterstatus(status)/* + ' (' + status + ' / ' + typeof status + ')'*/);
              ++anzahlFenster;                                                        // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
          }); 
      

      Und zwar behauptet er, dass hinter "else (status == '1' /SRH/)" ein Semikolon erwartet wird und keine geschweifte Klammer auf ......

      Kann mir das jemand erklären oder mir bei der Lösung behilflich sein?

      Danke

      OstfrieseUnterwegsO Offline
      OstfrieseUnterwegsO Offline
      OstfrieseUnterwegs
      schrieb am zuletzt editiert von
      #2

      @f0rd42
      Da hat er Recht.

      if (condition1) {
        //  block of code to be executed if condition1 is true
      } else if (condition2) {
        //  block of code to be executed if the condition1 is false and condition2 is true
      } else {
        //  block of code to be executed if the condition1 is false and condition2 is false
      }
      
      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        f0rd42
        schrieb am zuletzt editiert von
        #3

        Niemand von den Profis eine Idee?
        JS Adapter ist derzeit 4.1.10, aber immer noch das Gleiche Problem.

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @f0rd42 sagte:

              else (status == '1' /*SRH*/) {  // wenn Zustand gekippt, dann wird die Anzahl der Fenster hochgezählt  
          
                  else if(status == '1' /*SRH*/) {  // wenn Zustand gekippt, dann wird die Anzahl der Fenster hochgezählt
          

          @OstfrieseUnterwegs hat es doch allgemein erklärt !

          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
          • OstfrieseUnterwegsO Offline
            OstfrieseUnterwegsO Offline
            OstfrieseUnterwegs
            schrieb am zuletzt editiert von
            #5

            else (bedingung) {...}; gibt es nicht.
            Entweder else if (bedingung) {...}; oder _else {...};

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              f0rd42
              schrieb am zuletzt editiert von
              #6

              Da haben sich die Antworten überschnitten.
              Mann, dass mir das nicht selbst aufgefallen ist.

              Ich werde es mal weiter umsetzen und Reporten.

              Danke

              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

              811

              Online

              32.4k

              Benutzer

              81.5k

              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