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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] LightControl

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rudi-Ment @Schmakus last edited by

      @schmakus Das ist eine gute Idee. Bei den Shelly kann ich das so machen.
      Bei den mit Tasmota geflashten LED Treibern gibt es aber zwei mal Power. Einmal bunt und einmal weiß.
      Da weiß ich nicht weiter.
      Aber in der nächsten Zeit werden die Tasmota-Teile wohl eh rausfliegen.
      Die Verbindung ist so unzuverlässig...
      Vielleicht hat sich das damit schon erledigt.

      1 Reply Last reply Reply Quote 0
      • R
        Rudi-Ment last edited by

        Das mit dem Weissabgleich bekomme ich nicht hin.
        Magst du mir vielleicht mal ein Beispiel zeigen ?

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

          @pittini hallo, wird es davon mal einen Adapter geben oder wird es lediglich als Skript bleiben?

          grüße

          Schmakus 1 Reply Last reply Reply Quote 0
          • R
            Rudi-Ment last edited by

            Hat noch jemand das Problem, dass das Licht zu unbestimmter Zeit wieder ausgeht ?
            Trotz Bewegung und "bei Bewegung eingeschaltet bleiben" ?

            R 1 Reply Last reply Reply Quote 0
            • R
              Rudi-Ment @Rudi-Ment last edited by

              @rudi-ment said in [Vorlage] LightControl:

              Hat noch jemand das Problem, dass das Licht zu unbestimmter Zeit wieder ausgeht ?
              Trotz Bewegung und "bei Bewegung eingeschaltet bleiben" ?

              Ausserdem scheint die Zeit auch gar nicht zu passen.
              Die steht auf 30 min.
              Trotzdem schaltet die Lampe gefühlt - wann sie will aus.

              1 Reply Last reply Reply Quote 0
              • Schmakus
                Schmakus Developer @fischi87 last edited by

                @fischi87 said in [Vorlage] LightControl:

                @pittini hallo, wird es davon mal einen Adapter geben oder wird es lediglich als Skript bleiben?

                grüße

                Adapter ist aktuell in der Entwicklung.

                1 Reply Last reply Reply Quote 0
                • P
                  passuff last edited by passuff

                  Ich habe nach meinem ersten erfolglosen Anlauf nun einen Zweiten gestartet. Leider bekomme ich das Skript nicht zum laufen. Die Bewegungsmelder Stati werden erkannt, jedoch wird das Licht unabhängig davon scheinbar wahllos ein und ausgeschaltet.

                  Ich würde mich freuen, wenn sich mal jemand meine Konfiguration ansehen könnte.

                  const praefix = "0_userdata.0.LightControl2_2" // Skriptordner
                  const LuxSensor = ""; // Datenpunkt des globalen Luxsensors, wird verwendet wenn in der Gruppe kein gesonderter definiert wird
                  const IsPresenceDp = ""; // Datenpunkt für Anwesenheit (true/false)
                  const PresenceCountDp = ""; // Datenpunkt für Anwesenheitszähler
                  const logging = true; // Logging an/aus
                  const RampSteps = 10; //Wieviele Schritte zum dimmen? Bitte nicht zu hoch setzen, wird zwar smoother, kann aber zu timing Problemen führen wenn gleichzeitig eine kurze Zeit in den Objekten gewählt.
                  
                  const minCt = 2700; //Regelbereich für Farbtemperatur in Kelvin für Adaptive Ct
                  const maxCt = 6500;//Regelbereich für Farbtemperatur in Kelvin für Adaptive Ct
                  const minBri = 10; //Mindesthelligkeit für AdaptiveBri
                  
                  const LightGroups = {
                      0: {
                          description: "FlurEG+OG1",
                          lights: {
                              0: {
                                  description: "StrahlerEG+OG1",
                                  power: { oid: "shelly.0.SHDM-2#E0980695AD36#1.lights.Switch", onVal: true, offVal: false },
                                  bri: { oid: "shelly.0.SHDM-2#E0980695AD36#1.lights.brightness", minVal: 0, maxVal: 100, defaultVal: 100 },
                                  ct: { oid: "", minVal: null, maxVal: null },
                                  sat: { oid: "", minVal: null, maxVal: null },
                                  modeswitch: { oid: "", whiteModeVal: false, colorModeVal: true },
                                  color: { oid: "", type: "", default: "" }
                              },
                          },
                          sensors: {
                              0: { id: 'mihome.0.devices.sensor_motion_aq2_158d0002ea1b58.state', motionVal: true, noMotionVal: false },
                              1: { id: 'mihome.0.devices.sensor_motion_aq2_158d0004aca6b9.state', motionVal: true, noMotionVal: false }
                          }
                      }, 
                       1: {
                          description: "FlurOG2+OG3",
                          lights: {
                              0: {
                                  description: "StrahlerOG2+OG3",
                                  power: { oid: "shelly.0.SHDM-2#C45BBE5645E3#1.lights.Switch", onVal: true, offVal: false },
                                  bri: { oid: "shelly.0.SHDM-2#C45BBE5645E3#1.lights.brightness", minVal: 0, maxVal: 100, defaultVal: 100 },
                                  ct: { oid: "", minVal: null, maxVal: null },
                                  sat: { oid: "", minVal: null, maxVal: null },
                                  modeswitch: { oid: "", whiteModeVal: false, colorModeVal: true },
                                  color: { oid: "", type: "", default: "" }
                              },
                          },
                          sensors: {
                              0: { id: 'mihome.0.devices.sensor_motion_aq2_158d0002ebffca.state', motionVal: true, noMotionVal: false }
                          }
                      }, 
                      2: {
                          description: "Esszimmer",
                          lights: {
                              0: {
                                  description: "SpotsDecke",
                                  power: { oid: "shelly.0.SHSW-1#98CDAC2E4B10#1.Relay0.Switch", onVal: true, offVal: false },
                                  bri: { oid: "", minVal: 0, maxVal: 100, defaultVal: 100 },
                                  ct: { oid: "", minVal: null, maxVal: null },
                                  sat: { oid: "", minVal: null, maxVal: null },
                                  modeswitch: { oid: "", whiteModeVal: false, colorModeVal: true },
                                  color: { oid: "", type: "", default: "" }
                              },
                          },
                          sensors: {
                              0: { id: 'hm-rpc.1.000C1D898D631A.1.PRESENCE_DETECTION_STATE', motionVal: true, noMotionVal: false },
                              1: { id: 'mihome.0.devices.sensor_motion_aq2_158d0002ec30dd.state', motionVal: true, noMotionVal: false }
                          }
                      }, 
                  };
                  

                  Habe mich eben durch die entsprechenden Räume bewegt ohne dass die Lampen geschaltet wurden und dabei folgendes log erzeugt:

                  2022-04-29 11:02:21.231 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Triggered linked Sensor mihome.0.devices.sensor_motion_aq2_158d0002ea1b58.state new value is true
                  2022-04-29 11:02:21.232 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Reaching SummarizeSensors, Group=0
                  2022-04-29 11:02:21.233 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Gruppe=0 Sensor 0 with target mihome.0.devices.sensor_motion_aq2_158d0002ea1b58.state has value true
                  2022-04-29 11:02:21.233 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Summarized IsMotion for Group 0 = true
                  2022-04-29 11:02:21.239 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Reaching Controller, Group=0 Property1=isMotion NewVal=true OldVal=false
                  2022-04-29 11:02:27.224 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Triggered linked Sensor mihome.0.devices.sensor_motion_aq2_158d0004aca6b9.state new value is true
                  2022-04-29 11:02:27.224 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Reaching SummarizeSensors, Group=0
                  2022-04-29 11:02:27.224 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Gruppe=0 Sensor 0 with target mihome.0.devices.sensor_motion_aq2_158d0002ea1b58.state has value true
                  2022-04-29 11:02:27.225 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Gruppe=0 Sensor 1 with target mihome.0.devices.sensor_motion_aq2_158d0004aca6b9.state has value true
                  2022-04-29 11:02:27.225 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Summarized IsMotion for Group 0 = true
                  2022-04-29 11:02:31.767 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Triggered linked Sensor mihome.0.devices.sensor_motion_aq2_158d0002ebffca.state new value is true
                  2022-04-29 11:02:31.768 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Reaching SummarizeSensors, Group=1
                  2022-04-29 11:02:31.768 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Gruppe=1 Sensor 0 with target mihome.0.devices.sensor_motion_aq2_158d0002ebffca.state has value true
                  2022-04-29 11:02:31.768 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Summarized IsMotion for Group 1 = true
                  2022-04-29 11:02:31.769 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Reaching Controller, Group=1 Property1=isMotion NewVal=true OldVal=false
                  2022-04-29 11:02:59.980 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Triggered linked Sensor mihome.0.devices.sensor_motion_aq2_158d0002ec30dd.state new value is true
                  2022-04-29 11:02:59.981 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Reaching SummarizeSensors, Group=2
                  2022-04-29 11:02:59.981 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Gruppe=2 Sensor 0 with target hm-rpc.1.000C1D898D631A.1.PRESENCE_DETECTION_STATE has value true
                  2022-04-29 11:02:59.981 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Gruppe=2 Sensor 1 with target mihome.0.devices.sensor_motion_aq2_158d0002ec30dd.state has value true
                  2022-04-29 11:02:59.982 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: Summarized IsMotion for Group 2 = true
                  2022-04-29 11:03:05.866 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: adaptiveCtLinear=5264 adaptiveCtSolar=5648 adaptiveCtSolarInterpolated=4998 adaptiveCtTimed=0
                  2022-04-29 11:04:05.866 - info: javascript.0 (412) script.js.common.Licht.Esszimmer_Lightcontrol: adaptiveCtLinear=5273 adaptiveCtSolar=5664 adaptiveCtSolarInterpolated=5010 adaptiveCtTimed=0
                  
                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @passuff last edited by

                    @passuff Das Log is ja soweit ok, es hat erkannt was Du gemacht hast. Aber es hat nix geschaltet. Zeig doch mal nen Screenshot wo ich Deine settings für Gruppe 0 oder 1 seh, vorallem die settings für Bewegungsreaktionen.

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

                      @pittini
                      Ich habe den Fehler gefunden. Wenn man keinen Lux Sensor definiert(weder global noch innerhalb eines Raumes), funktioniert das Skript nicht.
                      Könnte man eventuell für die Zukunft ändern. Ich habe jetzt einen globalen Fake Datenpunkt angelegt und es funktioniert.

                      1 Reply Last reply Reply Quote 1
                      • P
                        passuff last edited by

                        Folgendes Szenario:

                        Das Licht im Wohnzimmer wird über AutoOnMotion eingeschaltet, wenn es die Helligkeit erfordert.
                        Das Licht im Wohnzimmer wird über AutoOffTimed nach 120s ausgeschaltet.
                        Wenn jemand den Lichtschalter manuell betätigt, greift leider das Auto OffTimed nicht, da Power in diesem Fall false zeigt, obwohl der Lichtschalter betätigt ist.
                        Gibt es eine Möglichkeit auf den Schalter zu triggern und somit auch die AutoOffTimed Funktion zu nutzen, wenn das Licht manuell eingeschaltet wurde?

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

                          @passuff sagte in [Vorlage] LightControl:

                          Folgendes Szenario:

                          Das Licht im Wohnzimmer wird über AutoOnMotion eingeschaltet, wenn es die Helligkeit erfordert.
                          Das Licht im Wohnzimmer wird über AutoOffTimed nach 120s ausgeschaltet.
                          Wenn jemand den Lichtschalter manuell betätigt, greift leider das Auto OffTimed nicht, da Power in diesem Fall false zeigt, obwohl der Lichtschalter betätigt ist.
                          Gibt es eine Möglichkeit auf den Schalter zu triggern und somit auch die AutoOffTimed Funktion zu nutzen, wenn das Licht manuell eingeschaltet wurde?

                          Der Lichtschalter darf halt nicht die Lampe(n) direkt schalten, sondern den entsprechenden Power Datenpunkt vom Skript, dann funktioniert das einwandfrei, hab ich hier in etlichen Räumen so.

                          P 2 Replies Last reply Reply Quote 0
                          • P
                            passuff @Pittini last edited by

                            Ich möchte gerne die Helligkeit in Abhängigkeit der Uhrzeit einstellen. Ich habe mit einem zusätzlichen Skript den Datenpunkt bri im root und testweise auch im Ordner AutoOnMotion überschrieben. Leider haben diese keinen Einfluss auf die Helligkeit. Sind diese nur für die adaptive Helligkeit zuständig? Einen Einfluss auf die Helligkeit habe ich nur bei der Skript Variable defaultVal: feststellen können, doch leider weiß ich nicht wie ich diese extern beschreiben kann.
                            Ich würde mich freuen wenn mir jemand erklären könnte, wie das mit der Helligkeit funktionier (nicht adaptiv!).

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

                              @passuff Wenn Du adaptive Helligkeit aktiviert hast, hat bri keinen Einfluß mehr, wär auch sinnfrei. Ansonsten bist mit dem bri in der Raumroot schon am richtigen Platz, das funktioniert hier auch einwandfrei. Die defaulVal Skriptvariable kann und soll nicht extern gesetzt werden, diese dient dazu unterschiedlich helle Lampen beim einschalten auf ungefähr gleiche Helligkeit bringen zu können.

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

                                @pittini Mal eine Frage - im Script steht:

                                const LuxSensor = 'linkeddevices.0.Klima.Draussen.brightness'; // Datenpunkt des globalen Luxsensors, wird verwendet wenn in der Gruppe kein gesonderter definiert wird
                                

                                Ich habe massenhaft Luxsensorer, finde aber nicht die Syntax für das Einbinden in die Gruppen. Wie macht man das?

                                Christian

                                ch90045 P 2 Replies Last reply Reply Quote 0
                                • ch90045
                                  ch90045 @ch90045 last edited by

                                  Schade, dann schmeiss ich es wieder runter

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

                                    @ch90045 sagte in [Vorlage] LightControl:

                                    @pittini Mal eine Frage - im Script steht:

                                    const LuxSensor = 'linkeddevices.0.Klima.Draussen.brightness'; // Datenpunkt des globalen Luxsensors, wird verwendet wenn in der Gruppe kein gesonderter definiert wird
                                    

                                    Ich habe massenhaft Luxsensorer, finde aber nicht die Syntax für das Einbinden in die Gruppen. Wie macht man das?

                                    Christian

                                    Jede Raumgruppe hat nen Datenpunkt LuxSensorOid. Da halt eintragen.
                                    2023-01-09 14_20_59-Pittini_iobroker-LightControl_ Lichtsteuerung für Leuchtmittel unterschiedlicher.png

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

                                      @pittini Danke erst einmal, dass du da rein schaust - was mich wundert, ist, dass bei mir an der Stelle der Bewegungsmelder drin steht:

                                      c398184a-9db7-4e3b-8946-383141382a4c-image.png

                                      das ist aber kein Helligkeitssensor:

                                      3cb869d0-8420-4e79-a1ab-fd39f16057ba-image.png

                                      Schmakus 1 Reply Last reply Reply Quote 0
                                      • Schmakus
                                        Schmakus Developer @ch90045 last edited by

                                        @ch90045 Hi, dann wird wohl dein globaler LuxSensor falsch definiert sein.
                                        2023-01-10_10h43_17.png

                                        BTW: Darfst gerne auch den LightControl Adapter testen: https://github.com/Schmakus/ioBroker.lightcontrol.git

                                        ch90045 1 Reply Last reply Reply Quote 0
                                        • ch90045
                                          ch90045 @Schmakus last edited by

                                          @schmakus Ist er nicht:

                                          ef3c8a6e-5fe2-4ae6-9925-0c4685d9c7c2-image.png

                                          107aaf6e-183c-4549-8825-346d5423dd1d-image.png

                                          Dein adapter ist aber noch sehr beta, oder? Egal, ich schaue ihn mir mal an

                                          Schmakus 1 Reply Last reply Reply Quote 0
                                          • Schmakus
                                            Schmakus Developer @ch90045 last edited by Schmakus

                                            @ch90045 Steht im Datenpunkt tatsächlich der BWM? Leider ist es aus deinem Screenshot nicht ganz ersichtlich. So wie ich das sehe steht in diesem Datenpunkt genau der Sensor, welchen du als globaler LuxSensor am Anfang des Scripts definiert hast?! Und das wäre korrekt. Wenn du nun einen individuellen Sensor definieren möchtest, muss du in den Datenpunkt einfach die ID des jeweiligen Lichtsensors eintragen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            597
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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