NEWS
[geloest] Ping via Blockly ohne ping.adapter auslesen
-
Moin,
ich möchte den Status eines Geräts adHoc feststellen und ungern den ping-Adapter nutzen. Leider bin ich nach der Forumssuche auch nicht so richtig schlau geworden.
Der Javascript-Adapter darf "exec" ausführen.
Warum gibt folgendes Blockly immer 0 zurück? Ich habe auch aundere Geräte/ IPs da eingegeben, die defintiv erreichbar bzw. auch nicht erreichbar waren.
-
@oberfragger
Das Ergebnis wird an result übergeben. Die Variable muss erstellt werden.
Die Variable "elternbad_spiegel_response" sollte auch gesetzt werden: Leerstring -
@MCU Moin,
wo ist der Fehler?
Variable auf "leer" gesetzt und dann gepingt.
Ich habe einen ganz anderen Block.Auch mit dem request von dir bekomme ich kein Ergebnis (hab das device auch vorher angepingt). Wo ist der Fehler?
-
@oberfragger sagte:
Wo ist der Fehler?
In beiden Fällen wird das Ergebnis in der lokalen Variablen result übergeben.
-
@oberfragger
Darf der user überhaupt ping ausführen?Auf welchem System läuft das?
sudo -u iobroker ping google.de 192.168.178.160
-
@Thomas-Braun
Ähh.. ich glaube Top Hinweis.
iobroker läuft auf einem Debian10 unter Proxmox (VM). Habe mal gepingt und da ging nix (.160 war defintiv nicht online, .100 ist der Proxmox Host.Quizfrage...wie erlaube ich "ping" für den user iobroker? Ich habe google bemüht...bin aber nicht richtig fündig geworden...
-
@oberfragger Vielleicht mal nur "sudo ping -c 1 192.168.178.160"
22:59:36.426 info javascript.0 (1661) script.js.TESTS.Alexa_Frage: exec: sudo ping -c 1 192.168.178.105 22:59:36.426 info javascript.0 (1661) script.js.TESTS.Alexa_Frage: registered 0 subscriptions and 0 schedules 22:59:36.455 info javascript.0 (1661) script.js.TESTS.Alexa_Frage: PING 192.168.178.105 (192.168.178.105) 56(84) bytes of data. 64 bytes from 192.168.178.105: icmp_seq=1 ttl=255 time=3.05 ms --- 192.168.178.105 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 3.046/3.046/3.046/0.000 ms
User iobroker kann man der Gruppe Sudo hinzufügen.
-
@MCU Klappt leider auch nicht.
Auf der Konsole bekomme ich:
Im Log kommt leider nichts an.
User iobroker habe ich zu sudo hinzugefügt. Leider kein Erfolg.
-
@oberfragger sagte in Ping via Blockly ohne ping.adapter auslesen:
Leider kein Erfolg.wo bitte weist du denn der Variablen das Ergebnis des Ping zu?
-
pi@raspberrypi:~ $ which ping /bin/ping pi@raspberrypi:~ $ ls -la /bin/ping -rwsr-xr-x 1 root root 55720 Jan 14 2020 /bin/ping
-
@oberfragger Nochmal langsam die Debug Output Variable muss result heissen!
Erstelle eine Variable namens result. Und nimm das elternbad_spiegel_response raus -
@MCU Ach herrje. Dass man die Variable genau so benennen muss. Habe das mal gemacht und leider kein Erfolg.
-
@oberfragger sagte:
leider kein Erfolg.
"sudo ping - c 192.168.178.160" ist keine URL, sondern ein Kommando (exec).
Die Initialisierung von result mit einem Leerstring ist unnötig.
Versuche es mal so:Wahrscheinlich sollte error ausgewertet werden, um die Erreichbarkeit zu prüfen. Allerdings wird bei einem Error immer auch ein Error-Log erzeugt.
-
@paul53 Sorry,
woher bekomme cih das Objekt "error"?
-
@oberfragger sagte:
woher bekomme cih das Objekt "error"?
Du musst einen Variable mit dem Bezeichner error erstellen.
Anstelle der URL steht immer noch ein Kommando !
-
@oberfragger Du hattest doch vorher Exec genutzt, warum denn umgestellt auf request?
Exec nutzt man für : sudo ping und andere Befehle, die man auf den Console ausführen kann
request nutzt man für URL -> http-Abfragen oder Aufrufe
-
@MCU sagte in Ping via Blockly ohne ping.adapter auslesen:
request nutzt man für URL -> http-Abfragen oder Aufrufe
Besser nicht mehr. request gilt als deprecated.
-
-
@Thomas-Braun Was nutzt man denn anstatt "request" in Blockly?
-
@MCU
Keine Ahnung. Bin eher Blocky-Legastheniker. Muss vermutlich perspektivisch auf irgendwas anderes umgestellt werden.