Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Problem mit Szene und HUE command

    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

    Problem mit Szene und HUE command

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

      Hallo,

      ich möchte gerne eine Szene definieren, in der ein HUE-Licht langsam über etwa 5 Minuten von Helligkeit 0 auf 254 hochdimmt und

      spätestens nach einer gewissen Zeit dann auch von selbst wieder ausgeht.

      Ersteres scheint soweit auch zu funktionieren mit dem Eintrag bei command:

      {"on":true,"hue": 19674, "bri": 254, "bri_inc": 1, "transitiontime": 1800}

      Die Szene bleibt dann aber nach dem ersten Aufruf immer true, auch wenn ich zusätzlich als ersten Befehl noch bri = 0 und on = false einbaue

      (auch versucht mit Verzögerungen von 100ms)

      Aus VIS lässt sich dann die Szene nicht mehr setzen, also nicht ein- und ausschalten.

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

        Ich bin mir nicht sicher wie du das mit "bri = 0 und on = false" meinst, aber bri=0 macht automatisch on=false und umgekehrt. Ob die gesamte Szene als true bzw. false ausgewertet wird hängt davon ab, ob die States den zu setzenden Wert angekommen haben. Wenn du also beim Ausschalten also cmd nicht änderst wird die Szene auf true bleiben, da cmd die ganze Zeit den eingestellten Wert hat.

        Das bri_inc ist hier nicht nötig, das hat eine andere Funktion als du vielleicht denkst.

        Nach einigem ausprobieren ist mir klar geworden, dass nur die Befehle ohne Verzögerung genutzt werden um den Status der Szene auf true oder false auszuwerten, dann kannst du natürlich einfach eine Szene machen mit:

        Setze Werte bei False:1
        1\. Befehl:
        	hue.0.bridge.lampe.cmd: 
        		setze bei true: {"on":true,"hue": 19674, "bri": 254, "transitiontime": 1800}
        		setze bei false: {"on":false}
        2\. Befehl:
        	hue.0.bridge.lampe.cmd mit Verzögerung (z. B. 5000): 
        		setze bei true: {"on":false}
        		setze bei false: {"on":false}
        

        Also einfach zwei mal cmd in die Szene, einmal den Wert setzen und nach 5000ms wieder cmd "{"on":false}", da im ersten cmd bei set on false auch "{"on":false}" drin ist, wird dann die Szene zu false auswertet. Schaltest du die Szene manuell aus wird direkt "{"on":false}" gesetzt, funktioniert also auch. Insgesamt könnte die Bedienung intuitiver sein, allerdings ist es gar nicht so einfach ein Intuitives Bediensystem zu finden, dazu aber mehr im Entwicklungsforum.

        1 Reply Last reply Reply Quote 0
        • F
          Fugazzy last edited by

          OK, vielen Dank für diese Hilfe, das scheint auch zu funktionieren, solange ich über Biobroker bediene.

          Wenn ich aber manuell hue, bri, sat usw. verändere, dann bleibt die Szene true, da "xxx.command" natürlich nicht upgedated wird.

          (die Szene bekommt nicht mit, wenn sich einzelne Werte verändern)

          Ich versuche es gerade über eine Variable und Skript.

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

            Du könntest in der Szene noch einen Trigger für ausschalten einstellen der ausgelöst wird wenn .bri = 0, dann sollte die Szene im Falle dass sie noch an ist aber bri = 0 automatisch ausgehen, also cmd = {"on":false} setzen.

            1 Reply Last reply Reply Quote 0
            • F
              Fugazzy last edited by

              Auch gut! Aber wenn ich nur die Farbe umschalte, dann passt es wieder nicht.

              Ich verwende jetzt folgendes Skript:

              createState("Wecklicht", false, true);
              
              on({id: "Wecklicht", change:"gt"}, function (obj) {	
                  var anw = getState('javascript.0.Anwesenheit').val;
                  if (and === true) {									// nur bei Anwesenheit
                      setState("hue.0.Philips_hue.LED_Schlafzimmer.bri", 0);
                      setTimeout(function () {log("Wecken an"); }, 10);
                      setState("hue.0.Philips_hue.LED_Schlafzimmer.command", '{"on":true, "hue": 19674,"sat": 254, "bri": 254, "transitiontime": 80}');
                  } else {
                      setState("javascript.0.Wecklicht", false);
                  }
              });
              
              on({id: "Wecklicht", change:"lt"}, function (obj) {	
                  log("Wecken aus");
                  if ('scene.0.szene_HUE_SZ_aus' === true) {				// nur, wenn nicht andere Szene aktiv
                      setState("hue.0.Philips_hue.LED_Schlafzimmer.bri", 0);
                      setState("hue.0.Philips_hue.LED_Schlafzimmer.on", false);
                      setState("hue.0.Philips_hue.LED_Schlafzimmer.command",'{}');
                  }
              });
              
              on({id: "hue.0.Philips_hue.LED_Schlafzimmer.bri", oldVal:254, val:0}, function (obj) {	
                  setState("javascript.0.Wecklicht", false);
              });
              
              on({id: "hue.0.Philips_hue.LED_Schlafzimmer.hue", oldVal:19674, change:"ne"}, function (obj) {	
                  setState("javascript.0.Wecklicht", false);
              });
              
              

              und eine Szene, die die hue, bri und sat enthält und true wird, sobald die Endwerte aus dem Skript erreicht sind.

              Bei false setze ich bri auf 0

              Dazu habe ich de Szene einen "Cron für False" verpasst: */45 * * * *

              sodass sie spätestens nach 45 Min wieder ausgeht

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

                Die Frage ist auch immer Wann eine Szene noch true und wann wieder False sein soll, das ist ja nicht so eindeutig. Ich habe z. B. eine Szene Fernsehen, dort wird die Steckdose des Fernseher eingeschaltet und verschiedene Beleuchtungen an oder aus. Beim beenden der Szene wird die Steckdose ausgeschaltet. Nun will ich natürlich NICHT dass die Steckdose ausgeht sobald ich etwas an der Beleuchtung ändere, also genau andersherum als bei dir. Da sieht man, dass der Szene Adapter leider noch nicht so flexibel ist wie er sein müsste, aber da kommt sicher noch einiges.

                1 Reply Last reply Reply Quote 0
                • F
                  Fugazzy last edited by

                  In meinem Fall wäre das einfachste, wenn ich die Transitiontime einzeln setzten könnte, so quasi als einmalige(?) Starteinstellung für den nächst kommenden Einschaltbefehl (danach dann wieder zurück gesetzt, automatisch oder manuell)

                  Die Szene würde nach Abschluss der Transition dann true und wenn ich danach wieder einen Wert ändere, dann wieder false

                  Eben so, wie ich es gerade benötige.

                  Wobei, wenn ich weiter darüber nachdenke, steht der Befehl ja in der Szene, dürfte dann auch nicht automatisch zurückgesetzt werden, sonst würde die Szene ja schon wieder false. Geht also nur manuell danach.

                  Man bräuchte also Parameter in der Szene, die nicht in die Bewertung eben dieser mit eingehen, sonst würde das Ergebnis auf einmal von der Transitiontime abhängen . . .

                  Es wird kompliziert . . .

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate
                  FAQ Cloud / IOT
                  HowTo: Node.js-Update
                  HowTo: Backup/Restore
                  Downloads
                  BLOG

                  688
                  Online

                  31.9k
                  Users

                  80.2k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  2046
                  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