das Folgende bezieht sich eher auf ioBroker als auf das Robonect Modul, aber vielleicht kann dazu trotzdem jemand was sagen:
Ich bin dabei, eine Oberfläche für ioBroker.vis zu basteln und dabei auf der "Garten"-Seite auch eine Anzeige bzw. Programmiermöglichkeit für den Robbi einzubauen.
Die Anzeige der ganzen Parameter funktionert, nur mit dem Programmieren der Laufzeiten bin ich noch nicht weitergekommen.
Die Daten für die reine Anzeige lese ich über ioBroker.node-red per http-request aus dem Modul aus. Das funktioniert.
Nun möchte ich vor der Timerprogrammierung die aktuellen Werte per ioBroker.javascript aus dem Modul auslesen. Das funktionert leider nicht und liefert immer Fehler 401 (Nicht authentifiziert) zurück, obwohl die URLs identisch sind.
Das Beispiel unten ist nun eine einfache Statusabfrage und hat nichts mit dem Timer zu tun - der Effekt ist aber derselbe.
Ich habe nun mit tcpdump einmal mitgetracet, was jeweils geschickt wird:
Die ioBroker.node-red Abfrage wird wie folgt geschickt (liefert StatusCode 401):
Code: Alles auswählen
P.r.....GET./jso
n?cmd=status.HTT
P/1.1..Host:.xxx
xx.yyyy.intern..
Authorization:.B
asic.xxxxxxxxxxx
xxxxx..Connectio
n:.close....
Code: Alles auswählen
P.r.....GET./jso
n?cmd=status.HTT
P/1.1..host:.xxx
xx.yyyy.intern..
authorization:.B
asic.xxxxxxxxxxx
xxxxx..Connectio
n:.close....
Die Frage ist nun:
Ist der Webserver auf dem Modul so programmiert, dass er die Header-Daten case-sensitiv auswertet, also wirklich "Authorization" bzw. "Host" erwartet und daher die Anmeldung nicht erkennt und den Code 401 zurückliefert?
Gruß
Uwe