NEWS
[gelöst] Skript für Ping incl. Port?
-
Hallo Zusammen,
Ich bin auf der Suche nach einem Skript mit dem ich eine DynDNS incl. Port anpingen kann und damit einen
Datenpunkt setzte…
Im Moment habe ich nur diesen Skript gefunden der überhaupt mit Port ist, leider funktioniert er nicht
und es kommt eine Fehlermeldung.
Daher die Frage hat jemand so etwas bereits oder kann mir helfen woran es liegt?
Skript:
function ping(host, port, pong) { var started = new Date().getTime(); var http = new XMLHttpRequest(); http.open("GET", "http://" + host + ":" + port, /*async*/true); http.onreadystatechange = function() { if (http.readyState == 4) { var ended = new Date().getTime(); var milliseconds = ended - started; if (pong !== null) { pong(milliseconds); } } }; try { http.send(null); } catch(exception) { // this is expected } } schedule("* * * * *", function () { ping("192.168.5.90", "8081", function(m){ console.log("It took "+m+" miliseconds."); }); });
Log vom Skript und iobroker:
18:59:00.361 [error] javascript.0 at ping (script.js.Ping:5:14) 18:59:00.361 [error] javascript.0 at Object. (script.js.Ping:26:5) 19:00:00.360 [error] javascript.0 at ping (script.js.Ping:5:14) 19:00:00.361 [error] javascript.0 at Object. (script.js.Ping:26:5) 19:01:00.358 [error] javascript.0 at ping (script.js.Ping:5:14) 19:01:00.358 [error] javascript.0 at Object. (script.js.Ping:26:5) javascript.0 2018-04-22 19:05:00.358 error at Object. (script.js.Ping:26:5) javascript.0 2018-04-22 19:05:00.358 error at ping (script.js.Ping:5:14) javascript.0 2018-04-22 19:05:00.357 error Error in callback: ReferenceError: XMLHttpRequest is not defined
Danke
Gruß Jens
-
Sieht so aus alsob das Script noch ein npm Packet benötigt ?
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
das scheint der richtige Tipp gewesen zu sein.
Zwar läuft der Script oben nicht, aber durch die suche habe ich einen anderen gefunden, bei dem
auch ein npm Paket installiert werden musste.
$ cd /opt/iobroker/node_modules/iobroker.javascript/node_modules/ $ sudo npm install tcp-ping
script:
var tcpp = require('tcp-ping'); schedule("*/5 * * * *", function () { tcpp.probe('192.168.5.90', 8081, function(err, available) { console.log(available); setState(".Meine_Geraete.TestPing"/*TesPing_*/,available); }); });
somit setzt er alle 5 min ein true und wenn nicht erreichbar ein false
Gruß Jens
-
Sehr schön, ich weiß das ist jetzt wie Senf nach der Mal Zeit aber mir fällt gerade ein das wir auch einen Ping Adapter haben
https://github.com/ioBroker/ioBroker.pi … /README.md
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
ja, habe beide installiert,
leider gehen beide nicht mit Port, oder ich bin zu blöde dafür.
Gruß Jens
-
@aingtii sagte in [gelöst] Skript für Ping incl. Port?:
das scheint der richtige Tipp gewesen zu sein.
Zwar läuft der Script oben nicht, aber durch die suche habe ich einen anderen gefunden, bei dem
auch ein npm Paket installiert werden musste.
$ cd /opt/iobroker/node_modules/iobroker.javascript/node_modules/ $ sudo npm install tcp-ping
script:
var tcpp = require('tcp-ping'); schedule("*/5 * * * *", function () { tcpp.probe('192.168.5.90', 8081, function(err, available) { console.log(available); setState(".Meine_Geraete.TestPing"/*TesPing_*/,available); }); });
somit setzt er alle 5 min ein true und wenn nicht erreichbar ein false
Gruß Jens
Klappt das bei dir?
Genau das selbe brauch ich auch.
Danke -
@lordcyber, du kannst ja auch den Ping Adapter nutzen
-
Wer kann einmal den Shelly mit Firmware 1.10.0-geba262d mit Unicast testen? Muss aber die aktuelle 1.10.0 Version sein (keine Beta Version!). Funktioniert bei Euch Unicast? Bei der Beta ging es bei mir nicht, bei der offiziellen 1.10.0 scheint es zu funktionieren.
Aber nur Testen wenn bei Euch auch CoAP in Multicast funktioniert, sonst suche ich einen Fehler den es nicht gibt.