Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    1.0k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    3.5k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.2k

[gelöst]Lichtersteuerung auf Smartphone

Geplant Angeheftet Gesperrt Verschoben Visualisierung
25 Beiträge 3 Kommentatoren 3.9k Aufrufe 3 Beobachtet
  • Ä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

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            552

            Online

            33.0k

            Benutzer

            83.3k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2026
            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