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.
    • 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

                            639
                            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