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.
    • 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
                                • F
                                  Freevalley @Freevalley last edited by Freevalley

                                  @freevalley

                                  Ja klar, ist verständlich... Schade, das diese Möglichkeit so nicht umsetzbar ist.

                                  Danke für alles!!

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

                                    @freevalley sagte in [Vorlage] LightControl:

                                    @freevalley

                                    Ja klar, ist verständlich... Schade, das diese Möglichkeit so nicht umsetzbar ist.

                                    Danke für alles!!

                                    Erklär mir doch bitte einfach mal genau wie diese Lampe gesteuert wird. Was machst Du wenn Du auf sagen wir mal 30% dimmen willst? Ist das der gleiche Datenpunkt wie der zum an/aus schalten? Wie und wo stellst Du die Farbtemperatur ein, usw.

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

                                      @pittini

                                      Ja, es ist genau der gleiche Datenpunkt um auf 30% zu Dimmen. Wert ist 0 -99 = Dimmwert.

                                      Es ist "nur" ein Dimmer, da gibt es keinerlei Farbtemperatur etc.

                                      https://www.fibaro.com/en/products/dimmer-2/

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

                                        @freevalley Na dann trag doch einfach den gleichen Datenpunkt für bri ein, sollte eigentlich klappen.

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

                                          @pittini

                                          Habe ich bei den letzten 2 Versionen auch versucht, hatte leider irgendwelche Fehler produziert.
                                          Mit der aktuellen hatte ich es noch nicht getestet. Funktioniert nun 1a!! 👍 Danke!!!

                                          Noch eine Frage, oder vielleicht auch Anregung. Besteht die Möglichkeit, einen override einzubauen?

                                          Hintergrund ist, dass das Licht irgendwann ausgeht, wenn man in der Dusche steht...der Sensor funktioniert dort einfach nicht. Somit wäre es schön, wenn man einen Schalter etc. vor dem Duschen drücken könnte, damit das Licht im Bad an bleibt.

                                          BG Tino

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

                                            @freevalley sagte in [Vorlage] LightControl:

                                            Somit wäre es schön, wenn man einen Schalter etc. vor dem Duschen drücken könnte, damit das Licht im Bad an bleibt.

                                            Trag den Schalter als zusätzlichen Sensor ein und Problem ist gelöst. Is dem Skript ja egal ob das isMotion jetzt von nem Bewegungsmelder oder von nem Schalter kommt, wichtig ist dass der Datenpunkt auf true bleibt, evtl. könntest auch was basteln mit nem Fensterkontakt an der Tür der Dusche.

                                            F 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            948
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            25
                                            224
                                            25454
                                            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