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. Visualisierung
  4. [gelöst]Lichtersteuerung auf Smartphone

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    520

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

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

[gelöst]Lichtersteuerung auf Smartphone

Geplant Angeheftet Gesperrt Verschoben Visualisierung
25 Beiträge 3 Kommentatoren 3.4k 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.
  • BananaJoeB BananaJoe

    @meikie sagte in [gelöst]Lichtersteuerung auf Smartphone:

    let s_currentRoom = a_lightcontrol[i][0];
    

    0 ist WZ, 1 wäre 0_userdata.0.Lights.WZ-Kaminlicht

    Und ich mag es ja mit vielen Kommentaren ... aber warum musst du die auch immer unbedingt da mitten in den Text schreiben. Bei deinem Array - das packe doch in 0 die Beschreibung die du als Kommentar nutzt, und wenn es dann ein Feld mehr ist. Ist dann auch beim Debuggen praktisch weil man dann die Beschreibung mit ausgeben könnte

    M Offline
    M Offline
    Meikie
    schrieb am zuletzt editiert von
    #21

    Hey,
    sehe es mir nach. Ich bin ganz neu in diesem Metier :-)

    0 ist WZ, 1 wäre 0_userdata.0.Lights.WZ-Kaminlicht

    Genau so sollte es sein. Kannst du einen Fehler finden und mir sagen?
    Vielen Dank.

    ZarelloZ 1 Antwort Letzte Antwort
    0
    • M Meikie

      Hey,
      sehe es mir nach. Ich bin ganz neu in diesem Metier :-)

      0 ist WZ, 1 wäre 0_userdata.0.Lights.WZ-Kaminlicht

      Genau so sollte es sein. Kannst du einen Fehler finden und mir sagen?
      Vielen Dank.

      ZarelloZ Offline
      ZarelloZ Offline
      Zarello
      schrieb am zuletzt editiert von
      #22

      @meikie War jetzt noch eine Frage offen? Denn der Titel dieser Diskussion ist ja inzwischen auf gelöst gesetzt.

      M 1 Antwort Letzte Antwort
      0
      • ZarelloZ Zarello

        @meikie War jetzt noch eine Frage offen? Denn der Titel dieser Diskussion ist ja inzwischen auf gelöst gesetzt.

        M Offline
        M Offline
        Meikie
        schrieb am zuletzt editiert von
        #23

        @zarello Das eigentliche Thema ist gelöst. Jetzt habe ich nur noch eine Frage gehabt bzgl. dem Wohnzimmer komplett selektieren / deselektiern. Siehe Post vor ca 40min.
        Danke schon einmal.

        1 Antwort Letzte Antwort
        0
        • M Meikie

          @zarello Hey, vielen Dank für deine Hilfe. Jetzt habe ich es soweit hinbekommen. Nur folgender Code bekomme ich nicht zum laufen.

          let a_lightcontrol = [
              [/*"WZ-Kaminlicht"*/    "WZ",   "0_userdata.0.Lights.WZ-Kaminlicht", "zigbee.0.04cd15fffedb3087.state",  "zigbee.0.04cd15fffedb3087.color"],
              [/*"WZ-Couch"*/         "WZ",   "0_userdata.0.Lights.WZ-Couch",      "zigbee.0.842e14fffe36885f.state"],
              [/*"WZ-Stehlampe"*/     "WZ",   "0_userdata.0.Lights.WZ-Stehlampe",  "zigbee.0.9035eafffe04994d.state",  "zigbee.0.9035eafffe04994d.color"],
              [/*"Bad-Ambiente"*/     "Bad",  "0_userdata.0.Lights.Bad-Ambiente",  "zigbee.0.04cd15fffedb28e3.state",  "zigbee.0.04cd15fffedb28e3.color"]
          ];
          // Wohnzimmer komplett selektieren / deselektieren
          on({id: "0_userdata.0.Lights.control-wz"/*control-wz*/, change: "ne"}, async function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
                  // Abruf der Werte in einer Schleife:
                   for (var i = 0; i < a_lightcontrol.length; i++) {  
                  let s_currentRoom = a_lightcontrol[i][0];
                  let s_currentData = a_lightcontrol[i][1];
                  // Alle Lampen im Wohnzimmer auswählen
                  console.log(s_currentRoom);
                  if (getState (s_currentRoom).val == "WZ") {
                  setState(s_currentData/*Switch state*/, getState("0_userdata.0.Lights.control-wz").val);
                  }
              }
                  /*Kaminlicht*/ //setState("0_userdata.0.Lights.WZ-Kaminlicht", value);
                  /*Stehlampe*/  //setState("0_userdata.0.Lights.WZ-Stehlampe", value);
                  /*Couch*/      //setState("0_userdata.0.Lights.WZ-Couch", value);
          });
          

          Folgende Fehlermeldung steht im Protokoll.

          javascript.0 782	2023-02-24 14:18:16.917	warn	at processImmediate (node:internal/timers:466:21)
          javascript.0 782	2023-02-24 14:18:16.917	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56)
          javascript.0 782	2023-02-24 14:18:16.917	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
          javascript.0 782	2023-02-24 14:18:16.917	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
          javascript.0 782	2023-02-24 14:18:16.917	warn	at Object.<anonymous> (script.js.Ambiente.LichtsteuerungJS:66:13)
          javascript.0 782	2023-02-24 14:18:16.916	warn	getState "WZ" not found (3)
          javascript.0 782	2023-02-24 14:18:16.915	info	script.js.Ambiente.LichtsteuerungJS: WZ
          

          Was habe ich hier falsch? Vielen Dank für deine Hilfe.
          Liebe Grüße
          Michael

          ZarelloZ Offline
          ZarelloZ Offline
          Zarello
          schrieb am zuletzt editiert von Zarello
          #24

          @meikie sagte in [gelöst]Lichtersteuerung auf Smartphone:

                  let s_currentRoom = a_lightcontrol[i][0];
                  let s_currentData = a_lightcontrol[i][1];
                  // Alle Lampen im Wohnzimmer auswählen
                  console.log(s_currentRoom);
                  if (getState (s_currentRoom).val == "WZ") {
                    setState(s_currentData/*Switch state*/, getState("0_userdata.0.Lights.control-wz").val);
                  }
          

          Folgende Fehlermeldung steht im Protokoll.

          javascript.0 782	2023-02-24 14:18:16.917	warn	at Object.<anonymous> (script.js.Ambiente.LichtsteuerungJS:66:13)
          javascript.0 782	2023-02-24 14:18:16.916	warn	getState "WZ" not found (3)
          javascript.0 782	2023-02-24 14:18:16.915	info	script.js.Ambiente.LichtsteuerungJS: WZ
          

          Code und Log habe ich hier mal auf die wesentlichen Stellen gekürzt, die man benötigt um das Problem zu verstehen. Die folgenden Zeilennummern beziehen sich auf meinen gekürzten Ausschnitt:
          In Zeile 4 gibst Du s_currentRoom im Log aus. Das ist auch zu sehen in Zeile 3 des Logs.
          Der Wert von s_currentRoom is "WZ".
          Dann versuchst Du in Zeile 5 getState aufzurufen. Das System gibt Dir dazu völlig richtig die Antwort in Zeile 2 im Log: Ein Datenpunkt mit Namen "WZ" existiert nicht, denn getState versucht ja immer Werte aus einem Datenpunkt zu lesen.
          In Zeile 1 des Logs findest Du dann übrigens den Hinweis, wo die entsprechende Stelle zu suchen ist: Im Script Ambiente.LichtsteuerungJS, Zeile 66, Spalte 13.
          Eigentlich wolltest Du vermutlich einfach überprüfen ob Dein Tabelleneintrag zum Wohnzimmer gehört.
          Das wäre dann:

            if (s_currentRoom == "WZ") {
          

          Ich hoffe, das hilft Dir etwas weiter.

          Edit: Logzeile mit Hinweis auf Position ergänzt und beschrieben.

          M 1 Antwort Letzte Antwort
          1
          • ZarelloZ Zarello

            @meikie sagte in [gelöst]Lichtersteuerung auf Smartphone:

                    let s_currentRoom = a_lightcontrol[i][0];
                    let s_currentData = a_lightcontrol[i][1];
                    // Alle Lampen im Wohnzimmer auswählen
                    console.log(s_currentRoom);
                    if (getState (s_currentRoom).val == "WZ") {
                      setState(s_currentData/*Switch state*/, getState("0_userdata.0.Lights.control-wz").val);
                    }
            

            Folgende Fehlermeldung steht im Protokoll.

            javascript.0 782	2023-02-24 14:18:16.917	warn	at Object.<anonymous> (script.js.Ambiente.LichtsteuerungJS:66:13)
            javascript.0 782	2023-02-24 14:18:16.916	warn	getState "WZ" not found (3)
            javascript.0 782	2023-02-24 14:18:16.915	info	script.js.Ambiente.LichtsteuerungJS: WZ
            

            Code und Log habe ich hier mal auf die wesentlichen Stellen gekürzt, die man benötigt um das Problem zu verstehen. Die folgenden Zeilennummern beziehen sich auf meinen gekürzten Ausschnitt:
            In Zeile 4 gibst Du s_currentRoom im Log aus. Das ist auch zu sehen in Zeile 3 des Logs.
            Der Wert von s_currentRoom is "WZ".
            Dann versuchst Du in Zeile 5 getState aufzurufen. Das System gibt Dir dazu völlig richtig die Antwort in Zeile 2 im Log: Ein Datenpunkt mit Namen "WZ" existiert nicht, denn getState versucht ja immer Werte aus einem Datenpunkt zu lesen.
            In Zeile 1 des Logs findest Du dann übrigens den Hinweis, wo die entsprechende Stelle zu suchen ist: Im Script Ambiente.LichtsteuerungJS, Zeile 66, Spalte 13.
            Eigentlich wolltest Du vermutlich einfach überprüfen ob Dein Tabelleneintrag zum Wohnzimmer gehört.
            Das wäre dann:

              if (s_currentRoom == "WZ") {
            

            Ich hoffe, das hilft Dir etwas weiter.

            Edit: Logzeile mit Hinweis auf Position ergänzt und beschrieben.

            M Offline
            M Offline
            Meikie
            schrieb am zuletzt editiert von
            #25

            @zarello
            Super erklärt. Vielen Dank. Genau das wollte ich machen. Funktioniert!

            Bin mal gespannt wie weit ich jetzt noch komme :-)

            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

            265

            Online

            32.7k

            Benutzer

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