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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Lichtsteuerung in VIS

NEWS

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

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

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

Lichtsteuerung in VIS

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
10 Beiträge 4 Kommentatoren 1.6k Aufrufe 4 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.
  • S Offline
    S Offline
    Spampunk
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,
    ich habe in unserem Haus annähernd 40 Philips-Hue-Lampen, die ich in VIS steuern möchte. Hier ein Screenshot z.B. vom OG:
    Screenshot 2020-11-06 190728.png
    Man tippt auf der Übersicht auf eine Lampe oder einen Bereich und in der rechten Karte kann man dann die Änderungen vornehmen. Die Werte werden über ein JS-Skript übernommen und auch geändert. Das funktioniert schon einmal gut.

    Aber: wie bekomme ich es hin, dass sich die Werte anpassen, wenn sie von extern geändert werden, z.B. der Hue-App?

    Jeder Slider korrespondiert mit einem manuell angelegten Datenpunkt. Ich müsste wahrscheinlich ein Array, z.B. [hue.Lampe1.on, hue.Lampe2.on,...] und dann auswerten, ob es eine Änderung bei dem DP gibt, dessen Werte in der VIS gerade angezeigt werden. Und hier komme ich nicht weiter.

    Habt Ihr eine Idee?

    Danke schon einmal,
    Timo

    M Karel PuhliK A 3 Antworten Letzte Antwort
    0
    • S Spampunk

      Hallo zusammen,
      ich habe in unserem Haus annähernd 40 Philips-Hue-Lampen, die ich in VIS steuern möchte. Hier ein Screenshot z.B. vom OG:
      Screenshot 2020-11-06 190728.png
      Man tippt auf der Übersicht auf eine Lampe oder einen Bereich und in der rechten Karte kann man dann die Änderungen vornehmen. Die Werte werden über ein JS-Skript übernommen und auch geändert. Das funktioniert schon einmal gut.

      Aber: wie bekomme ich es hin, dass sich die Werte anpassen, wenn sie von extern geändert werden, z.B. der Hue-App?

      Jeder Slider korrespondiert mit einem manuell angelegten Datenpunkt. Ich müsste wahrscheinlich ein Array, z.B. [hue.Lampe1.on, hue.Lampe2.on,...] und dann auswerten, ob es eine Änderung bei dem DP gibt, dessen Werte in der VIS gerade angezeigt werden. Und hier komme ich nicht weiter.

      Habt Ihr eine Idee?

      Danke schon einmal,
      Timo

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @Spampunk Es gibt doch die hue-Adapter:

      2186a207-020f-4cca-b3f1-9b94d78e9d71-image.png
      Installieren und schon hat man die Werte aus der App!

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      S 1 Antwort Letzte Antwort
      1
      • M MCU

        @Spampunk Es gibt doch die hue-Adapter:

        2186a207-020f-4cca-b3f1-9b94d78e9d71-image.png
        Installieren und schon hat man die Werte aus der App!

        S Offline
        S Offline
        Spampunk
        schrieb am zuletzt editiert von
        #3

        @MCU
        Die Info fehlte wahrscheinlich noch: Den Hue-Adapter habe ich natürlich installiert.

        Aber stell dir vor, du hast 40 Lampen, jeweils mit den Datenpunkten "on", "level", "color", usw. In der VIS wird gerade Lampe 7 angezeigt und du möchtest, dass der Slider-Wert sich parallel ändert, wenn du auf deiner Hue-App die Helligkeit dimmst.

        Du musst also alle "level"-DPs beobachten, aber nur der Wert von der Lampe 7 wird auch in den Datenpunkt übertragen, der mit dem Helligkeits-Slider verknüpft ist.

        M 1 Antwort Letzte Antwort
        0
        • S Spampunk

          @MCU
          Die Info fehlte wahrscheinlich noch: Den Hue-Adapter habe ich natürlich installiert.

          Aber stell dir vor, du hast 40 Lampen, jeweils mit den Datenpunkten "on", "level", "color", usw. In der VIS wird gerade Lampe 7 angezeigt und du möchtest, dass der Slider-Wert sich parallel ändert, wenn du auf deiner Hue-App die Helligkeit dimmst.

          Du musst also alle "level"-DPs beobachten, aber nur der Wert von der Lampe 7 wird auch in den Datenpunkt übertragen, der mit dem Helligkeits-Slider verknüpft ist.

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von
          #4

          @Spampunk Problem noch nicht verstanden. Die Werte von Lampe 7 in der VIS sind doch mit der Hue-Instanz verknüpft oder nicht?

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          S 1 Antwort Letzte Antwort
          0
          • S Spampunk

            Hallo zusammen,
            ich habe in unserem Haus annähernd 40 Philips-Hue-Lampen, die ich in VIS steuern möchte. Hier ein Screenshot z.B. vom OG:
            Screenshot 2020-11-06 190728.png
            Man tippt auf der Übersicht auf eine Lampe oder einen Bereich und in der rechten Karte kann man dann die Änderungen vornehmen. Die Werte werden über ein JS-Skript übernommen und auch geändert. Das funktioniert schon einmal gut.

            Aber: wie bekomme ich es hin, dass sich die Werte anpassen, wenn sie von extern geändert werden, z.B. der Hue-App?

            Jeder Slider korrespondiert mit einem manuell angelegten Datenpunkt. Ich müsste wahrscheinlich ein Array, z.B. [hue.Lampe1.on, hue.Lampe2.on,...] und dann auswerten, ob es eine Änderung bei dem DP gibt, dessen Werte in der VIS gerade angezeigt werden. Und hier komme ich nicht weiter.

            Habt Ihr eine Idee?

            Danke schon einmal,
            Timo

            Karel PuhliK Offline
            Karel PuhliK Offline
            Karel Puhli
            schrieb am zuletzt editiert von
            #5

            @Spampunk

            Das sollte genau so funktionieren. Was hast du bei Polling in der Adapter Einstellung eingetragen?

            1 Antwort Letzte Antwort
            0
            • M MCU

              @Spampunk Problem noch nicht verstanden. Die Werte von Lampe 7 in der VIS sind doch mit der Hue-Instanz verknüpft oder nicht?

              S Offline
              S Offline
              Spampunk
              schrieb am zuletzt editiert von Spampunk
              #6

              @MCU
              nein, die Logik der VIS ist mit eigenen Datenpunkten verknüpft.
              Screenshot.png

              Damit brauche ich nur einen View anstatt 40, der Rest soll per JS passieren. Wie gesagt, das Anbinden an die Slider der jeweiligen Lampen habe ich schon. Ich muss jetzt nur noch hinbekommen, dass der View sich auch aktualisiert, wenn das Licht der gerade aktiven Lampe von extern geändert, z.B. gedimmt wird. Dann ändert sich ja der .level-DP der entsprechenden Lampe. Aber wie übertrage ich das auf die Object ID, in diesem Fall 0_userdata.0.EigeneDP.MD-VIS.Navigation.OG_Licht_bri?

              Ich benötige also ein Script, das in diesem Fall alle Hue.level-Datenpunkte überwacht. Und wenn etwas bei der Lampe geändert wird, die gerade in VIS aktiv ist, soll der Wert in den DP 0_userdata.0.EigeneDP.MD-VIS.Navigation.OG_Licht_bri übertragen werden. Genau hier komme ich nicht weiter.

              M 1 Antwort Letzte Antwort
              0
              • S Spampunk

                @MCU
                nein, die Logik der VIS ist mit eigenen Datenpunkten verknüpft.
                Screenshot.png

                Damit brauche ich nur einen View anstatt 40, der Rest soll per JS passieren. Wie gesagt, das Anbinden an die Slider der jeweiligen Lampen habe ich schon. Ich muss jetzt nur noch hinbekommen, dass der View sich auch aktualisiert, wenn das Licht der gerade aktiven Lampe von extern geändert, z.B. gedimmt wird. Dann ändert sich ja der .level-DP der entsprechenden Lampe. Aber wie übertrage ich das auf die Object ID, in diesem Fall 0_userdata.0.EigeneDP.MD-VIS.Navigation.OG_Licht_bri?

                Ich benötige also ein Script, das in diesem Fall alle Hue.level-Datenpunkte überwacht. Und wenn etwas bei der Lampe geändert wird, die gerade in VIS aktiv ist, soll der Wert in den DP 0_userdata.0.EigeneDP.MD-VIS.Navigation.OG_Licht_bri übertragen werden. Genau hier komme ich nicht weiter.

                M Online
                M Online
                MCU
                schrieb am zuletzt editiert von MCU
                #7

                @Spampunk Schick mal die Liste der eigenen DatenPunkte oder ein Bild von der Struktur und die entsprechenden HUE-DatenPunkte, die darin abgebildet werden oder werden sollen.

                Beispiel Helligkeit:

                64877e08-14db-4fcf-a6ec-1f2323b8fee1-image.png

                Oder Level:

                34233163-109b-42e2-99ec-29eb86c96eab-image.png

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                S 1 Antwort Letzte Antwort
                0
                • M MCU

                  @Spampunk Schick mal die Liste der eigenen DatenPunkte oder ein Bild von der Struktur und die entsprechenden HUE-DatenPunkte, die darin abgebildet werden oder werden sollen.

                  Beispiel Helligkeit:

                  64877e08-14db-4fcf-a6ec-1f2323b8fee1-image.png

                  Oder Level:

                  34233163-109b-42e2-99ec-29eb86c96eab-image.png

                  S Offline
                  S Offline
                  Spampunk
                  schrieb am zuletzt editiert von
                  #8

                  @MCU
                  Das ist ein super Tipp gewesen! Mit "IDs vom Selektor..." kann ich ein Array bilden - perfekt!

                  Meinen Code habe ich nun entsprechend angepasst, wohl in JS. Hier für den Helligkeitswert:

                  on({id: Array.prototype.slice.apply($("channel[state.id=hue.0.*.bri]")), change: "ne"}, function (obj) {
                      if ((obj.state ? obj.state.from : "") == 'system.adapter.hue.0') {
                      let dp = obj.id.slice(0, obj.id.length - 4);
                      if (dp == getState("0_userdata.0.EigeneDP.MD-VIS.Navigation.OG_LichtView").val) {
                          setState("0_userdata.0.EigeneDP.MD-VIS.Navigation.OG_Licht_bri", obj.state.val);
                      }
                    }
                  });
                  

                  Also vielen Dank, hiermit komme ich nun wieder weiter.

                  1 Antwort Letzte Antwort
                  0
                  • S Spampunk

                    Hallo zusammen,
                    ich habe in unserem Haus annähernd 40 Philips-Hue-Lampen, die ich in VIS steuern möchte. Hier ein Screenshot z.B. vom OG:
                    Screenshot 2020-11-06 190728.png
                    Man tippt auf der Übersicht auf eine Lampe oder einen Bereich und in der rechten Karte kann man dann die Änderungen vornehmen. Die Werte werden über ein JS-Skript übernommen und auch geändert. Das funktioniert schon einmal gut.

                    Aber: wie bekomme ich es hin, dass sich die Werte anpassen, wenn sie von extern geändert werden, z.B. der Hue-App?

                    Jeder Slider korrespondiert mit einem manuell angelegten Datenpunkt. Ich müsste wahrscheinlich ein Array, z.B. [hue.Lampe1.on, hue.Lampe2.on,...] und dann auswerten, ob es eine Änderung bei dem DP gibt, dessen Werte in der VIS gerade angezeigt werden. Und hier komme ich nicht weiter.

                    Habt Ihr eine Idee?

                    Danke schon einmal,
                    Timo

                    A Offline
                    A Offline
                    aueland
                    schrieb am zuletzt editiert von
                    #9

                    Moin @spampunk

                    Das sieht total klasse aus, bin auf der Suiche nach einer ansprechenden Lichtsteuerung und vir allem Darstellung hier gelandet. Würdest du eventuell die VIS-views und JSScripte zur Verfügung stellen?

                    S 1 Antwort Letzte Antwort
                    0
                    • A aueland

                      Moin @spampunk

                      Das sieht total klasse aus, bin auf der Suiche nach einer ansprechenden Lichtsteuerung und vir allem Darstellung hier gelandet. Würdest du eventuell die VIS-views und JSScripte zur Verfügung stellen?

                      S Offline
                      S Offline
                      Spampunk
                      schrieb am zuletzt editiert von Spampunk
                      #10

                      Moin @aueland
                      Nachdem ich etliche Probleme mit dem Skript hatte, bin ich letztendlich doch wieder dazu übergegangen, für jede Gruppe, bzw. Lampe eine eigene Karte zu erstellen. Das Skript ist somit passé.

                      Die Vis basiert auf Uhulas MDUI Material Design Vorlage. Auszüge aus meiner View könnte ich dir schicken, aber leider nicht alles, da du mit vielen Bindings eh nichts anfangen könntest. Vielleicht sagst du mal, woran du Interesse hast, aber dann bitte per PN.

                      Grüße,
                      Timo

                      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

                      510

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      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