Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Alles Licht aus bei verlassen des Hauses

    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

    Alles Licht aus bei verlassen des Hauses

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

      moin moin

      so mein problem liegt im blockly script….wie kann ich mit einem schalter im vis es realisieren das ich oder derjenige der das haus verlässt am eingebauten bildschirm im flur via iobroker einen schalter/taster drückt in dem alle lampen aus gehen die ein sind?

      1 Reply Last reply Reply Quote 0
      • Homer.J.
        Homer.J. last edited by

        Moin,

        probier es mal so ich habe alle Lichter in eine Funktion gepackt und nehme dieses Script dazu.

        Kannst dann sowohl an und aus schalten.

        Grüße

        on('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);
        });
        
        P 1 Reply Last reply Reply Quote 0
        • S
          SirMiker last edited by

          super vielen dank für die antwort…ich denke das ist genau das was ich haben will!

          nun natürlich mein problem....wie kann ich mir das in blockly anzeigen lassen...wenn ich es kopiere und einfüge in blockly dann habe ich einen kleinen gelben block mit fragezeichen drin :?

          1 Reply Last reply Reply Quote 0
          • Homer.J.
            Homer.J. last edited by

            @SirMiker:

            super vielen dank für die antwort…ich denke das ist genau das was ich haben will!

            nun natürlich mein problem....wie kann ich mir das in blockly anzeigen lassen...wenn ich es kopiere und einfüge in blockly dann habe ich einen kleinen gelben block mit fragezeichen drin :? `

            Ist kein Blockly sondern ein Javascript.

            1 Reply Last reply Reply Quote 0
            • S
              SirMiker last edited by

              ok danke…muss ich mich da wohl reinfuchsen in java...denke das dauert ne weile, aber man lernt ja nie aus 😄

              falls jemand sowas als blockly vorlage hat wäre ich sehr zu dank verpflichtet 🙂

              1 Reply Last reply Reply Quote 0
              • Homer.J.
                Homer.J. last edited by

                @SirMiker:

                ok danke…muss ich mich da wohl reinfuchsen in java...denke das dauert ne weile, aber man lernt ja nie aus 😄 `

                Ist kein Problem als Trigger deinen Schalter vom Vis rein, und eine Funktion anlegen und deine ganzen Lichter rein packen.

                1 Reply Last reply Reply Quote 0
                • S
                  SirMiker last edited by

                  vielen dank für deinen optimismus…aber da überschätzt du meine fähigkeiten in java bei weitem...keine ahnung wo ich den schalter finde das ich ihn in java da rein machen kann...ich finde zwar die switch die in die funktion rein sollen...aber wo das in dem script rein muss leider keinen plan...deswegen war ich ja so froh das man mit blockly sowas für uns windos plug and play verpeilten hier im iobroker hat :oops:

                  1 Reply Last reply Reply Quote 0
                  • lobomau
                    lobomau last edited by

                    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 1 Reply Last reply Reply Quote 0
                    • S
                      SirMiker last edited by

                      so hab da einiges gefunden…das meiste sind leider weiter böhmische dörfer für mich :roll: hab glaube ich deinen script am laufen...aber ich versuche damit shellys zu steuern die in meine lichter eingebaut sind...die haben zwar .STATE sind aber nichr der Rolle LICHT zugeordnet sondern switch(jedenfalls da wo ich sie schalten will unter objekte)

                      1 Reply Last reply Reply Quote 0
                      • H
                        hannoi last edited by

                        Hast du eine Zuordnung unter den Objekten zu einer Rolle bei deinen Shelly Adaptern?

                        In dem o.g. Beispiel ist es die Rolle LICHT, du kannst das Skript auch anpassen indem du bei functions=XXXX einfach den Namen deiner Rolle einträgst.

                        1 Reply Last reply Reply Quote 0
                        • S
                          SirMiker last edited by

                          so habe jetzt den script gestartet und anstatt "Licht" "switch" in der Funnction angegeben...habe den scribt dem widget "hqwidgets checkbox" zugeordnet...leider tut sich nichts wenn ich den schalter betätige

                          1 Reply Last reply Reply Quote 0
                          • S
                            SirMiker last edited by

                            Bin ich den so auf dem richtigen Weg? Oder kann ich "Licht" nicht einfach in "Switch" ändern und deswegen funktioniert es nicht?!

                            1 Reply Last reply Reply Quote 0
                            • P
                              pcone @Homer.J. last edited by pcone

                              @Homer-J said in Alles Licht aus bei verlassen des Hauses:

                              Moin,

                              probier es mal so ich habe alle Lichter in eine Funktion gepackt und nehme dieses Script dazu.

                              Kannst dann sowohl an und aus schalten.

                              Grüße

                              on('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);
                              });
                              

                              Hallo an alle. Ich muss mich hier mal einklinken, denn ich komme alleine einfach nicht weiter.

                              Ich versuche seit Tagen mit Hilfe diverser Forenbeiträge (z.B. Quelle: https://forum.iobroker.net/topic/1694/frage-zu-licht-aus-script/20) und der ioBroker Hilfe Seite (Quelle: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#---selector)ein eigenes Javascript für meinen ioBroker anzupassen, aber es will einfach nicht funktionieren.

                              Es sollen alle Geräte (Dimmer & Steckdosen) abgeschaltet werden, wenn der Trigger "AlleLichterAus" auf "true" ist. Ich habe ausschließlich Homematic IP Geräte (nur Dimmer & Steckdosen / keine Schalter!) im Einsatz. Egal was ich versuche, es wird nichts getriggert, sobald ich mehr als 1 Gerät steuern will (via $ - Selector).

                              Anbei mal mein Skript. Ich hoffe Ihr könnt mir helfen, denn ich bin irgendwie zu doof...

                              ////////////////////////////
                              // Variable
                              ////////////////////////////
                               
                              createState('variables.AlleLichterAus',false);
                              var idTrigger = "javascript.0.variables.AlleLichterAus"/*AlleLichterAus*/;
                               
                              ////////////////////////////
                              // Trigger
                              ////////////////////////////
                              on(
                                  {
                                  id: idTrigger,
                                  val: true
                                  }, 
                               
                              ////////////////////////////
                              // Aktion
                              ////////////////////////////
                                  function (obj) 
                                  {
                                      var idx = 0;
                                      var interval = 300;
                              
                                   //  HmIP BDT - HomeMatic IP Dimmer ausschalten (0 = Aus) die eingeschaltet sind (> 0 bis  100) 
                                       $('channel[role=level.dimmer][state.id=*.4.LEVEL](functions=Licht)').each(function(id, i) {
                                          if (getState(id).val > 0) setStateDelayed(id, 0, (idx++) * interval); 
                                      });
                                   
                                  //  Alle Steckdosen ausschalten (false) die AN (true) sind
                                      $('channel[state.id=*.3.STATE](functions=Steckdose)').each(function(id,i) {
                                        if (getState(id).val) setStateDelayed(id, false, (idx++) * interval); 
                                      });
                               
                                      setTimeout(function () {
                                          setState(idTrigger, false, true);
                                      }, 2000);
                               
                                      log('Bsp.Text: Alle Schalter und Dimmer aus der Gruppe Licht ausgeschaltet');
                                  }
                              );
                              
                              Mic paul53 2 Replies Last reply Reply Quote 0
                              • Mic
                                Mic Developer @pcone last edited by

                                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 3 Replies Last reply Reply Quote 0
                                • P
                                  pcone @Mic last edited by

                                  @Mic said in Alles Licht aus bei verlassen des Hauses:

                                  Smart Control Adapter

                                  Danke Dir! Schaue ich mir auf jeden Fall an! Sieht wirklich vielversprechend aus.

                                  Um aber meine JS Kenntnisse zu verbessern, wäre ich dennoch für Feedback zum Skript dankbar. Es macht mich verrückt, dass ich den Fehler nicht finde, bzw. es nicht verstehe ;-/

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @pcone last edited by paul53

                                    @pcone sagte:

                                    es wird nichts getriggert

                                    Du meinst, dass die Selektoren nichts finden ? Stimmt die Schreibweise der Gewerke "Licht" und "Steckdose" ? Die Schreibweise muss identisch mit der in der ID sein, nicht mit der des Namen.

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      pcone @Mic last edited by

                                      @Mic irgendwie bin ich scheinbar sogar für deinen Adapter zu 🤦‍♂️ 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

                                      Mic 1 Reply Last reply Reply Quote 0
                                      • P
                                        pcone @paul53 last edited by

                                        @paul53 hi, also eigentlich sollten die passen. siehe Bsp. für Dimmer.

                                        alt text

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pcone @Mic last edited by

                                          @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 Reply Quote 0
                                          • Mic
                                            Mic Developer @pcone last edited by

                                            @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 Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            419
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            29
                                            5190
                                            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