Seite 1 von 1

sendHttpGetRequest und Netzwerk-Namen

Verfasst: 21. Mai 2020 10:27
von tobi.wanka
Hallo,
in meinen Rules lese ich mit folgender Abfrage die Parameter meiner Wallbox aus und ändere in der Folge die Parameter

Code: Alles auswählen

var String json = sendHttpGetRequest("http://192.168.178.102/getParameters")
var String wboff = sendHttpGetRequest("http://192.168.178.102/setStatus?active=true")
Viel eleganter wäre aber, wenn ich nicht die IP-Adresse nutze, sondern den internen Netzwerk-Namen

Damit müsste meine Abfrage wie folgt heissen:

Code: Alles auswählen

var String json = sendHttpGetRequest("http://esp_07630e/getParameters")
Im Browser funktioniert der Abruf auch:

Code: Alles auswählen

http://esp_07630e/getParameters
Wenn ich den Netzwerknamen in meiner Rule nutze wird folgender Fehler angezeigt.

Code: Alles auswählen

2020-05-21 08:22:50.534 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Wallboxabfrage': Invalid URI host: null (authority: esp_07630e)
Vielen Dank fürs Helfen
Grüße
Tobias

Re: sendHttpGetRequest und Netzwerk-Namen

Verfasst: 21. Mai 2020 12:02
von udo1toni
Das Problem ist, dass die Fritz!BOX keinen vollständigen DNS Redolver mitbringt. Du kannst dennoch mit Namen arbeiten, musst diese aber in der /etc/hosts.conf eintragen, damit GNU/Linux die Namensauflösung selbst übernehmen kann. Windows macht das über WINS.
Du kannst auch versuchen, die Geräte in der Fritzbox mit Hostnamen zu versehen (wenn ich mich richtig erinnere geht das über die Portweiterleitung, weil man es dort braucht)

Gesendet von meinem SM-G973F mit Tapatalk


Re: sendHttpGetRequest und Netzwerk-Namen

Verfasst: 21. Mai 2020 15:01
von Tokamak
Falls du wirklich eine Fritzbox einsetzt, wie udo1toni vermutet, dann versuche es mal mit esp_07630e.fritz.box anstelle esp_07630e.

Du kannst mittels "nslookup <IP-Adresse>" einen Reverse Lookup machen. Dann siehst du, was die Fritzbox als Namen "erwartet". Ihre Domain ist normalerweise .fritz.box

Re: sendHttpGetRequest und Netzwerk-Namen

Verfasst: 21. Mai 2020 15:12
von udo1toni
192.168.178.0 ist halt das Standard Klasse C Netz der Fritz!BOX...

Gesendet von meinem SM-G973F mit Tapatalk


Re: sendHttpGetRequest und Netzwerk-Namen

Verfasst: 21. Mai 2020 20:06
von tobi.wanka
Mein Router ist eine Speedport W921V. Daher in ich auf die Idee gekommen die Abfrage so zu formulieren:

Code: Alles auswählen

http://esp_07630e.speedport_w_921v_1_45_000/getParameters")
Klappt im Firefox, aber nicht aus meiner Rules heraus.

Ich hab dann nochmal im Router nach dem Namen der Wallbox gesucht und die Abfrage korrigiert. Im Router ist alles groß geschrieben, mit den Großbuchstaben hat aber die Abfrage nicht funktioniert. Als ist dann den Namen klein geschrieben habe, war die Fehlermeldung weg:

Code: Alles auswählen

var String json = sendHttpGetRequest("http://evse-wifi/getParameters"
Es sieht so aus, als ob die Namensauflösung mit Großbuchstaben und "_" nicht funktioniert.

Re: sendHttpGetRequest und Netzwerk-Namen

Verfasst: 21. Mai 2020 20:52
von udo1toni
Ja, die Speedports sind an der Stelle echt k*cke...

Re: sendHttpGetRequest und Netzwerk-Namen

Verfasst: 22. Mai 2020 07:45
von Tokamak
tobi.wanka hat geschrieben: 21. Mai 2020 20:06 Mein Router ist eine Speedport W921V. Daher in ich auf die Idee gekommen die Abfrage so zu formulieren:
...
Es sieht so aus, als ob die Namensauflösung mit Großbuchstaben und "_" nicht funktioniert.
Hast du es mal mit dem Reverse Lookup probiert?