Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Funktionen für den hue Adapter

NEWS

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

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

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

Funktionen für den hue Adapter

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
37 Beiträge 9 Kommentatoren 11.8k Aufrufe 1 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.
  • coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #23

    Hier mal ein kleines Beispiel:

    Widget zum an/aus schalten und Helligkeit regeln, bei klick auf das Icon des Colorpickers öffnet sich ein View mit Colorpicker

    [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":"true","transform":"true","bg_class_false":"ribbed-black","bg_class_true":"ribbed-red","icon_class_false":"","icon_class_true":"","icon_badge_false":"","icon_badge_true":"","badge_bg_class_false":"","badge_bg_class_true":"","brand_bg_class_false":"ribbed-darkTeal","brand_bg_class_true":"ribbed-darkTeal","oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.on","icon_false":"/vis.0/Glühbirne aus.png","icon_true":"/vis.0/500px-Dialog-information_on.svg.png","label_false":"Hue Wohnzimmer","label_true":"Hue Wohnzimmer","icon_width":"48","icon_height":"60","icon_top":"31","icon_left":"26","name":"Hue Wohnzimmer"},"style":{"left":"678px","top":"235px","width":"118px","height":"99px","font-family":"Arial, Helvetica, sans-serif"},"widgetSet":"metro"},{"tpl":"tplMetroSlider","data":{"oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.bri","visibility-cond":"==","visibility-val":1,"min":"0","max":"254","sliderCompleteColor":"#255874","sliderMarkerColor":"#f50f0f","name":"Slider Hue Wohnzimmer"},"style":{"left":"683px","top":"361px","width":"117px","height":"20px","font-family":"Arial, Helvetica, sans-serif"},"widgetSet":"metro"},{"tpl":"tplValueFloat","data":{"oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.bri","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" %","html_append_plural":" %","html_prepend":"Helligkeit ","name":"Helligkeit Hue Wohnzimmer"},"style":{"left":"683px","top":"342px","color":"white","font-size":"small","text-align":"center","width":"114px","height":"18px","font-family":"Arial, Helvetica, sans-serif"},"widgetSet":"basic"},{"tpl":"tplMetroTileDialog","data":{"visibility-cond":"==","visibility-val":1,"hover":"true","transform":"true","bg_class":"bg-black","icon_class":"","icon_badge":"","badge_bg_class":"","brand_bg_class":"","dialog_draggable":"true","dialog_icon_class":"","icon_src":"/vis-colorpicker.admin/colorpicker.png","dialog_width":"350","dialog_height":"430","dialog_flat":true,"dialog_title":"Colorpicker Wohnzimmer","icon_width":"90","icon_height":"90","icon_top":"62","icon_left":"62","contains_view":"Picker_Wohnzimmer","name":"Colorpicker Hue Wohnzimmer"},"style":{"left":"745px","top":"241px","width":"49px","height":"49px","font-family":"Arial, Helvetica, sans-serif"},"widgetSet":"metro"}]
    

    Hier das Widget für den Colorpicker:

    [{"tpl":"tplRGBFarbtastic","data":{"visibility-cond":"==","visibility-val":1,"divisor":"255","views":null,"name":"PickerView","blue-oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.b","green-oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.g","red-oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.r"},"style":{"left":"33px","top":"52px","width":"202px","height":"200px"},"widgetSet":"colorpicker"},{"tpl":"tplMetroSliderVertical","data":{"oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.sat","visibility-cond":"==","visibility-val":1,"min":"0","max":"254","sliderColor":"","sliderCompleteColor":"#255874","sliderMarkerColor":"#ef2a2a"},"style":{"left":"256px","top":"29px","width":"18px","height":"254px"},"widgetSet":"metro"},{"tpl":"tplMetroSlider","data":{"oid":"hue.0.Philips_hue.Hue_Lamp_Wohnzimmer.bri","visibility-cond":"==","visibility-val":1,"min":"0","max":"254","sliderColor":"","sliderCompleteColor":"#255874","sliderMarkerColor":"#f83030"},"style":{"left":"14px","top":"286px","width":"239px","height":"16px"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"0","html":"Helligkeit"},"style":{"left":"93px","top":"304px","color":"white","width":"119px","height":"42px","font-style":"","font-size":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"0","html":"S\nä\nt\nt\ni\ng\nu\nn\ng"},"style":{"left":"285px","top":"14px","color":"white","text-align":"","font-variant":"","word-spacing":"","letter-spacing":"","width":"10px","height":"318px"},"widgetSet":"basic"}]
    

    Gruß Frank

    1 Antwort Letzte Antwort
    0
    • V Offline
      V Offline
      vlink
      schrieb am zuletzt editiert von
      #24

      Hi Frank,

      Vielen vielen Dank!

      Das hilft schon mal sehr.

      Nach dem Import funkioniert es nur nicht so ganz.

      Habe die Object ID angepasst.

      Helligkeit geht.

      Die Regler unten und rechts auch.

      Nur beim Colorpicker tut sich nichts.

      Auch beim oberen Widget öffnet sich ein Pop Up das aber leer ist…

      Merci!

      1 Antwort Letzte Antwort
      0
      • coyoteC Offline
        coyoteC Offline
        coyote
        Most Active
        schrieb am zuletzt editiert von
        #25

        Hast du beim Colorpicker die Datenpunkte eingetragen? Unter Allgemein: rot Id, grün id, blau id

        Beim oberen ist klar. Wenn du auf das Colorpicker Icon klickst, ist das nur ein Link zu einem neuen View "Picker_Wohnzimmer"

        In dem View hab ich dann den Colorpicker drin liegen.
        6558_unbenannt1.png

        1 Antwort Letzte Antwort
        0
        • V Offline
          V Offline
          vlink
          schrieb am zuletzt editiert von
          #26

          Merci!

          Habe das jetzt verstanden mit der View und den Datenpunkten.

          Funktioniert auch halbwegs 🙂

          Habe nur noch ein seltsames Phänomen jetzt. Wenn ich eine Farbe im Colorpicker wähle dann geht das für 1 sec und dann ändert er plötzlich die Farbe automatisch auf eine andere - wie von Geisterhand. Auch die Helligkeit schiebe ich auf 100% und kurz danach regelt er wieder runter.

          Obwohl die Szene pausiert ist.

          Dankeschön!

          1 Antwort Letzte Antwort
          0
          • V Offline
            V Offline
            vlink
            schrieb am zuletzt editiert von
            #27

            Ich denke ich konnte den Fehler eingrenzen.

            Wenn sich die View mit dem Colorpicker öffnet geht immer die Helligkeit automatisch auf minimum runter.

            Schliesse ich die View und regle Helligkeit auf 100% und öffne colorpicker - geht es wieder automatisch runter.

            Muss dann in der Colorpicker view die Helligkeit wieder auf 100% schieben.

            Das verstehe ich nicht. Selbst wenn dass das einzigste Widget ist geht es so.

            Dabei sind die Datenpunkte doch nur .r .g .b

            Nirgendwo wird die helligkeit hier gesteuert.

            Oder woran kann das liegen?

            Vielen Dank!

            1 Antwort Letzte Antwort
            0
            • coyoteC Offline
              coyoteC Offline
              coyote
              Most Active
              schrieb am zuletzt editiert von
              #28

              Seit dem heutigen Javascript Update funktioniert das Hue Szenen Script von ruhr bei mir nicht mehr.

              Bekomme folgenden Fehler:

              javascript-0	2015-12-15 17:11:40	error	at script.js.Hue_Szenen:339:1
              javascript-0	2015-12-15 17:11:40	error	at sandbox.on (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1111:32)
              javascript-0	2015-12-15 17:11:40	error	at Object.sandbox.subscribe (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1056:40)
              javascript-0	2015-12-15 17:11:40	error	script.js.Hue_Szenen: TypeError: Object /^javascript\.\d+\.hue\.szene..*\.(sat|bri)/ has no method 'split'
              

              Ich poste es mal hier und im Fehler Forum.

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                Tiger015
                schrieb am zuletzt editiert von
                #29

                Hallo

                ich selber Arbeite auch selber mit dem hue szenen dynamisches licht script .

                was aber mein Problem ist das die Hue Lampen alle eine unterschiedliche farbe haben.

                Wenn ich szene "KAMIN" Starte

                1.Hue ist rot

                2.Hue ist grün

                3 Hue Led streifen ist grün

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #30

                  @Tiger015:

                  Hallo

                  ich selber Arbeite auch selber mit dem hue szenen dynamisches licht script .

                  was aber mein Problem ist das die Hue Lampen alle eine unterschiedliche farbe haben.

                  Wenn ich szene "KAMIN" Starte

                  1.Hue ist rot

                  2.Hue ist grün

                  3 Hue Led streifen ist grün `
                  Welche Szenen? Iobroker Szenen, dann schreibe bitte überall gleiche Werte.

                  Log?

                  1 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #31

                    ne. es geht um mein Skript.

                    brauche auch ein paar mehr Infos 🙂

                    hat es funktioniert und nun nicht mehr?

                    welche Version (Homepage oder das Aktuelle (http://forum.iobroker.net/viewtopic.php … 144#p63206) aus dem Forum)?

                    kann heute Abend schauen

                    Gesendet von iPhone mit Tapatalk

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Antwort Letzte Antwort
                    0
                    • T Offline
                      T Offline
                      Tiger015
                      schrieb am zuletzt editiert von
                      #32

                      Hallo

                      Was mir schon aufgefallen ist

                      wenn in Objecte Hue die Hue farbe nr eingebe. so das alle lampen die gleiche farbe haben soll.

                      geht das auch nicht.

                      bei einschalten der Lampen über taster:

                      (auszug log)

                      hue.0 2017-04-28 13:24:36.001 info final lightState for Philips_hue.Küche1:{'bri':203,'on':true,'level':80}

                      hue.0 2017-04-28 13:24:35.775 info final lightState for Philips_hue.Küche1_1:{'bri':203,'on':true,'level':80}

                      hue.0 2017-04-28 13:24:35.730 info final lightState for Philips_hue.Küche1:{'bri':203,'on':true,'hue':33016,'sat':254,'colormode':'hs','level':80}

                      hue.0 2017-04-28 13:24:35.728 info final lightState for Philips_hue.Küche1_1:{'bri':203,'on':true,'hue':33016,'sat':254,'colormode':'hs','level':80}

                      hue.0 2017-04-28 13:24:35.653 info final lightState for Philips_hue.Küche1:{'bri':203,'on':true,'level':80}

                      hue.0 2017-04-28 13:24:35.652 info final lightState for Philips_hue.Küche1_1:{'bri':203,'on':true,'level':80}

                      hue.0 2017-04-28 13:24:35.246 info final lightState for Philips_hue.Küche1:{'bri':203,'on':true,'hue':33016,'sat':254,'colormode':'hs','level':80}

                      hue.0 2017-04-28 13:24:35.101 info final lightState for Philips_hue.Küche1_1:{'bri':203,'on':true,'hue':33016,'sat':254,'colormode':'hs','level':80}


                      Hue Küche1 ist grün

                      Hue Küche1_1 ist weis

                      was mach ich den jetz falsch

                      was mir noch aufgefallen ist das die lampen eine unterschiedliche sw haben.

                      SW:1.15.2_r19181

                      SW:5.50.1.19085

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        jans_ios
                        schrieb am zuletzt editiert von
                        #33

                        Hallo Michael,

                        wie im GitHub bereits berichtet, schaltet ein Neustart des ioBrokers die letzte Szene wieder ein, auch wenn diese weit vor dem Neustart per VIS ausgeschaltet wurde. Als VIS wird der "Schnipsel" aus einem Deiner Beiträge verwendet.

                        Schalte ich die Szenerie aus, ändert sich interessanterweise überhaupt nichts an den Werten - der Wert "szene" bleibt bspw. bei "kamin" stehen, das sorgt vermutlich für den Restore dieser Szene. Alle anderen "Knöpfe" für die verschiedenen Szenen, Helligkeit und Sättigung sorgen direkt für die entsprechend angepassten Werte der Objekte.

                        Woran kann das liegen?

                        Danke!

                        Gruß, Jan

                        1 Antwort Letzte Antwort
                        0
                        • J Offline
                          J Offline
                          jans_ios
                          schrieb am zuletzt editiert von
                          #34

                          Hallo noch einmal,

                          Dein Hinweis mit dem "szene"-Wert war Gold wert. Ich habe diesen jetzt manuell auf "aus" gesetzt, jetzt läuft alles wie gewünscht. Er ändert sich überhaupt nicht, egal, welche Szene ich aktiviere. Wird er überhaupt wirklich benötigt? Denn ein Restore, so wie er bei mir bisher funktionierte und mein Problem verursachte, klappt ja so auch nicht mehr.

                          Gruß, Jan

                          1 Antwort Letzte Antwort
                          0
                          • ruhr70R Offline
                            ruhr70R Offline
                            ruhr70
                            schrieb am zuletzt editiert von
                            #35

                            @jans_ios:

                            Dein Hinweis mit dem "szene"-Wert war Gold wert. Ich habe diesen jetzt manuell auf "aus" gesetzt, jetzt läuft alles wie gewünscht. Er ändert sich überhaupt nicht, egal, welche Szene ich aktiviere. Wird er überhaupt wirklich benötigt? Denn ein Restore, so wie er bei mir bisher funktionierte und mein Problem verursachte, klappt ja so auch nicht mehr. `

                            Hallo Jan,

                            schön, wenn Du einen Workaround gefunden hast, der für Dich funktioniert.

                            Mir fehlen etwas Infos, um Dein Thema richtig greifen zu können.

                            Die VIS-Schnipsel von mir schreiben bei Aktivierung einer Szene den Szenennamen in den Datzenpunkt .szene.

                            Wenn sich hier bei Dir im Datenpunkt nichts ändert, ist das schon komisch.

                            .szene ist auch der überwachte Datenpunkt in den Subscriptions.

                            Gruß

                            Michael

                            Adapter: Fritzbox, Unify Circuit
                            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                            1 Antwort Letzte Antwort
                            0
                            • J Offline
                              J Offline
                              jans_ios
                              schrieb am zuletzt editiert von
                              #36

                              Hallo Michael,

                              noch ein Feedback zu der Sache - irgendetwas scheint bei meiner initialen Installation nicht i.O. gewesen zu sein. Ich habe heute einen weiteren Raum mit dynamischen Szenen versehen und der .szene Datenpunkt ist hier auch immer auf "aus" - es sei denn, ich setze eine Szene. Dann wird er kurz geswitcht und ist dann bei laufender Szene wieder "aus". Also alles, wie es sein soll und es funktioniert wunderbar 😉 Fehler lag also irgendwo auf meiner Seite.

                              Danke nochmals für das klasse Skript!

                              Gruß und nen guten Rutsch,

                              Jan

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                mikweb
                                schrieb am zuletzt editiert von
                                #37

                                ich bin anscheinend zu dov.

                                ich habe script angepasst so

                                ! // –---------- ANFANG der individuellen Konfiguration ------------
                                ! // die eigenen Lampen in Gruppen sortiert (die Farbverläufe und Effekte werden nach Gruppen aktiviert)
                                ! var lampen ={
                                ! "wohnzimmer": // Lampengruppe
                                ! [
                                ! "Philips_hue.Lampe2",
                                ! "Philips_hue.Lampe1",
                                ! "Philips_hue.Lampe3",
                                ! "Philips_hue.Sonne"
                                ! ]
                                ! };
                                ! var hueSzenenApapterPfad = "hue.szene."; // wo sollen die Datenpunkte in den ioBroker Objekten angelegt werden
                                ! // je Lampengruppe werden die Datenpunkte:
                                ! // .szene -> Änderung der Szene per Datenpunkt, z.B. über VIS oder im Script per szeneStart(lampenGruppe,szene,bri);
                                ! // .bri -> Änderung der Helligkeit per Datenpunkt (0-254)
                                ! // .sat -> Änderung der Farbsättigung per Datenpunkt ())0-254)
                                ! // .bri_inc -> Erhöhung/Verminderung der Helligkeit per Datenpunkt (positiver Wert = Heller, negativer Wert = dunkler)
                                ! // .sat_inc -> Erhöhung/Verminderung der Sättigung per Datenpunkt (positiver Wert = mehr Farbe, negativer Wert = blasser)
                                ! // angelegt
                                ! // z.B. unter: javascript.0.hue.szene.arbeitszimmer.szene (Javascfript Instanz 0, Pfad = "hue.szene.")
                                ! // globaler Parameter: Zufällige Zeit zwischen den Wechsel zwischen zwei Farben, je Lampe, in der aktivierten Szene in ms
                                ! // (wenn keine individuelle Zeit in der Szene definiert ist)
                                ! var delayMin = 1000; // minimale Zeit in ms einer Lampe, um in die nächste Farbe zu wechseln
                                ! var delayMax = 3000; // maximale Zeit in ms einer Lampe, um in die nächste Farbe zu wechseln
                                ! // ------------ ENDE der individuellen Konfiguration ------------
                                ! // -------------------------------------------------------------------------
                                ! // Script: Logik & Szenen - ab hier muss in der Regel nichts geändert werden
                                ! // -------------------------------------------------------------------------
                                ! var szenen = {
                                ! "beispiel":
                                ! {
                                ! "description": "Beispielszene", // optional: Beschreibung der Szene
                                ! "delayMin": 2000, // optional (ohne werden die globalen Einstellungen verwendet)
                                ! "delayMax": 9000, // optional (ohne werden die globalen Einstellungen verwendet)
                                ! "hueMin": 0, // niedrigste Farbe im Verlauf
                                ! "hueMax": 50000 // höchste Farbe im Verlauf
                                ! },
                                ! "kamin":
                                ! {
                                ! "description": "roter Farbverlauf",
                                ! "hueMin": 0,
                                ! "hueMax": 10000
                                ! },
                                ! "wald":
                                ! {
                                ! "description": "grüner Farbverlauf",
                                ! "hueMin": 20000,
                                ! "hueMax": 27000
                                ! },
                                ! "sonne":
                                ! {
                                ! "description": "gelb/oranger Farbverlauf",
                                ! "hueMin": 10000,
                                ! "hueMax": 17000
                                ! },
                                ! "blau":
                                ! {
                                ! "description": "Energie, blauer Farbverlauf",
                                ! "hueMin": 44000,
                                ! "hueMax": 48000
                                ! },
                                ! "strobo":
                                ! {
                                ! "description": "Stroboskop",
                                ! "ct": 153,
                                ! "delayMin": 500,
                                ! "delayMax": 800
                                ! },
                                ! "feuer":
                                ! {
                                ! "description": "pulsierende Farben",
                                ! "delayMin": 200,
                                ! "delayMax": 600,
                                ! "hueMin": 0,
                                ! "hueMax": 17000
                                ! },
                                ! "regenbogen":
                                ! {
                                ! "description": "das gesamte Farbspektrum",
                                ! "delayMin": 1000,
                                ! "delayMax": 8000,
                                ! "hueMin": 0,
                                ! "hueMax": 65355
                                ! },
                                ! "love":
                                ! {
                                ! "description": "langsam wechselnder Farbverlauf im lila/violetten Bereich, bis zu den Endpunkten blau und rot",
                                ! "delayMin": 5000,
                                ! "delayMax": 8000,
                                ! "hueMin": 46920,
                                ! "hueMax": 65355
                                ! }
                                ! };
                                ! // ##### Script Variablen #####
                                ! var timer = {};
                                ! var nextDelay = {};
                                ! var szeneAktiv = [];
                                ! var szene = [];
                                ! // ##### Script Funktionen #####
                                ! function rand(min, max) {
                                ! return Math.floor(Math.random() * (max - min + 1)) + min;
                                ! }
                                ! function dpAnlegen() {
                                ! for (var lampenGruppe in lampen) {
                                ! createState(hueSzenenApapterPfad + lampenGruppe + ".szene","aus");
                                ! createState(hueSzenenApapterPfad + lampenGruppe + ".infoAktiveSzene","keine");
                                ! createState(hueSzenenApapterPfad + lampenGruppe + ".bri",254);
                                ! createState(hueSzenenApapterPfad + lampenGruppe + ".bri_inc",0);
                                ! createState(hueSzenenApapterPfad + lampenGruppe + ".sat",254);
                                ! createState(hueSzenenApapterPfad + lampenGruppe + ".sat_inc",0);
                                ! log(hueSzenenApapterPfad + lampenGruppe + " wurde angelegt","info");
                                ! }
                                ! }
                                ! function restoreSzenen() {
                                ! for (var lampenGruppe in lampen) {
                                ! var aktiveSzene = getState(hueSzenenApapterPfad + lampenGruppe + ".szene").val;
                                ! var bri = getState(hueSzenenApapterPfad + lampenGruppe + ".bri").val;
                                ! if (aktiveSzene != "aus") {
                                ! log("im der Gruppe: " + lampenGruppe + " wurde die Szene: " + aktiveSzene + " wieder aktiviert.");
                                ! setState(hueSzenenApapterPfad + lampenGruppe + ".infoAktiveSzene",aktiveSzene);
                                ! szeneStart(lampenGruppe,aktiveSzene,bri);
                                ! }
                                ! }
                                ! }
                                ! function varsAnlegen() {
                                ! // Script-Variablen für jede Lampengruppe anlagen
                                ! for (var lampenGruppe in lampen) {
                                ! timer[lampenGruppe] = [];
                                ! nextDelay[lampenGruppe] = [];
                                ! szeneAktiv[lampenGruppe] = false;
                                ! szene[lampenGruppe] = null;
                                ! // Script-Variablen für jede Lampe in jeder Lampengruppe anlegen
                                ! for (var i = 0; i < lampen[lampenGruppe].length; i++) { // timer und die nächste Delayzeit für jede Lampe zurückstellen
                                ! timer[lampenGruppe] = null;
                                ! nextDelay[lampenGruppe] = 0;
                                ! }
                                ! }
                                ! }
                                ! function szenenwechsel (lampenGruppe,lampe,delay) {
                                ! delay = Math.floor(delay / 100); // der zufällige Wert für die nächste Lichtfarbe wird auch als transitiontime verwendet (dazu wird das delay durch 100 geteilt)
                                ! //log("aktive Szene: hueMin: " + szenen[szene[lampenGruppe]]["hueMin"] + " hueMax: " + szenen[szene[lampenGruppe]]["hueMax"]);
                                ! var hue = rand(szenen[szene[lampenGruppe]].hueMin,szenen[szene[lampenGruppe]].hueMax);
                                ! var bri = getState(hueSzenenApapterPfad + lampenGruppe+".bri").val;
                                ! var sat = getState(hueSzenenApapterPfad + lampenGruppe+".sat").val;
                                ! var command = '{"on":true,"hue":' + hue + ',"sat":' + sat + ',"bri":' + bri + ',"transitiontime":' + delay + ',"colormode":"hs"}';
                                ! //log ("Lampe: " + lampen[lampenGruppe][lampe] + " # command: " + command);
                                ! if (bri == 0) command = '{"on":false,"bri":0}';
                                ! setState(lampen[lampenGruppe][lampe] + ".command", command);
                                ! }
                                ! function stroboskop(lampenGruppe,lampe) {
                                ! var command = '{"on":true,"ct":153,"bri":254,"transitiontime":0,"colormode":"ct"}';
                                ! setState(lampen[lampenGruppe][lampe] + ".command", command);
                                ! command = '{"on":false,"transitiontime":0}';
                                ! setState(lampen[lampenGruppe][lampe] + ".command", command);
                                ! }
                                ! function berechneDelay (lampenGruppe,lampe){
                                ! // globale Delay-Einstellungen übernehmen
                                ! var delayMinTemp = delayMin;
                                ! var delayMaxTemp = delayMax;
                                ! // globale Delay-Einstellungen überschreiben, wenn in der Szene ein eingener Delay definiert ist
                                ! if (szenen[szene[lampenGruppe]].delayMin) delayMinTemp = szenen[szene[lampenGruppe]].delayMin;
                                ! if (szenen[szene[lampenGruppe]].delayMax) delayMaxTemp = szenen[szene[lampenGruppe]].delayMax;
                                ! nextDelay[lampenGruppe][lampe] = rand(delayMinTemp,delayMaxTemp);
                                ! }
                                ! function szeneTimer(lampenGruppe,lampe) {
                                ! var delay = nextDelay[lampenGruppe][lampe] || 0;
                                ! var aktuelleSzene = szene[lampenGruppe];
                                ! //log("gesetztes Delay: " + delay);
                                ! if (timer[lampenGruppe][lampe]) clearTimeout(timer[lampenGruppe][lampe]);
                                ! timer[lampenGruppe][lampe] = setTimeout(function() {
                                ! timer[lampenGruppe][lampe] = null;
                                ! berechneDelay(lampenGruppe,lampe);
                                ! switch (aktuelleSzene) {
                                ! case "strobo":
                                ! stroboskop(lampenGruppe,lampe);
                                ! break;
                                ! default:
                                ! szenenwechsel(lampenGruppe,lampe,nextDelay[lampenGruppe][lampe]);
                                ! break;
                                ! }
                                ! //log("Delay = " + nextDelay[lampenGruppe][lampe] + " # Lampe: " + lampen[lampenGruppe][lampe]);
                                ! szeneTimer(lampenGruppe,lampe); // ruft den Timer nach Ablauf wieder auf
                                ! },delay);
                                ! }
                                ! function check254(check) {
                                ! if (check !== 0) if (!check) check = 254;
                                ! check = parseInt(check);
                                ! if (check > 254) check =254;
                                ! if (check <= 0 ) check = 0;
                                ! return check;
                                ! }
                                ! function setBri(lampenGruppe,aktiveSzene,bri) {
                                ! if (szenen[aktiveSzene].bri) bri = szenen[aktiveSzene].bri;
                                ! bri = check254(bri);
                                ! setState(hueSzenenApapterPfad + lampenGruppe+".bri", bri);
                                ! }
                                ! function setSat(lampenGruppe,aktiveSzene,sat) {
                                ! if (szenen[aktiveSzene].sat) sat = szenen[aktiveSzene].sat;
                                ! sat = check254(sat);
                                ! setState(hueSzenenApapterPfad + lampenGruppe+".sat", sat);
                                ! }
                                ! function szeneStart(lampenGruppe,aktiveSzene,bri,sat) {
                                ! if (!szenen[aktiveSzene]) { // undefinierte Szenen abfangen
                                ! log("# hue Szenen Script: undefinierte Szene wurde versucht aufzurufen: " + aktiveSzene,"error");
                                ! return;
                                ! }
                                ! szene[lampenGruppe] = aktiveSzene;
                                ! setBri(lampenGruppe,aktiveSzene,bri);
                                ! setSat(lampenGruppe,aktiveSzene,sat);
                                ! if (!szeneAktiv[lampenGruppe]) {
                                ! szeneAktiv[lampenGruppe] = true;
                                ! for (var i = 0; i < lampen[lampenGruppe].length; i++) { // für alle Lampen den timer starten
                                ! nextDelay[lampenGruppe] = 0;
                                ! szeneTimer(lampenGruppe,i);
                                ! }
                                ! }
                                ! }
                                ! function szeneStop(lampenGruppe) { // alle aktiven timer löschen
                                ! for (var i = 0; i < lampen[lampenGruppe].length; i++) {
                                ! clearTimeout(timer[lampenGruppe]
                                );
                                ! log("Timer: " + lampen[lampenGruppe] + " gestoppt");
                                ! }
                                ! szeneAktiv[lampenGruppe] = false;
                                ! szene[lampenGruppe] = null;
                                ! }
                                ! function lampenAus(lampenGruppe) {
                                ! for (var i = 0; i < lampen[lampenGruppe].length; i++) {
                                ! setState(lampen[lampenGruppe]
                                +".command",'{"on":false}');
                                ! }
                                ! }
                                ! function setBriSat(com,wert,lampenGruppe) {
                                ! if (wert != check254(wert)) {
                                ! wert = check254(wert);
                                ! setState(hueSzenenApapterPfad + lampenGruppe + "." + com, wert); //korrigiert bri/sat und ruft diese on() Funktion direkt wieder auf
                                ! } else {
                                ! //log("Lampengruppe: " + lampenGruppe + " # " + com + ": " + wert + " empfangen","warn");
                                ! if (szeneAktiv[lampenGruppe]) { // wenn die Szene in der Gruppe aktiv ist:
                                ! for (var i = 0; i < lampen[lampenGruppe].length; i++) { // für alle Lampen der Gruppe
                                ! setState(lampen[lampenGruppe] + "." + com, wert); // die Helligkeit/Saturation direkt ändern
                                ! //log(com + ": " + wert + " # " + lampen[lampenGruppe] + " gesetzt","warn");
                                ! }
                                ! }
                                ! }
                                ! }
                                ! function changeBriSat (com, wert, lampenGruppe) {
                                ! com = com.replace("inc", "");
                                ! var alterWert = getState(hueSzenenApapterPfad + lampenGruppe + "." + com).val;
                                ! wert = parseInt(wert) + alterWert;
                                ! setState(hueSzenenApapterPfad + lampenGruppe + "." + com, wert); //setzt bri/sat neu. Dies ruft die on() Funktion direkt wieder auf, diesmal mit bri/sat
                                ! }
                                ! // ##### Überwachte Datenpunkte #####
                                ! // Änderung der Helligkeit (.bri) oder Farbsättigung (.sat) während der Laufzeit über einen Datenpunkt
                                ! var reg = new RegExp("^javascript\.\d+\." + hueSzenenApapterPfad.replace('.', '\.') + ".\.(sat|bri)");
                                ! on({"id":reg , "change": "ne"}, function (obj) {
                                ! var com = obj.id.split('.').pop();
                                ! var str = obj.id.replace(/.(bri|sat)$/, "");
                                ! var reg2 = new RegExp("^javascript\.\d+\."+ hueSzenenApapterPfad.replace('.', '\.'));
                                ! var lampenGruppe = str.replace(reg2, "");
                                ! var wert = obj.newState.val;
                                ! setBriSat (com, wert, lampenGruppe);
                                ! });
                                ! // Änderung der Helligkeit oder Farbsättignung als adaptiver Wert (.bri_inc, .sat_inc)
                                ! var reg = new RegExp("^javascript\.\d+\." + hueSzenenApapterPfad.replace('.', '\.') + ".
                                \.(sat_inc|bri_inc)");
                                ! on({"id":reg , "change": "any"}, function (obj) {
                                ! var com = obj.id.split('.').pop();
                                ! var str = obj.id.replace(/.(sat_inc|bri_inc)$/, "");
                                ! var reg2 = new RegExp("^javascript\.\d+\."+ hueSzenenApapterPfad.replace('.', '\.'));
                                ! var lampenGruppe = str.replace(reg2, "");
                                ! var wert = obj.newState.val;
                                ! changeBriSat (com, wert, lampenGruppe);
                                ! });
                                ! // Änderung einer Szene während der Laufzeit, z.B. über VIS
                                ! var reg = new RegExp("^javascript\.\d+\." + hueSzenenApapterPfad.replace('.', '\.') + ".*\.szene");
                                ! on(reg , function (obj) {
                                ! var str = obj.id.replace(/.szene$/, "");
                                ! var reg2 = new RegExp("^javascript\.\d+\."+ hueSzenenApapterPfad.replace('.', '\.'));
                                ! var lampenGruppe = str.replace(reg2, "");
                                ! var neueSzene = obj.newState.val;
                                ! log("Lampengruppe: " + lampenGruppe + " # Szene: " + neueSzene + " empfangen");
                                ! switch (neueSzene) {
                                ! case "aus":
                                ! szeneStop(lampenGruppe);
                                ! lampenAus(lampenGruppe);
                                ! log(lampenGruppe + " Szene deaktiviert");
                                ! break;
                                ! case "stop":
                                ! szeneStop(lampenGruppe);
                                ! log(lampenGruppe + " Szene angehalten");
                                ! break;
                                ! default:
                                ! if (szenen[neueSzene]) {
                                ! // TODO: bri nur ermitteln, wenn in der Szene kein eigener bri festgelegt ist
                                ! var bri = getState(hueSzenenApapterPfad + lampenGruppe+".bri").val;
                                ! bri = check254(bri);
                                ! if (bri == 0) bri = 254;
                                ! szeneStart(lampenGruppe,neueSzene,bri);
                                ! setState(hueSzenenApapterPfad + lampenGruppe+".infoAktiveSzene", neueSzene);
                                ! log(lampenGruppe + " Szene: " + neueSzene + " gestartet");
                                ! break;
                                ! }
                                ! log("### unbekannte Szene: " + neueSzene,"error");
                                ! break;
                                ! }
                                ! });
                                ! // ##### Scriptstart #####
                                ! dpAnlegen(); // je einen Datenpunkt pro Lampengruppe anlegen
                                ! varsAnlegen(); // die für das Script notwendigen Variablen erstellen
                                ! // warte bis alle States und Objekte angelegt werden.
                                ! // 500ms und dann starte main();
                                ! function main() {
                                ! // ##### Scriptstart main() #####
                                ! restoreSzenen(); // aktiviert zuletzt eingestellte Szenen
                                ! }
                                ! setTimeout(main, 500);
                                _______ ___________wird nur folgendes zu sehen unter Objekte

                                ich habe bestimmt was falsch gemacht oder nicht verstanden.___________ 6680_bildschirmfoto_2018-04-11_um_18.35.12.png

                                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

                                736

                                Online

                                32.4k

                                Benutzer

                                81.4k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe