NEWS
Ping über bestimmtes Interface
-
Abend zusammen,
Folgendes mein Raspberry hängt an einem OpenWRT Router,
Dieser ist ganz im Netzwerk eingebunden, zusätzlich hängt ein LTE Stick als Fallback dran..
Funktioniert soweit alles super, falls das Internet ausfällt ist der Raspy weiter über den Stick Online,
Internet fällt ja nur alle heiligen Zeiten aus, deswegen würde ich gern die Funktionalität des Sticks jeden Tag über einen Cronjob prüfen, wenn ich zB google nicht mehr Pingen kann, würde ich gerne über Telegram oder E-Mail Informiert werden..
eth1 ist das "LTE Stick" interfacessh root@172.17.10.1 -t "ping -I eth1 google.de"
Den Befehl kann ich auch wunderbar über den Raspy ausführen, nur leider hab ich keine Ahnung wie ich die Antwort verarbeiten kann..
Am besten wäre natürlich wenn ein DP erzeugt werden würde, der auf true steht, und bei einem timeout auf false wechselt..Hat jemand ne Idee wie ich das umsetzen könnte?
-
@uncleb
Was kommt als Ergebnis? Bitte in Codetags (</>) senden. -
@uncleb sagte in Ping über bestimmtes Interface:
ping -I eth1 google.de
du solltest auf jeden fall ein timeout einbauen, da ansonsten ping relativ lang wartet.
Parameter w steht für timeout in sekunden. Wenn die Verbindungsaufnahme deines sticks länger dauert, dann ggfs. vergrößernping -I eth1 -w 2 google.de
ich würde dann mit grep auf den text packet loss prüfen
if ping -I eth1 -w 2 google.de | grep -q "100% packet loss" ; then echo not found iobroker state set "id" "not found" else echo found iobroker state set "id" "found" fi
das ssh müsstest du dann noch vor den ping befehl setzen,
aber das konnte ich hier nicht testen
evtl wegen den zwei verschachtelten anführungsstriche dann die inneren noch mit \" escapen
getestet habe ich einmal mit google.de und einmal mit xgoogle.de -
@mcu
ich erhalte nur eininfo javascript.0 (6459) script.js.common.lte_test: undefined
@oliverio said in Ping über bestimmtes Interface:
du solltest auf jeden fall ein timeout einbauen, da ansonsten ping relativ lang wartet.
Parameter w steht für timeout in sekunden. Wenn die Verbindungsaufnahme deines sticks länger dauert, dann ggfs. vergrößernDer Timeout Tipp is natürlich super, soweit war ich noch gar nicht
Aber am liebsten wäre mir das ganze als Blockly, falls es umsetzbar ist -
@uncleb Zeig mal Dein Blockly. evtl hast du die Variable result nicht so angelegt. Result? Es muss genauso aussehen, wie es oben gezeigt wurde.
-
@mcu sollte eigtl passen, Variable result hab ich angelegt
-
@uncleb Mit Ergebnissen anklicken. Lass den Zeitplan erstmal zum Testen weg. Kann man hinterher setzen.
-
@mcu
Den hab ich nur gesetzt damit das Script paar mal hinteinander ausgeführt wird
Hast Recht Ergebnisse habe ich vergessen..
Aber im Debug erhalte ich dennoch keine nützlichen Infos:2:57:12.447 info javascript.0 (583) Start javascript script.js.common.lte_test 22:57:12.482 info javascript.0 (583) script.js.common.lte_test: registered 0 subscriptions and 1 schedule 22:57:31.118 info javascript.0 (583) script.js.common.lte_test: 22:58:00.890 info javascript.0 (583) script.js.common.lte_test: 22:58:30.918 info javascript.0 (583) script.js.common.lte_test: 22:59:00.986 info javascript.0 (583) script.js.common.lte_test: 22:59:31.037 info javascript.0 (583) script.js.common.lte_test: 23:00:01.141 info javascript.0 (583) script.js.common.lte_test:
-
@uncleb Zeig mal das Ergebnis auf der Console.
-
-
@uncleb Versuch mal ein sudo davor.
-
@mcu passiert auch nichts.
Im Adapter muss ich ja nur Exec erlauben aktivieren oder? -
@uncleb Ja
-
@mcu hm ja okay.. is alles aktiviert..
Script liegt im Common Ordner... passt auch? -
javascript.0 (1699) script.js.TESTS.Alexa_Frage: exec: sudo ping -c 1 192.168.178.105 23:17:19.850 info javascript.0 (1699) script.js.TESTS.Alexa_Frage: registered 0 subscriptions and 0 schedules 23:17:20.269 info javascript.0 (1699) script.js.TESTS.Alexa_Frage: PING 192.168.178.105 (192.168.178.105) 56(84) bytes of data. From 192.168.178.89 icmp_seq=1 Destination Host Unreachable --- 192.168.178.105 ping statistics --- 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
Versuch es bei Dir mal erst mit einem Ping.
-
@mcu said in Ping über bestimmtes Interface:
Versuch es bei Dir mal erst mit einem Ping.
das funktioniert, aber sobald ich mich mit dem Router über SSH verbinden will passiert nichts mehr, in der Console gehts ohne Probleme
-
@uncleb Vielleicht hat @apollon77 eine Idee? (germanbluefox nur über Adapter github erreichbar?)
Oder es mal als question einbringen:
https://github.com/ioBroker/ioBroker.javascript/issues -
@mcu ich dank dir derweil schon mal für deine Mühe
-
@uncleb sudo davor hast du versucht? -> sudo ssh root....
-
@mcu ja, das bringt auch nix