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. getObject();

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

getObject();

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
13 Beiträge 5 Kommentatoren 1.4k 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.
  • C Offline
    C Offline
    chrweh34
    schrieb am zuletzt editiert von
    #4

    Hallo nochmal,
    danke für die Rückmeldung!

    @LausiD
    Der code ist von der Seite www.smarthome-tricks.de. Hier der ganze Code:

    function listEnumDevices() {
    log("Liste der Fenster und Status:");
    var windows = getObject('enum.functions.windowstatus').common.members;
    for(let i = 0; i < windows.length; i++) {
    var Status = getState(windows[i]).val;
    log(windows[i] + " " + Status);
    }

    log("Liste der Türen und Status:");
    var doors = getObject("enum.functions.doorstatus").common.members;
    for(let i = 0; i < doors.length; i++) {
    var Status = getState(doors[i]).val;
    log(doors[i] + " " + Status);
    }
    }

    Ich habe die Aufzählungen entsprechend angelegt, nutze allerdings innogy-smarthome fenster-sensoren.

    @paul53: "id" war nur zur Verallgemeinerung. Ich benutze "enum.functions.windowstatus" als Aufzählung
    .

    1 Antwort Letzte Antwort
    0
    • C chrweh34

      Hallo zusammen,
      ich bin noch recht frisch mit ioBroker beschäftigt. Ich bin im Internet auf das Script gestoßen mit dem man die offenen Fenster zählen kann. Leider bekomme ich bei der Zeile
      var windows = getObject(id).common.members ; immer angezeigt das members keine Eigenschaft des Objektes ist. Ich habe keine Ahnung woran das liegt.
      Kennt ihr das Problem und habt vielleicht einen Tipp für mich?

      Viele Grüße und danke schon mal im voraus!
      Christoph

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

      @chrweh34 sagte in getObject();:

      immer angezeigt das members keine Eigenschaft des Objektes ist.

      Wo und wann bekommst Du es angezeigt ?

      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

      C 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @chrweh34 sagte in getObject();:

        immer angezeigt das members keine Eigenschaft des Objektes ist.

        Wo und wann bekommst Du es angezeigt ?

        C Offline
        C Offline
        chrweh34
        schrieb am zuletzt editiert von
        #6

        @paul53

        Es wird immer dann angezeigt wenn ich das Script im compiler (Administrator) aufrufe.

        paul53P 1 Antwort Letzte Antwort
        0
        • C chrweh34

          @paul53

          Es wird immer dann angezeigt wenn ich das Script im compiler (Administrator) aufrufe.

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

          @chrweh34 sagte in getObject();:

          Es wird immer dann angezeigt wenn ich das Script im compiler (Administrator) aufrufe.

          Also vom Editor/Parser und nicht bei der Ausführung ? Dann kannst Du es ignorieren.

          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

          C 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @chrweh34 sagte in getObject();:

            Es wird immer dann angezeigt wenn ich das Script im compiler (Administrator) aufrufe.

            Also vom Editor/Parser und nicht bei der Ausführung ? Dann kannst Du es ignorieren.

            C Offline
            C Offline
            chrweh34
            schrieb am zuletzt editiert von
            #8

            @paul53

            Funktioniert - alles klar!

            Dank für Deine Hilfe!

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              mumurik
              schrieb am zuletzt editiert von
              #9

              Ich habe noch eine Verständnisfrage, mit

              log(windows[i] + " " + Status);
              

              bekomme ich den Status aller Fenster im Log angezeigt, das funktioniert einwandfrei.

              Wie kriege ich aber diesen Status (Liste aller offenen Fenster) in ein Datenpunkt übergeben, so dass ich z.B. VIS danach triggern kann?

              Danke, viele Grüße

              AlCalzoneA 1 Antwort Letzte Antwort
              0
              • M mumurik

                Ich habe noch eine Verständnisfrage, mit

                log(windows[i] + " " + Status);
                

                bekomme ich den Status aller Fenster im Log angezeigt, das funktioniert einwandfrei.

                Wie kriege ich aber diesen Status (Liste aller offenen Fenster) in ein Datenpunkt übergeben, so dass ich z.B. VIS danach triggern kann?

                Danke, viele Grüße

                AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #10

                @mumurik mit der Funktion setState:
                https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#setstate

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                M 1 Antwort Letzte Antwort
                0
                • AlCalzoneA AlCalzone

                  @mumurik mit der Funktion setState:
                  https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#setstate

                  M Offline
                  M Offline
                  mumurik
                  schrieb am zuletzt editiert von mumurik
                  #11

                  @AlCalzone
                  danke, das habe ich mir schon gedacht, allerdings verstehe ich nicht ganz, wie es in diesem konkreten Beispiel aussehen soll.

                  So etwa?

                  setState('Datenpunkte.0.StatusWindowOpenText', Status );
                  

                  bzw.

                  function listEnumDevices() {
                  log("Liste der Fenster und Status:");
                  var windows = getObject('enum.functions.windowstatus').common.members;
                  for(let i = 0; i < windows.length; i++) {
                  var Status = getState(windows[i]).val;
                  log(windows[i] + " " + Status);
                  setState('Datenpunkte.0.StatusWindowOpenText', Status );
                  }

                  ???

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • M mumurik

                    @AlCalzone
                    danke, das habe ich mir schon gedacht, allerdings verstehe ich nicht ganz, wie es in diesem konkreten Beispiel aussehen soll.

                    So etwa?

                    setState('Datenpunkte.0.StatusWindowOpenText', Status );
                    

                    bzw.

                    function listEnumDevices() {
                    log("Liste der Fenster und Status:");
                    var windows = getObject('enum.functions.windowstatus').common.members;
                    for(let i = 0; i < windows.length; i++) {
                    var Status = getState(windows[i]).val;
                    log(windows[i] + " " + Status);
                    setState('Datenpunkte.0.StatusWindowOpenText', Status );
                    }

                    ???

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

                    @mumurik sagte:

                    (Liste aller offenen Fenster) in ein Datenpunkt übergeben

                    Etwa so:

                    function listEnumDevices() {
                       log("Liste der Fenster und Status:");
                       var windows = getObject('enum.functions.windowstatus').common.members;
                       var txt = '';
                       for(let i = 0; i < windows.length; i++) {
                          var Status = getState(windows[i]).val;
                          log(windows[i] + " " + Status);
                          if(Status) txt = txt + windows[i] + ',<br>';
                       }
                       if(txt.length == 0) txt = 'Alle Fenster geschlossen';
                       setState('Datenpunkte.0.StatusWindowOpenText', txt, true );
                    }
                    

                    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 Offline
                      M Offline
                      mumurik
                      schrieb am zuletzt editiert von mumurik
                      #13

                      @paul53 sagte in getObject();:

                      function listEnumDevices() { log("Liste der Fenster und Status:"); var windows = getObject('enum.functions.windowstatus').common.members; var txt = ''; for(let i = 0; i < windows.length; i++) { var Status = getState(windows[i]).val; log(windows[i] + " " + Status); if(Status) txt = txt + windows[i] + ',<br>'; } if(txt.length == 0) txt = 'Alle Fenster geschlossen'; setState('Datenpunkte.0.StatusWindowOpenText', txt, true ); }

                      Super, vielen Dank!

                      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

                      395

                      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