Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Alles Licht aus bei verlassen des Hauses

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Alles Licht aus bei verlassen des Hauses

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
29 Beiträge 13 Kommentatoren 6.3k Aufrufe 14 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    Jan1
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      0
      • machs-smart.deM Offline
        machs-smart.deM Offline
        machs-smart.de
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Michi_Pi
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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.4, nodejs 22.21.0
                • Slave: Pi4
                1 Antwort Letzte Antwort
                0
                • R Offline
                  R Offline
                  Robbi12
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    479

                    Online

                    32.6k

                    Benutzer

                    82.2k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe