NEWS
[gelöst]per Ping SV steuern
-
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
-
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 ?
-
Okay auch gut.
Java Adapter habe ich drauf ja.
-
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();
-
Wow vielen Dank aber die sv ändert sich nicht?
Wie oft wird das Script aktualisiert oder passiert das per Änderung?
909_image.png -
-
Cool, wenn es jetzt funktionieren würde wäre das echt klasse
-
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.
-
Riesen dank, funktioniert. Kann ich das mit allwatch trotzdem mal lassen?
Sag mal wo lernt man Java?
Mfg
-
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. -
Solange es nix ausmacht ist mir das Wurst
Danke dir übelst!!!
Mfg
-
Es wäre doch kein Problem das Skript einfach zu erweitern richtig?
-
Es wäre doch kein Problem das Skript einfach zu erweitern richtig? `
Kein Problem, wenn es zur Funktion passt.