Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] LightControl

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] LightControl

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      CaptainBalou last edited by

      @pittini
      Hab ich gemacht. Rein optisch würde ich sagen hat sich nichts geändert. Ist immer noch in zartem Blau.

      Aber weshalb versucht das Skript weiß im Mode Farben darzustellen? Wäre es bei einer Einstellung auf #FFFFFF nicht einfacher die color temperatur um einen Punkt plus und dann minus zu verändern um den Modus wieder auf weiß zu ändern in diesem speziellen Fall?

      P 1 Reply Last reply Reply Quote 0
      • P
        Pittini Developer @CaptainBalou last edited by

        @captainbalou sagte in [Vorlage] LightControl:

        Aber weshalb versucht das Skript weiß im Mode Farben darzustellen?

        Weil z.B. meine Ikea Birnen keinen extra Weisskanal haben. Nehm ich jetzt #ffffff, sieht das weiss scheiße aus, deswegen die 2 Farben für Tageslichtweiss und warmweiss. Andererseits verwende ich Yeelights, die wiederum haben nen Extra Umschaltung für color/white. Das Skript versucht beides zu berücksichtigen, scheint aber bei Deiner dritten Variante ein Problem zu haben. Ich werds mir anschauen was ich machen kann, könnte aber bisserl dauern da ich grad an anderen Baustellen bin.

        C 1 Reply Last reply Reply Quote 0
        • C
          CaptainBalou @Pittini last edited by

          @pittini sagte in [Vorlage] LightControl:

          Weil z.B. meine Ikea Birnen keinen extra Weisskanal haben. Nehm ich jetzt #ffffff, sieht das weiss scheiße aus, deswegen die 2 Farben für Tageslichtweiss und warmweiss. Andererseits verwende ich Yeelights, die wiederum haben nen Extra Umschaltung für color/white. Das Skript versucht beides zu berücksichtigen, scheint aber bei Deiner dritten Variante ein Problem zu haben.

          Verstehe. Kein Thema, das ist dann eben erstmal so.

          Ich werds mir anschauen was ich machen kann, könnte aber bisserl dauern da ich grad an anderen Baustellen bin.

          Absolut ok. Leider fehlt mir da noch ein wenig Know-How um unterstützen zu können. Mach du einfach mal an den Sachen weiter wo du dran bist. 🙂 Solltest du an diese Sachen rangehen wollen und brauchst noch Informationen bin ich gerne bereit Daten zu liefern. Soll ich hierfür ein Issue anlegen um ds auf der Liste zu haben oder strukturierst du das außerhalb von Github?

          Viele Grüße
          Marco

          P 1 Reply Last reply Reply Quote 0
          • P
            Pittini Developer @CaptainBalou last edited by

            @captainbalou Mach bitte ein Issue, dann vergeß ichs nicht.

            1 Reply Last reply Reply Quote 0
            • F
              Freevalley @Pittini last edited by

              @pittini

              Hallo,

              erst einmal vielen Dank für dieses tolle Script. Leider hab ich ein Problem bei der Umsetzung. Ich hoffe es kann mir jemand weiterhelfen.
              Meine ZWave Lampen haben keinen Datenpunkt für Power mit true/false, es gibt nur einen Datenpunkt TargetValue mit 0/99.

              Leider klappt es so nicht:
              LightGroups[1][0][0] = ["zwave2.0.Node_038.Multilevel_Switch.targetValue_001", 99, 0]; // Datenpunkt - an Wert - aus Wert

              Hat jemand dazu einen Idee? Vielleicht stelle ich mich auch nur zu blöd an. 😉

              Vorab vielen Dank!!

              Viele Grüße
              Tino

              P 1 Reply Last reply Reply Quote 0
              • P
                Pittini Developer @Freevalley last edited by Pittini

                @freevalley Schau doch mal was das Skript in den Datenpunkt schreibt wenn Du schaltest, bzw. obs da ne Fehlermeldung gibt?

                Edit: Grad mal in den Code geguggt, isn Bug. Kümmer mich drum. zw. sag doch bitte mal welche Funktionen des Skriptes Du brauchst? Ich schreib nämlich grad ne V2, die noch nicht ganz fertig ist, aber evtl. ja schon kann was Du brauchst.

                F 1 Reply Last reply Reply Quote 0
                • F
                  Freevalley @Pittini last edited by

                  @pittini

                  Perfekt, vielen Dank für die schnelle Antwort!!

                  Funktionen: Ramp Off, Auto Off Lux und Auto Off Time

                  Eine Wunschfunktion (Idee) läge mir noch am Herzen, vielleicht könntest du die irgendwie noch umsetzen? (wenn der Aufwand nicht zu groß ist)
                  Und zwar was bei Nacht mit dem Licht passiert.

                  Zur Idee: Wenn man Nachts durch die Wohnung ins Bad geht, wird man mit voller Beleuchtung "begrüßt". Schön wäre, wenn man die Leuchtmittel auf 20 % oder so was einstellen könnte.

                  Danke und Gruß

                  Tino

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @Freevalley last edited by Pittini

                    @freevalley sagte in [Vorlage] LightControl:

                    Eine Wunschfunktion (Idee) läge mir noch am Herzen, vielleicht könntest du die irgendwie noch umsetzen? (wenn der Aufwand nicht zu groß ist)
                    Und zwar was bei Nacht mit dem Licht passiert.
                    Zur Idee: Wenn man Nachts durch die Wohnung ins Bad geht, wird man mit voller Beleuchtung "begrüßt". Schön wäre, wenn man die Leuchtmittel auf 20 % oder so was einstellen könnte.

                    Das geht jetzt eigentlich auch schon. Auf 2 Arten. Zum einen könntest die AdaptiveBrightness aktivieren, dann is das Licht am Tag max, und je dunkler es draussen wird umso mehr wird drinnen das Licht gedimmt. Die andere Variante wär einfach mit nem Timer (z.B. meinem Timerskript) die Brightness zur gewünschten Zeit runter und morgens hoch zu setzten. Hab das hier ähnlich, weil meine Frau gern nachts im Haus rumgeistert und da kein AutoOn will. Deswegen hat auch jede Funktion nen enabled Datenpunkt.
                    Die genannten Funktionen sind im neuen schon drin aber bis auf AutoOffTimed noch nich getestet, werd mal guggen am WE, evtl. kannste dann gleich das neue nehmen und testen (wenn Du magst).

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      Freevalley @Pittini last edited by

                      @pittini

                      Spitze, das werde ich testen. Sehr gerne würde ich das neue Script ausprobieren!! Sag Bescheid wie/wann ich es bekommen kann...

                      1000 Dank für die schnelle Antwort.

                      BG Tino

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        Pittini Developer @Freevalley last edited by

                        @freevalley sagte in [Vorlage] LightControl:

                        Sehr gerne würde ich das neue Script ausprobieren!! Sag Bescheid wie/wann ich es bekommen kann...

                        Liegt immer auf Git. Einfach statt "master" in dem Dropdown "develop" wählen, damit schaltest zwischen normaler und Entwicklungsversion um.

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Freevalley @Pittini last edited by

                          @pittini

                          Hallo nochmal,

                          danke für deinen Hinweis! Leider habe ich das Script bei mir nicht zum laufen gebracht. Folgende Fehler werden angezeigt...

                          09:51:08.031 error javascript.0 (1056) script.js.Allgemein.Lichtscript: TypeError: Cannot read property 'val' of null
                          09:51:08.032 error javascript.0 (1056) at GlobalLuxHandling (script.js.Allgemein.Lichtscript:434:61)
                          09:51:08.032 error javascript.0 (1056) at main (script.js.Allgemein.Lichtscript:1078:5)

                          Vielleicht hast du noch einen Tipp!?

                          BG Tino

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            Pittini Developer @Freevalley last edited by Pittini

                            @freevalley sagte in [Vorlage] LightControl:

                            Vielleicht hast du noch einen Tipp!?

                            Hast Du einen LuxSensor angegeben?

                            PS: Gibt auch schon wieder ne neue Dev. Version auf Git, die hier inzwischen im Produktivbetrieb läuft, kann aber immer noch Bugs enthalten, freu mich also auf Feedback wenn was auffällt.

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              Freevalley @Pittini last edited by

                              @pittini

                              Hallo,

                              ich konnte das soeben mal testen, leider passiert einfach nichts. Die Lampe bleibt aus. Fehler kommt aber leider keiner...

                              So sieht es im Script aus:

                              const praefix = "javascript.0.LightControl2" // Skriptordner
                              const LuxSensor = 'zwave2.0.Node_040.Multilevel_Sensor.illuminance'; // Datenpunkt des globalen Luxsensors, wird verwendet wenn in der Gruppe kein gesonderter definiert wird
                              const IsPresenceDp = "javascript.0.Anwesenheit"; // Datenpunkt für Anwesenheit (true/false)
                              const PresenceCountDp = "radar2.0._nHere"; // Datenpunkt für Anwesenheitszähler
                              const logging = true; // Logging an/aus
                              const RampSteps = 10;

                              const LightGroups = {
                              0: {
                              description: "Bad",
                              lights: {
                              0: {
                              description: "Deckenlampe",
                              power: { oid: "zwave2.0.Node_038.Multilevel_Switch.targetValue_001", onVal: 99, offVal: 0 },
                              bri: { oid: "", minVal: 0, maxVal: 100, defaultVal: 99 },
                              ct: { oid: "", minVal: 454, maxVal: 250 },
                              sat: { oid: "", minVal: null, maxVal: null },
                              modeswitch: { oid: "", whiteModeVal: false, colorModeVal: true },
                              color: { oid: "", type: "", default: "" }
                              }
                              },
                              sensors: {
                              0: { id: 'zwave2.0.Node_039.Binary_Sensor.motion' },
                              1: { id: 'zwave2.0.Node_040.Binary_Sensor.motion' }

                              Hab ich vielleicht noch ein Fehler irgendwo?

                              Vorab vielen Dank!!

                              BG Tino

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                Pittini Developer @Freevalley last edited by

                                @freevalley sagte in [Vorlage] LightControl:

                                Hab ich vielleicht noch ein Fehler irgendwo?

                                Sieht soweit gut aus (am Ende fehlen Klammern, aber die haste vermutlich (hoffentlich) einfach nich mitkopiert) was sagt denn das Log?

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  Freevalley @Pittini last edited by

                                  @pittini

                                  Die Klammern hatte ich nicht mit kopiert. 😉 Es funktioniert mittlerweile, es gab ein Problem mit meinem Bewegungsmelder.
                                  Nur Ramp Off scheint in meinem Fall nicht zu funktionieren, da diese scheinbar an die Helligkeit gekoppelt ist.
                                  Hast du vielleicht noch eine Idee was ich tun könnte?

                                  BG Tino

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Pittini Developer @Freevalley last edited by

                                    @freevalley sagte in [Vorlage] LightControl:

                                    Nur Ramp Off scheint in meinem Fall nicht zu funktionieren, da diese scheinbar an die Helligkeit gekoppelt ist.

                                    Eigentlich is da keine Kopplung mit Helligkeit, evtl. war das ein timing Problem, hab mal was geändert. Grundsätzlich sollten inzwischen alle Funktionen alleine laufen, kann aber Seiteneffekte evtl. noch geben wenn mehrere Sachen gleichzeitig aktiviert sind. Und paar Sachen sind noch nich mal implementiert z.B. Farbkonversion.

                                    Hast du vielleicht noch eine Idee was ich tun könnte?

                                    ja, die neue Version von grad eben mal probieren 🙂

                                    F 1 Reply Last reply Reply Quote 0
                                    • F
                                      Freevalley @Pittini last edited by

                                      @pittini

                                      Danke für deine Initiative!!
                                      Klappt leider auch nicht mit der neusten Version. Die Lampe geht einfach aus. Das Script bleibt nun auch im Loop hängen...ich kann das Script nur von Hand anhalten.

                                      13:18:12.346 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Motion for Group 0 detected, switching on
                                      13:18:12.346 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Reaching GroupPowerOnOff for Group 0, OnOff=true rampOn=false - {"enabled":false,"time":10,"switchOutletsLast":true} rampOff=true - {"enabled":true,"time":10,"switchOutletsLast":false}
                                      13:18:12.346 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Normales anschalten ohne Ramping für Bad
                                      13:18:12.401 info javascript.0 (1065) script.js.Allgemein.Lichtscript: A Switching 0 zwave2.0.Node_038.Multilevel_Switch.targetValue_001 to: true
                                      13:18:12.401 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Reaching AutoOffTimed for Group 0 set time=10 LightGroups[Group].isMotion=false LightGroups[Group].autoOffTimed.noAutoOffWhenMotion=true
                                      13:18:12.401 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Timeout for Group=0 deleted.
                                      13:18:20.897 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Group 0 timed out, switching off. Motion=false
                                      13:18:20.898 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Reaching GroupPowerOnOff for Group 0, OnOff=false rampOn=false - {"enabled":false,"time":10,"switchOutletsLast":true} rampOff=true - {"enabled":true,"time":10,"switchOutletsLast":false}
                                      13:18:20.898 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Ausschalten mit Ramping und einfache Lampen zuerst für Bad
                                      13:18:20.906 info javascript.0 (1065) script.js.Allgemein.Lichtscript: F Switching 0 zwave2.0.Node_038.Multilevel_Switch.targetValue_001 to: false
                                      13:18:21.906 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Loopcount=1 - Rampsteps=10 RampOffTime= 10
                                      13:18:22.402 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Group 0 timed out, switching off. Motion=false
                                      13:18:22.402 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Reaching GroupPowerOnOff for Group 0, OnOff=false rampOn=false - {"enabled":false,"time":10,"switchOutletsLast":true} rampOff=true - {"enabled":true,"time":10,"switchOutletsLast":false}
                                      13:18:22.402 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Ausschalten mit Ramping und einfache Lampen zuerst für Bad
                                      13:18:22.410 info javascript.0 (1065) script.js.Allgemein.Lichtscript: F Switching 0 zwave2.0.Node_038.Multilevel_Switch.targetValue_001 to: false
                                      13:18:22.907 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Loopcount=2 - Rampsteps=10 RampOffTime= 10
                                      13:18:23.411 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Loopcount=1 - Rampsteps=10 RampOffTime= 10
                                      13:18:23.907 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Loopcount=3 - Rampsteps=10 RampOffTime= 10
                                      13:18:24.411 info javascript.0 (1065) script.js.Allgemein.Lichtscript: Loopcount=2 - Rampsteps=10 RampOffTime= 10

                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        Pittini Developer @Freevalley last edited by

                                        @freevalley sagte in [Vorlage] LightControl:

                                        Das Script bleibt nun auch im Loop hängen...ich kann das Script nur von Hand anhalten.

                                        Klarer Bug, konnte ich reproduzieren und beheben, auf ein neues 😉 Neue Version is auch schon hochgeladen.

                                        Die Lampe geht einfach aus.

                                        Das konnte ich nicht reproduzieren, bei mir dimmt das runter wie vorgesehen, aber ich schau auch da nochmal rein.

                                        F 2 Replies Last reply Reply Quote 0
                                        • F
                                          Freevalley @Pittini last edited by

                                          @pittini

                                          Passt, das Script läuft wieder. "Gedimmt" wird bei mir ja über diese Gerät: zwave2.0.Node_038.Multilevel_Switch.targetValue_001. Wenn ich in die Objekte während das Script läuft sehe, geht der Wert auch direkt von 99 auf 0.

                                          P F 2 Replies Last reply Reply Quote 0
                                          • P
                                            Pittini Developer @Freevalley last edited by

                                            @freevalley sagte in [Vorlage] LightControl:

                                            "Gedimmt" wird bei mir ja über diese Gerät: zwave2.0.Node_038.Multilevel_Switch.targetValue_001. Wenn ich in die Objekte während das Script läuft sehe, geht der Wert auch direkt von 99 auf 0.

                                            Was ja soweit eigentlich korrekt ist, da Du ja keinen Datenpunkt (oid) für Brightness (bri) angegeben hast. Also sagt das Skript ich kann nich dimmen, also schalte ich.

                                            description: "Deckenlampe",
                                            power: { oid: "zwave2.0.Node_038.Multilevel_Switch.targetValue_001", onVal: 99, offVal: 0 },
                                            bri: { oid: "", minVal: 0, maxVal: 100, defaultVal: 99 },
                                            ct: { oid: "", minVal: 454, maxVal: 250 },
                                            sat: { oid: "", minVal: null, maxVal: null },
                                            modeswitch: { oid: "", whiteModeVal: false, colorModeVal: true },
                                            color: { oid: "", type: "", default: "" }
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            929
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            25
                                            224
                                            25000
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo