Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Alles Licht aus bei verlassen des Hauses

NEWS

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

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

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

Alles Licht aus bei verlassen des Hauses

Scheduled Pinned Locked Moved Skripten / Logik
29 Posts 13 Posters 5.8k Views 14 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • MicM Mic

    Hey @pcone

    Es sollen alle Geräte (Dimmer & Steckdosen) abgeschaltet werden, wenn der Trigger "AlleLichterAus" auf "true" ist.

    Schau dir mal den Smart Control Adapter an, damit solltest du das gut und sehr einfach umsetzen können.

    Du kannst da unter "1. ZIELGERÄTE" deine Zielgeräte anlegen und in "4. ZONEN" diese aktivieren, sobald "AlleLichterAus" (definiert in "3. AUSLÖSER") ausgelöst wird.

    P Offline
    P Offline
    pcone
    wrote on last edited by
    #19

    @Mic servus, kannst du mir hierzu vielleicht kurz Feedback geben, damit ich meinen Fehler verstehe und etwas weiter mit deinem Adapter "spielen" kann? Wäre super 😉

    1 Reply Last reply
    0
    • P pcone

      @Mic irgendwie bin ich scheinbar sogar für deinen Adapter zu :man-facepalming: denn ich bekomme es nicht hin. Ich will eigentlich nur, dass alle Lichter aus der Gruppe "Lichter" (= Zielgeräte Aufzählung siehe #1) ausgeschaltet werden, wenn der Trigger Pete Anwesend = "false" (siehe #2) ausgelöst wird. Es sollten ja alle Lichter ausgeschaltet werden. Unter #4 kannst du sehen, dass ich den Trigger auf "false" gesetzt habe, aber die Lichter (Bsp. #5) nicht auf false schalten. Was habe ich hier denn falsch gemacht? alt text

      MicM Offline
      MicM Offline
      Mic
      Developer
      wrote on last edited by
      #20

      @pcone sagte in Alles Licht aus bei verlassen des Hauses:

      Ich will eigentlich nur, dass alle Lichter aus der Gruppe "Lichter" (= Zielgeräte Aufzählung siehe #1) ausgeschaltet werden, wenn der Trigger Pete Anwesend = "false" (siehe #2) ausgelöst wird. Es sollten ja alle Lichter ausgeschaltet werden. Unter #4 kannst du sehen, dass ich den Trigger auf "false" gesetzt habe, aber die Lichter (Bsp. #5) nicht auf false schalten. Was habe ich hier denn falsch gemacht? alt text

      Zeige am besten mal Debug Log.

      1 Reply Last reply
      0
      • J Offline
        J Offline
        Jan1
        wrote on last edited by
        #21

        Wenn Alex im Spiel ist, ist das sehr einfach, da über den Alexa Adapter alle Gruppen inklusive der Gruppe Lichter als DP den man schalten kann zur Verfügung stehen.

        L 1 Reply Last reply
        0
        • J Jan1

          Wenn Alex im Spiel ist, ist das sehr einfach, da über den Alexa Adapter alle Gruppen inklusive der Gruppe Lichter als DP den man schalten kann zur Verfügung stehen.

          L Offline
          L Offline
          LogSeb
          wrote on last edited by LogSeb
          #22

          Hi zusammen,

          ich nutze im Grunde dasselbe Skript wie pcone weiter oben.

          // -----------------------------------------------
           // Variable
           // -----------------------------------------------
          
           var idTrigger = "hm-rega.0.xyz"/*Alle Lampen aus*/;
            
           // -----------------------------------------------
           // Trigger
           // -----------------------------------------------
           on(
               {
               id: idTrigger,
               val: true
               }, 
            
           // -----------------------------------------------
           // Aktion
           // -----------------------------------------------    
               function (obj) 
               {
                   var idx = 0;
                   var interval = 300;
          
                  log($('channel(functions=Light)[state.id=*.STATE](rooms=LivingRoom)'));
                   
                   $('channel(functions=Light)[state.id=*.STATE](rooms=LivingRoom)').each(function(id,i) {
                       if (getState(id).val) setStateDelayed(id, false, (idx++) * interval); 
                   });
            
                   setTimeout(function () {
                       setState(idTrigger, false);
                   }, 2000);
            
                   log('Licht im Wohnzimmer ausgeschaltet.');
               }
           );
          

          Das Skript schaltet zuverlässig und setzt auch die Variable "Alle Lampen aus" wieder zurück, nachdem alles durchgelaufen ist. Mein Problem ist, dass das Skript nicht nur alle Lichter schaltet, sondern auch die Steckdosen im jeweiligen Raum.

          Ich habe die Selektion mal geloggt:


          2020-12-31 13:31:55.547 - info: javascript.0 (446) script.js.Homematic_Programme.Beleuchtung.Alle_Lampen_aus: {'0':'hm-rpc.0.OEQ016xyz.13.STATE','1':'hm-rpc.0.OEQ016xyz.14.STATE','2':'hm-rpc.0.OEQ016xyz.15.STATE','3':'hm-rpc.0.OEQ016xyz.16.STATE','4':'hm-rpc.0.OEQ016xyz.17.STATE','5':'hm-rpc.0.OEQ016xyz.18.STATE','6':'hm-rpc.0.OEQ016xyz.19.STATE','length':7}

          Das Skript scheint sämtliche Geräte mit .STATE-Kanälen im Wohnzimmer zu schalten, unabhängig von Functions=Light. Schränke ich hingegen auf "Esszimmer" ein, werden dort korrekt nur die Lichter ausgeschaltet. Steckdosen bleiben an.

          Im ioBroker ist im Wohnzimmer soweit ich das sehen kann alles korrekt hinterlegt. Steckdosen sind unter Funktion korrekt angelegt und nicht dem Gewerk "Licht" zugeordnet. Dennoch werden sie über das Skript geschaltet.


          Bildschirmfoto 2021-01-01 um 12.57.20.png

          Hat jemand eine Idee, woran das liegen kann?

          Danke euch und beste Grüße!

          1 Reply Last reply
          0
          • machs-smart.deM Offline
            machs-smart.deM Offline
            machs-smart.de
            wrote on last edited by
            #23

            Alle Geräte einer Aufzählung auf einmal steuern
            Ich zeige dir in diesem Artikel, wie du alle Geräte einer Aufzählung auf einmal steuern kannst. Diese Anleitung lässt sich auf alle Datenpunkte anwenden, wie beispielsweise Steckdosen, Lichter, Aktoren, Steuerungen usw.

            https://www.machs-smart.de/iobroker-blockly-alle-gerate-einer-aufzahlung-steuern/

            www.machs-smart.de
            Anleitungen und Tutorials rund um ioBroker

            J 1 Reply Last reply
            1
            • machs-smart.deM machs-smart.de

              Alle Geräte einer Aufzählung auf einmal steuern
              Ich zeige dir in diesem Artikel, wie du alle Geräte einer Aufzählung auf einmal steuern kannst. Diese Anleitung lässt sich auf alle Datenpunkte anwenden, wie beispielsweise Steckdosen, Lichter, Aktoren, Steuerungen usw.

              https://www.machs-smart.de/iobroker-blockly-alle-gerate-einer-aufzahlung-steuern/

              J Offline
              J Offline
              Jan1
              wrote on last edited by
              #24

              @mxbr
              Wenn ne Alexa im Spiel ist, ist das sehr einfach. Einfach den DP Licht im Alexa Adapter schalten und alle Lichter gehen aus 😉

              1 Reply Last reply
              0
              • M Offline
                M Offline
                Michi_Pi
                wrote on last edited by
                #25

                Ist auch eine elegante Lösung mit dem Skript.
                Ich habe das bei mir recht einfach über den Szenen Adapter gelöst. Da ich bei mir ohnehin ja für jeden Raum verschiedene Szenen hab, (auch jeweils eine Szene für alle Lichter pro Raum) hab ich eine Szene erstellt, die einfach dann alle Räume beinhaltet. (Nicht nur Lichter, sondern auch Steckdosen und Geräte werden hier geschalten)
                Da unterscheide ich dann aber nochmal ob ich es per Sprache oder über die Vis steueren möchte oder an der Haustür per Taster ausschalte. Denn wenn ich das Haus verlasse, möchte ich die Außenbeleuchtung zeitversetzt zu allen anderen Geräte ausschalten.

                1 Reply Last reply
                0
                • lobomauL lobomau

                  Blockly wäre für den Fall zu aufwendig. Man müsste da jedes Gerät einzeln reinpacken, da ist das javascript von Homer1976 besser.

                  Ich habe es etwas angepasst, damit du damit direkt loslegen kannst. Jetzt wird zusätzlich eine Variable angelegt mit dem Namen "alle_lichter". (dazu einmal das Script starten und aktiv lassen).

                  Variablen findest du unter Objekte beim javascript-Adapter, in meinem Fall Instanz 0. Du kannst es übersichtlicher in Ordner packen, in diesem Fall: Variablen -> Lichter -> alle_Lichter.

                  Jetzt probiere mal aus es auf true zu stellen. Dann gehen "alle" Lichter an. Es gehen nur die Lichter an, die mit .STATE enden (also meistens HM Komponente) und die Lichter müssen der Rolle "Licht" zugeordnet sein. Probiere mal ob es erstmal geht.

                  Anschließend könnte man das Script erweitern um Lichter mit der Endung .on (hue-Adapter).

                  //Trigger Variable anlegen:
                  createState('javascript.0.Variablen.Licht.alle_Lichter', false, 
                  {type: 'boolean', name: 'Trigger', min: false, max: true, read: true, write: true, role: 'javascript' });
                  
                  on('javascript.0.Variablen.Licht.alle_Lichter'/*Trigger*/, function(obj){
                      $('state[state.id=*.STATE](functions=Licht)').each(function(id,i) {
                          setState(id,obj.state.val);
                      });
                          log('alle Lichter aus:'+obj.state.val);
                  });
                  
                  J Offline
                  J Offline
                  Ja.rod
                  wrote on last edited by
                  #26

                  @lobomau Vielleicht kannst du mir helfen, bin in Javascript so gut wie nicht bewandert. Es werden bei mir alle relevanten Lichter ausgeschaltet wenn der Datenpunkt auf "false" gestellt wird und angeschalten bei "true". Falls der Datenpunkt auf aber bereits auf "false" steht bewirkt eine erneutes setzen "false" nichts, die Lichter bleiben an. Es wenn er vorher auf "true" war und dann wieder auf "false" gesetzt wird, werden die Lichter ausgeschalten. Was muss getan werden damit das Script auch bei einer Aktualisierung mit dem gleich Wert durchgeläuft?

                  Gruß
                  Ja.rod

                  lobomauL M 2 Replies Last reply
                  0
                  • J Ja.rod

                    @lobomau Vielleicht kannst du mir helfen, bin in Javascript so gut wie nicht bewandert. Es werden bei mir alle relevanten Lichter ausgeschaltet wenn der Datenpunkt auf "false" gestellt wird und angeschalten bei "true". Falls der Datenpunkt auf aber bereits auf "false" steht bewirkt eine erneutes setzen "false" nichts, die Lichter bleiben an. Es wenn er vorher auf "true" war und dann wieder auf "false" gesetzt wird, werden die Lichter ausgeschalten. Was muss getan werden damit das Script auch bei einer Aktualisierung mit dem gleich Wert durchgeläuft?

                    Gruß
                    Ja.rod

                    lobomauL Offline
                    lobomauL Offline
                    lobomau
                    wrote on last edited by
                    #27

                    @ja-rod ja, das Script triggert nur auf eine Änderung.
                    Aber ich bin auch nicht bewandert mit javascript und weiß nicht wie man das Script diesbzgl. ändern muss.

                    Host: NUC8i3 mit Proxmox:

                    • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
                    • Slave: Pi4
                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      Robbi12
                      wrote on last edited by
                      #28

                      Also ich habe es mit einer Scene gelöst. Einfach alles was ich ausschalten möchte rein, entsprechend anpassen und nur für ausschalten eingestellt. Dann mit einfachem blockly welches auf tastendruck eines Schalters geht ausschalten.

                      1 Reply Last reply
                      0
                      • J Ja.rod

                        @lobomau Vielleicht kannst du mir helfen, bin in Javascript so gut wie nicht bewandert. Es werden bei mir alle relevanten Lichter ausgeschaltet wenn der Datenpunkt auf "false" gestellt wird und angeschalten bei "true". Falls der Datenpunkt auf aber bereits auf "false" steht bewirkt eine erneutes setzen "false" nichts, die Lichter bleiben an. Es wenn er vorher auf "true" war und dann wieder auf "false" gesetzt wird, werden die Lichter ausgeschalten. Was muss getan werden damit das Script auch bei einer Aktualisierung mit dem gleich Wert durchgeläuft?

                        Gruß
                        Ja.rod

                        M Offline
                        M Offline
                        Michi_Pi
                        wrote on last edited by
                        #29

                        @ja-rod
                        wie schon @Robbi12 erwähnt und auch ich hier schon gesagt, löse ich das über Szenen.

                        Alternativ sollte es auch per Blockly mittlerweile einfacher sein, Stichwort IDs vom Selektor
                        07e21144-df8c-4999-91bc-fa3de57ddf78-grafik.png

                        mit Java kenn ich mich selbst auch nicht aus.

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        694

                        Online

                        32.4k

                        Users

                        81.4k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe