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