Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Script in vis starten oder stopen. Zusätzlich per Radar und Anwesendheitserkennung

    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

    [gelöst] Script in vis starten oder stopen. Zusätzlich per Radar und Anwesendheitserkennung

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

      Hallo unter Objecte Javascript gibt es den Punkt "script enable"

      dort sind deine Scripte aufgelistet und du kannst die Scripte ein und ausschalten

      lässt sich auch in scene oder direkt in scripte verwenden.

      Gruß Stephan

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

        @ringdingringding:

        wie hast Du das umgesetzt? `

        Ich habe mir hierfür den Ping-Adapter installiert, dem Handy meiner Frau und meinem eine feste Ip gegeben welche ich dann wie folgt abfrage:

        (Auszug aus dem gesamt Script)

        
        var logging = false;                                         // Logging on/off
        var instanz = 'javascript.0';   instanz = instanz + '.';    // 
                                                                    //
        var pfad0 =   'Anwesenheit';      pfad0 = pfad0 + '.';        // Pfad der Jalousien innerhalb der Instanz 
        
        var ping1 = getState("ping.0.iobroker.192_XXXXX").val; //Handy Ip-1
        var ping2 = getState("ping.0.iobroker.192_XXXXX").val; //Handy IP-2
        
        createState(pfad0 + 'Status',  {def: 'true',type: 'boolean',name: 'Anwesenheit min. eines Bewohners'});	// Objekt für Anwesend Ja/Nein
        
        function check(){
            if(ping1 || ping2){
                setState(instanz + pfad0 +"Status"/*Anwesenheit min. eines Bewohners*/, true);
            }
            else{
                setState(instanz + pfad0 +"Status"/*Anwesenheit min. eines Bewohners*/, false);
            }
        }
        on([ping.0.iobroker.XX_IP1_XX, ping.0.iobroker.XX_IP2_XX], function(dp) {
            check();
        }
        
        

        Gruß

        Steffen

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

          Gerade mal versucht was hinzubekommen mit "Radar-Adapter"

          2958_bildschirmfoto_2018-01-02_um_22.05.17.png

          irgendwas passt da aber noch nicht!?

          Ich habe den Datenpunkt true und false.

          Wenn der false ist und beide ips ausser haus sind soll der auf true gesetzt werden.

          Wenn eine ip wieder zurück ist soll wieder auf false gesetzt werden.

          Gründsätzlich schon mal richtig?

          Gruß Danyel

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

            Kann man das nicht als Script exprtieren? Dann würde ich mal drauf schauen weil von Blocky hab ich keine Ahnung.

            Gruß

            Steffen

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

              Viele "moderne" Handys reagieren nach einiger Zeit des "nicht benutzt werdens" nicht mehr auf Pings weil die Handys in den Energiesparmodus gehen.

              Gruß

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

                Habe es nochmal geändert. Der "Radar Adapter" zeigt mir an wieviele von den voreingestellten IPs online sind.

                Also CountHere! Wenn jetzt CountHere = 0 Fensterüberwachung EIN. Wenn CountHere > 0 Überwachung AUS

                2958_bildschirmfoto_2018-01-03_um_13.06.30.png

                Hier der code:

                ! on({id: (function (){var val = 'javascript.0.Virtueller_Schalter_Alarm'; if (val === 'true') return true; if (val === 'false') return false; return !!val;})() == false, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (parseFloat('radar.0.countHere') == 0) { setState("javascript.0.Virtueller_Schalter_Alarm"/*Virtueller_Schalter_Alarm*/, true, true); } console.log('Fensterkontrolle wurde Aktiviert Ping sagt keiner zuhause'); }); on({id: (function (){var val = 'javascript.0.Virtueller_Schalter_Alarm'; if (val === 'true') return true; if (val === 'false') return false; return !!val;})() == true, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (parseFloat('radar.0.countHere') > 0) { setState("javascript.0.Virtueller_Schalter_Alarm"/*Virtueller_Schalter_Alarm*/, false, true); } console.log('Fensterkontrolle wurde Deaktiviert Ping sagt einer ist wieder zuhause'); }); !

                Gruss Danyel

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

                  @ringdingringding:

                  Habe es nochmal geändert. Der "Radar Adapter" zeigt mir an wieviele von den voreingestellten IPs online sind.

                  Also CountHere! Wenn jetzt CountHere = 0 Fensterüberwachung EIN. Wenn CountHere > 0 Überwachung AUS

                  Bildschirmfoto 2018-01-03 um 13.06.30.png

                  Hier der code:

                  ! on({id: (function (){var val = 'javascript.0.Virtueller_Schalter_Alarm'; if (val === 'true') return true; if (val === 'false') return false; return !!val;})() == false, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (parseFloat('radar.0.countHere') == 0) { setState("javascript.0.Virtueller_Schalter_Alarm"/*Virtueller_Schalter_Alarm*/, true, true); } console.log('Fensterkontrolle wurde Aktiviert Ping sagt keiner zuhause'); }); on({id: (function (){var val = 'javascript.0.Virtueller_Schalter_Alarm'; if (val === 'true') return true; if (val === 'false') return false; return !!val;})() == true, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (parseFloat('radar.0.countHere') > 0) { setState("javascript.0.Virtueller_Schalter_Alarm"/*Virtueller_Schalter_Alarm*/, false, true); } console.log('Fensterkontrolle wurde Deaktiviert Ping sagt einer ist wieder zuhause'); }); !

                  Gruss Danyel `
                  Bei dir wird nur getriggert, wenn sich der Zustand ändert vom virtuellen Schalter… so gewollt?

                  Du solltest triggern auf Änderung von countHere.

                  Rotbraun ist das Triggerfeld.

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

                    Stimmt Du hast recht.

                    So geht es aber auch noch nicht!? Wo denke ich falsch?

                    2958_bildschirmfoto_2018-01-03_um_14.17.12.png

                    on({id: 'radar.0.countHere', change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (parseFloat('radar.0.countHere') == 0) {
                        setState("javascript.0.Virtueller_Schalter_Alarm"/*Virtueller_Schalter_Alarm*/, true, true);
                        console.log('Fensterkontrolle wurde Aktiviert Ping sagt keiner zuhause');
                      }
                      if (parseFloat('radar.0.countHere') > 0) {
                        setState("javascript.0.Virtueller_Schalter_Alarm"/*Virtueller_Schalter_Alarm*/, false, true);
                        console.log('Fensterkontrolle wurde Deaktiviert Ping sagt einer ist wieder zuhause');
                      }
                    });
                    
                    

                    Gruss

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

                      Bin ich den komplett falsch mit meinem Ansatz?

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

                        @ringdingringding:

                        Bin ich den komplett flasch mit meinem Ansatz? `
                        Optisch sieht es gut aus.

                        Setz doch mal ein "Debug output Wert von countHere" oberhalb der Bedingungen ein.

                        Dann kann man sehen ob der Trigger überhaupt auslöst und welchen Wert "countHere" hat.

                        Grüße

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

                          radar.0 2018-01-04 16:27:18.725 info ScanAll: From all 0 devices dedected 0 are whoHere:

                          und

                          radar.0 2018-01-04 16:24:21.803 info ScanAll: From all 1 devices dedected 1 are whoHere: DanyelIP

                          Das scheint also schonmal zu funktionieren.

                          Aber warum der rest nicht?

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

                            @ringdingringding:

                            Aber warum der rest nicht? `

                            Mal gemacht was ich geschrieben habe? :roll:

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

                              2958_bildschirmfoto_2018-01-04_um_16.44.49.png

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

                                Und kommt die Debug-Ausgabe?

                                Wenn nicht, liegt es an dem "countHere".

                                Was ist das für ein Datenpunkt? (Screenshot)

                                Du lässt Dir aber auch die Infos aus der Nase ziehen. 😞 😉

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

                                  Sorry bin neu hier und fummel mich gerade erst rein in blockly 😉

                                  Datenpunkt kommt von Radar und ändert sich auch brav

                                  2958_bildschirmfoto_2018-01-04_um_16.50.38.png

                                  countHere 0 für keiner im Haus und je nachdem wieviel IPs ich eingetragen habe 1, 2 oder 3

                                  Wenn keiner im Haus soll javascript.0.Virtueller_Schalter_Alarm auf true gehen und wenn wieder min. einer im Haus ist auf false

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

                                    Hmm. Soweit alles gut.

                                    Da fallen mir nur noch zwei Möglichkeiten ein.

                                    1. das Script ist nicht gestartet (geh ich jetzt mal nicht von aus 😉 )

                                    2. Du hast das Blockly unter "global" abgespeichert. (da gehört es auf keinen Fall hin!!!)

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

                                      hmmm 😞

                                      2958_bildschirmfoto_2018-01-04_um_17.24.26.png

                                      und nun?

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

                                        Liegt es evtl an dem Datenpunkt der geändert werden soll?

                                        Über die Vis kann ich diesen per Schalter auf true oder false ändern.

                                        Das klappt auch soweit.

                                        2958_bildschirmfoto_2018-01-04_um_17.37.05.png

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

                                          Alles sehr merkwürdig 😢

                                          Wird denn getriggert?

                                          Bekommst du im LOG den Wert von "countHere" angezeigt, wenn dieser sich ändert?

                                          Deshalb solltest Du ja den Debug-Baustein einsetzen.

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

                                            Nimm mal die "states" aus Deinem Datenpunkt raus.

                                            Bei mir sieht ein Logikwert so aus.
                                            147_beispiel.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            688
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            35
                                            3231
                                            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