Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]per Ping SV steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst]per Ping SV steuern

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

      Hallo,

      ich wollte gerne aus meinen ganzen ip-gäreten die True/False Geschichte auslesen und damit meine SV steuern also !Wenn auch nur ein Gerät True ist soll der SV zustand auch Wach sein und !Wenn alle False sind dann wechseln in Schläft. Ich habe da schon mal was vorbereitet, vielleicht könnt ihr mir da weiterhelfen, hab überhaupt kein Ansatz, fand auch gerade erst mit Node-Red an.

      [{"id":"e3f701a3.1c09","type":"ioBroker in","name":"TV SZ","topic":"ping.0.RaspberryPi.192_168_178_20","payloadType":"value","x":123,"y":55,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"6adadbdb.952524","type":"ioBroker in","name":"TV AZ","topic":"ping.0.RaspberryPi.192_168_178_34","payloadType":"value","x":125,"y":112,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"3894613b.c76b9e","type":"ioBroker in","name":"IPad","topic":"ping.0.RaspberryPi.192_168_178_21","payloadType":"value","x":126,"y":170,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"aed12f1d.512ed","type":"ioBroker in","name":"Mac-Mini","topic":"ping.0.RaspberryPi.192_168_178_26","payloadType":"value","x":137,"y":286,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"f7a2cf94.085d3","type":"ioBroker in","name":"PS 4","topic":"ping.0.RaspberryPi.192_168_178_31","payloadType":"value","x":141,"y":397,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"8fbce7f9.704318","type":"ioBroker in","name":"Drucker","topic":"ping.0.RaspberryPi.192_168_178_52","payloadType":"value","x":129,"y":229,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"37de680c.c82198","type":"ioBroker in","name":"IPhone Axel","topic":"ping.0.RaspberryPi.192_168_178_84","payloadType":"value","x":150,"y":340,"z":"751d0e6f.8ae2f","wires":[[]]},{"id":"1a23bbe8.e5dc44","type":"ioBroker out","name":"Schlafzustand","topic":"hm-rega.0.4769","ack":"false","autoCreate":"false","x":666,"y":203,"z":"751d0e6f.8ae2f","wires":[]}]
      

      danke Mit freundlichen Grüßen

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

        Das lässt sich mittels Javascript-Adapter sicherlich besser lösen, da der Ping-Adapter zu jedem Ping-Gerät einen Datenpunkt erzeugt. Bei dem JS-Programm kann ich Dir helfen.

        Hast Du schon eine Javascript-Instanz erstellt ?

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

          Okay auch gut.

          Java Adapter habe ich drauf ja.

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

            Dann kann das Script etwa so aussehen (vielleicht habe ich was vergessen):

            // Deklaration und Initialisierung von Variablen
            var id1 = "ping.0.RaspberryPi.192_168_178_20"; //TV SZ
            var id2 = "ping.0.RaspberryPi.192_168_178_34"; //TV AZ
            var id3 = "ping.0.RaspberryPi.192_168_178_21"; //IPad
            var id4 = "ping.0.RaspberryPi.192_168_178_26"; //Mac-Mini
            var id5 = "ping.0.RaspberryPi.192_168_178_31"; //PS 4
            var id6 = "ping.0.RaspberryPi.192_168_178_52"; //Drucker
            var idsv = "hm-rega.0.4769"; //Schlafzustand true = wach
            
            var ping1 = getState(id1).val;
            var ping2 = getState(id2).val;
            var ping3 = getState(id3).val;
            var ping4 = getState(id4).val;
            var ping5 = getState(id5).val;
            var ping6 = getState(id6).val;
            
            //Funktion zur Abfrage und Setzen der SV
            function wach()
            {
                if(ping1 || ping2 || ping3 || ping4 || ping5 || ping6)
                {
            		setState(idsv, true);
                }
                else
                {
            		setState(idsv, false);
                }
            }
            
            // Bei Änderung der Zustände Aufruf der Funktion
            on(id1, function(dp)
            {
               ping1 = dp.newState.val;
               wach();
            });
            on({d2, function(dp)
            {
               ping2 = dp.newState.val;
               wach();
            });
            on(id3, function(dp)
            {
               ping3 = dp.newState.val;
               wach();
            });
            on(id4, function(dp)
            {
               ping4 = dp.newState.val;
               wach();
            });
            on(id5, function(dp)
            {
               ping5 = dp.newState.val;
               wach();
            });
            on(id6, function(dp)
            {
               ping6 = dp.newState.val;
               wach();
            });
            
            // Scriptstart mit Initialwerten
            wach();
            
            
            1 Reply Last reply Reply Quote 0
            • fischi87
              fischi87 last edited by

              Wow vielen Dank aber die sv ändert sich nicht?

              Wie oft wird das Script aktualisiert oder passiert das per Änderung?
              909_image.png

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

                @fischi87:

                Wow vielen Dank aber die sv ändert sich nicht? `
                Die SV ändert sich nur, wenn kein Gerät mehr per ping erreichbar ist.
                @fischi87:

                Wie oft wird das Script aktualisiert oder passiert das per Änderung? `
                Das passiert nur bei Scriptstart und bei Änderung.

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

                  Cool, wenn es jetzt funktionieren würde wäre das echt klasse 🙂

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

                    Lösche bitte die geschweiften Klammern bei on({id}, –> on(id,

                    Beispiel:

                    on(id1, function(dp)
                    {
                       ping1 = dp.newState.val;
                       allewach();
                    });
                    

                    Die Bezeichnung "allewach" ist blöd gewählt. Es sollte eigentlich "min_einer_wach" o.ä. sein.

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

                      Riesen dank, funktioniert. Kann ich das mit allwatch trotzdem mal lassen?

                      Sag mal wo lernt man Java?

                      Mfg

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

                        @fischi87:

                        Kann ich das mit allwatch trotzdem mal lassen? `
                        Wenn es Dich nicht stört 🙂
                        @fischi87:

                        Sag mal wo lernt man Java? `
                        Du meinst Javascript ? Das hängt von den Voraussetzungen / Programmiererfahrungen in anderen Sprachen ab. Siehe http://forum.iobroker.de/viewtopic.php?f=21&t=1820&sid=c3dd6a9e9bd788d88cdc7303f72a1ada.

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

                          Solange es nix ausmacht ist mir das Wurst 🙂

                          Danke dir übelst!!!

                          Mfg

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

                            Es wäre doch kein Problem das Skript einfach zu erweitern richtig?

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

                              @fischi87:

                              Es wäre doch kein Problem das Skript einfach zu erweitern richtig? `
                              Kein Problem, wenn es zur Funktion passt.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              895
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              2
                              13
                              2364
                              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