ioBroker / ioBroker.ping

Pings configured IPs for ioBroker
MIT License
21 stars 18 forks source link

ping per Javascript ausführen #93

Closed Baenker closed 1 month ago

Baenker commented 1 year ago

Ich fände es schön wenn es möglich wäre bestimmte IP,´s aus einen Javascript direkt anzupingen. Ich überwäche mit dem Adapter ein paar IP´s. I. d. R. laufen die immer alle. Um nicht unnötig oft zu pingen habe ich einen relativ langen Intervall von 10 Minuten eingestellt.

Jetzt habe ich aber den Anwendungsfall, dass wenn ein Datenpunkt von einen anderen Adapter auf false geht würde ich gerne direkt zwei Datenpunke aus dem Ping Adapter aktualisieren ohne erst den nächsten Intervall abzuwarten.

GermanBluefox commented 1 year ago

It is possible with:

sendTo('ping.0', 'ping', '192.168.1.1', (res) => {
    console.log('Result: ' + JSON.stringify(res)); // Result: {"result": {"host": "192.168.1.1", "alive": true, "ms": 250}} 
});
Baenker commented 1 year ago

Super das es umgesetzt werden soll! Vielen Dank. Habe es gerade getestet aber es passiert nichts. Im Log kommt gar nichts. Kein Fehler kein nix.

`function func_test(){

log('Starte Test');

sendTo('ping.0', 'ping', '192.168.178.1', (res) => { log('Result: ' + JSON.stringify(res)); // Result: {"result": {"host": "192.168.1.1", "alive": true, "ms": 250}} });

}

func_test(); `

die IP ist die Adresse von der Fritzbox diese wird auch von ping.0 überwacht.

Bei dem Script oben kommt nur der Log von oben drüber „Starte Test“.

Apollon77 commented 1 year ago

Welche version hast du denn versucht? Muss mindestens 1.6.1 sein, besser 1.6,2

Baenker commented 1 year ago

getestet mit der 1.62. Sind noch andere Adapter relevant? z.B. Web oder js-controller? Dort habe ich noch die Stable Version und würde dort aber auch nicht auf dem Beta-Zweig wechseln. Und wenn es bei Dir läuft ist es wohl ein Einzelschicksal bei mir.

Sascha8 commented 10 months ago

geht hier auch nicht mit frisch aufgesetztem System. Bitte mal fixen oder den Hinweis auf sendTo rausnehmen.

mcm1957 commented 7 months ago

@Apollon77 fixed sollte weg und bug dazu

klein0r commented 4 months ago

Im Log kommt gar nichts. Kein Fehler kein nix.

Wenn ich mir den Code anschaue, ist das wohl aktuell "richtig" bzw. so implementiert.

Der Callback wird nur im Fehlerfall aufgerufen und man bekommt auf diesem Weg nie ein Ergebnis geliefert. Das führt im aktuellen JavaScript-Adapter auch zu Timeouts (weil nie geantwortet wird). Damit ist das Code-Snippet auch falsch / kann gar nicht funktionieren:

https://github.com/ioBroker/ioBroker.ping/blob/9468dbbdb31cfeed4c9246ed496f9625987dcd95/README.md?plain=1#L20-L22

EDIT: Wobei das hier doch eigentlich klappen müsste wenn der Prozess beendet wird?! Muss ich in Ruhe mal testen.

https://github.com/ioBroker/ioBroker.ping/blob/9468dbbdb31cfeed4c9246ed496f9625987dcd95/lib/ping.js#L144-L149