Hallo!
Ich will täglich die Zählerstände an meinen Webserver schicken, der dann die Daten in eine MYSQL-DB einfügt.
Das Script in Homematic ist erstellt und der Link wird auch richtig zusammengebaut.
Aber aus einem mir nicht ersichtlichen Grund wird der Seitenaufruf nicht durchgeführt.
Anbei der Screenshot in dem man erkennt was zusammengestellt und als Link zusammengebastelt wird.
Warum funzt das mit dem Aufruf system.Exec ("wget -q -O -" #url, &stdout, &stderr); nicht?
Wäre für einen Tipp/Lösung sehr dankbar!!
Kleinen Hinweis noch:
Kopiere ich den erstellten Link direkt in den Browser, wird die Datenbank richtig beschrieben.
GELÖST: system.Exec ("wget -q -O -" #url, &stdout, &stderr); Warum klappt das nicht? ?
Moderator: Co-Administratoren
-
- Beiträge: 40
- Registriert: 04.11.2017, 20:20
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 4 Mal
GELÖST: system.Exec ("wget -q -O -" #url, &stdout, &stderr); Warum klappt das nicht? ?
Zuletzt geändert von dersmarthomer am 02.12.2018, 10:45, insgesamt 1-mal geändert.
Raspberrymatic auf Raspberry Pi4 mit Funkmodul RPI-RF-MOD in Selbstbaugehäuse und externer Antenne, HM Wired, HM-IP, 9 Kameras, Mediola AIO NEO, 2 Wandtablets Amazon Fire HD10 zur Visualisierung, Steuerung einer dreh-/neigbaren PV-Anlage mit HM-Wired, 10x Wemos D1 mit Sensoren.
-
- Beiträge: 215
- Registriert: 19.01.2015, 07:42
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 8 Mal
Re: system.Exec ("wget -q -O -" #url, &stdout, &stderr); Warum klappt das nicht? ?
dann häng doch hinten
an und schau was dem wget nicht passt, zur sicherheit machst ihn gesprächiger und nimmst das -q weg.
achja, und in die logs vom webserver hast eh auch schon gschaut?
Code: Alles auswählen
WriteLine(stdout);
WriteLine(stderr);
achja, und in die logs vom webserver hast eh auch schon gschaut?
RaspberryMatic 3.73.9.20231130 on Proxmox, HB-RF-ETH and Aurel Groundplane binded by openHAB 4.1.1
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: system.Exec ("wget -q -O -" #url, &stdout, &stderr); Warum klappt das nicht? ?
Der Aufruf "funzt" nicht weil deine angegebe URL sonderzeichen wie ein & enthält die von der unix shell die zur Ausführung genutzt wird entsprechend ibterpretiert wird. Folglich musst du die URL entsprechend escapen, d.h. Den URL String in Anführungszeichen setzen. Damit sollte der system.Exec() Aufruf dann wie folgt aussehen:
Code: Alles auswählen
system.Exec("wget -q -O - '" # url # "'", &stdout, &stderr);
Code: Alles auswählen
system.Exec("wget -q -O - '" # url # "' &");
Zuletzt geändert von jmaus am 02.12.2018, 11:50, insgesamt 1-mal geändert.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 40
- Registriert: 04.11.2017, 20:20
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 4 Mal
Re: system.Exec ("wget -q -O -" #url, &stdout, &stderr); Warum klappt das nicht? ?
Jetzt klappt es einwandfrei, habs mit der 2. Variante umgesetzt.
Vielen DANK
und einen schönen 1. Advent!
Gruß
Andreas
Vielen DANK
und einen schönen 1. Advent!
Gruß
Andreas
Raspberrymatic auf Raspberry Pi4 mit Funkmodul RPI-RF-MOD in Selbstbaugehäuse und externer Antenne, HM Wired, HM-IP, 9 Kameras, Mediola AIO NEO, 2 Wandtablets Amazon Fire HD10 zur Visualisierung, Steuerung einer dreh-/neigbaren PV-Anlage mit HM-Wired, 10x Wemos D1 mit Sensoren.