NEWS
[geloest] Ping via Blockly ohne ping.adapter auslesen
-
@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. -
@Thomas-Braun Ok. Danke für die Info.
-
@MCU sagte in Ping via Blockly ohne ping.adapter auslesen:
Was nutzt man denn anstatt "request" in Blockly?
solange request() noch in iobroker(und damit in Blockly) integriert ist, sehe ich keine Notwendigkeit da umzusteigen, innerhalb Blockly wäre das ja auch mit erheblichen Klimmzügen verbunden(JS-Funktion anstatt request-Block, laden einer Alternative in der JS-Instanz).
Für JS wird von Apollon77 wohl
axios()
empfohlen, welches auch recht einfach anzuwenden ist. Ich pers. nehme da nichts Anderes mehr. -
-
@fastfoot Ok. Danke für die Info.