Aufgrund derzeit hohem Spamaufkommens werden neue Nutzer sehr restriktiv behandelt. Nach kurzer "Bewährungszeit" hat man als normaler Nutzer weitreichende Rechte und benötigt auch kein Captcha mehr.
.
Nutzer, die sich danach dennoch als Spammer oder Trolle erweisen, können jederzeit wieder auf diesen Status zurückgesetzt oder gebannt werden.
Dasselbe gilt für Versuche, politische Überzeugungen kund zu tun, egal aus welcher Richtung diese kommen.
.
.:!: Achtung! Derzeit ist Robonect (noch) nicht mit dem Automower 305 ab Baujahr 2020 zusammen mit der neuen Mäher-FW MSW 41.4.0 kompatibel!
Aber: Im DailyBuild ist ein Patch enthalten, der getestet werden kann! (Stand 15.02.2024)
.
.Du hast Deinen Gardena-Mäher auf die Gardena-Firmware von 2023 aktualisiert?
.:arrow: Testmöglichkeit für das Daily Build.

Das FW-Update am Mäher wird dennoch nicht empfohlen, da das Daily Build nach aktuellen Berichten von Beta-Testern noch keine vollständige Kompatibilität gewährleisten kann! (Stand: 15.02.2024)
Wir empfehlen, das Gardena-Update noch nicht durchzuführen!

.
.

http request ioBroker javascript vs. node-red

Einbindung von Robonect Hx und IO in Deine bereits bestehende MQTT-Infrastruktur
uwe
Forum-Nutzer
Beiträge: 37
Registriert: Mi 21. Sep 2016, 16:44
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: 1.0 beta 4

http request ioBroker javascript vs. node-red

Beitrag von uwe »

Hallo zusammen,

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....
Die ioBroker.javascript-Abfrage folgendermaßen (liefert StatusCode 200 = OK):

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....
Der einzige Unterschied, den ich dabei erkennen kann ist, dass beim zweiten Aufruf "host" und "authorization" mit kleinen Anfangsbuchstaben geschrieben ist.

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

Admin
Administrator
Beiträge: 2903
Registriert: Di 19. Jan 2016, 18:34
Wohnort: Kiel
Mäher: Gardena SILENO City 500
Firmware des Mähers (MSW): MSW 11.xx.xx
Herstellungsjahr: 2017 (Modell 2018)
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: stets die Allerneuste :-)
hat sich bedankt: 1 Mal
wurde gedankt: 59 Male
Kontaktdaten:

Re: http request ioBroker javascript vs. node-red

Beitrag von Admin »

Ja, ist case-sensitive.
Du kannst Benutzername und Passwort aber auch als Argument am Get platzieren. Dann umgehst du das Problem.
Ich glaube es war: "user=...&pass=..."
Werbefläche zu vermieten. :lol:

uwe
Forum-Nutzer
Beiträge: 37
Registriert: Mi 21. Sep 2016, 16:44
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: 1.0 beta 4

Re: http request ioBroker javascript vs. node-red

Beitrag von uwe »

Hallo Fabian,

ok, das mit dem Case Sensitive war's - die zweite Möglichkeit funktioniert auch, allerdings werde ich eher das request-Modul anpassen, da mir die URL_Codierung nicht so gut gefällt - aber als Notnagel hilft's:

Case-Sensitive

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....

P..\A...HTTP/1.1
.200.OK.Content-
Type:.applicatio
n/json.Server:.F
HDR.Connection:.
close.Cache-Cont
rol:.no-cache.Co
URL-codiert:

Code: Alles auswählen

P.r.....GET./jso
n?cmd=status&use
r=XXX&pass=XXXXX
XXX.HTTP/1.1..ho
st:.xxxxx.yyyy.i
ntern..Connectio
n:.close....

P..l....HTTP/1.1
.200.OK.Content-
Type:.applicatio
n/json.Server:.F
HDR.Connection:.
close.Cache-Cont
rol:.no-cache.Co
nnection:.close.

Danke für Deine Hilfe!
Jetzt kann's weiter gehen :D

VG Uwe

uwe
Forum-Nutzer
Beiträge: 37
Registriert: Mi 21. Sep 2016, 16:44
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: 1.0 beta 4

Re: http request ioBroker javascript vs. node-red

Beitrag von uwe »

Hallo Fabian,

Ich habe einen issue bei github deswegen aufgemacht und folgende Antwort erhalten:
Per RFC spec HTTP headers are case insensitive. You'll have to set those headers manually using the header option.
Bzw.
A little bit more about this, because it comes up a lot.

@simov is correct, your server is not spec compliant. The HTTP spec makes it very clear that headers must be case insensitive.

In request, we default to lowercase for the headers that request generates but when you set headers manually we preserve the casing of those headers so that you can deal with servers that are not spec compliant.

You'll need to generate the auth headers yourself and set them with the headers or setHeader features in request if you want a specific casing. It's not reasonable for request to shift around its defaults for servers that aren't spec compliant because there's just no way to us to win, there will always be a server that doesn't like a particular default and is not spec compliant.
Hast du die Möglichkeit, du kannst den Webserver in der Beziehung RFC-konform machen oder ist der Aufwand zu groß?
Den vorgeschlagenen Weg mit dem setHeader feature muss ich mir bei Gelegenheit nochmal anschauen.

Vg Uwe

Admin
Administrator
Beiträge: 2903
Registriert: Di 19. Jan 2016, 18:34
Wohnort: Kiel
Mäher: Gardena SILENO City 500
Firmware des Mähers (MSW): MSW 11.xx.xx
Herstellungsjahr: 2017 (Modell 2018)
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: stets die Allerneuste :-)
hat sich bedankt: 1 Mal
wurde gedankt: 59 Male
Kontaktdaten:

Re: http request ioBroker javascript vs. node-red

Beitrag von Admin »

Erledigt in V1.0 Beta 0.
Werbefläche zu vermieten. :lol:

uwe
Forum-Nutzer
Beiträge: 37
Registriert: Mi 21. Sep 2016, 16:44
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: 1.0 beta 4

Re: http request ioBroker javascript vs. node-red

Beitrag von uwe »

Cool. vielen Dank!

Schläfst du auch mal? :D

VG
Uwe

Admin
Administrator
Beiträge: 2903
Registriert: Di 19. Jan 2016, 18:34
Wohnort: Kiel
Mäher: Gardena SILENO City 500
Firmware des Mähers (MSW): MSW 11.xx.xx
Herstellungsjahr: 2017 (Modell 2018)
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: stets die Allerneuste :-)
hat sich bedankt: 1 Mal
wurde gedankt: 59 Male
Kontaktdaten:

Re: http request ioBroker javascript vs. node-red

Beitrag von Admin »

Aktuell habe ich für Schlaf keine Zeit. ;-)
Aber bald hab ich Urlaub! :D
Werbefläche zu vermieten. :lol:

uwe
Forum-Nutzer
Beiträge: 37
Registriert: Mi 21. Sep 2016, 16:44
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: 1.0 beta 4

Re: http request ioBroker javascript vs. node-red

Beitrag von uwe »

Der Urlaub sei dir gegönnt :)
Good jobBildBildBild


Gesendet von iPhone mit Tapatalk

Admin
Administrator
Beiträge: 2903
Registriert: Di 19. Jan 2016, 18:34
Wohnort: Kiel
Mäher: Gardena SILENO City 500
Firmware des Mähers (MSW): MSW 11.xx.xx
Herstellungsjahr: 2017 (Modell 2018)
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: stets die Allerneuste :-)
hat sich bedankt: 1 Mal
wurde gedankt: 59 Male
Kontaktdaten:

Re: http request ioBroker javascript vs. node-red

Beitrag von Admin »

Ich habe jetzt mal ein Branch von der V0.9 gemacht und eine V0.9b released. Dort ist deine Funktion mit drin. (sonst hat sich zu V0.9 nicht viel geändert)
Kannst Sie ja mal ausprobieren.
Werbefläche zu vermieten. :lol:

kleinemeise
Forum-Nutzer
Beiträge: 20
Registriert: Mi 20. Apr 2016, 08:32

Re: http request ioBroker javascript vs. node-red

Beitrag von kleinemeise »

Hey Uwe,

wie genau holst du die Werte im ioBroker? Ich stelle derzeit auch um von HM auf ioBroker.

Antworten

Zurück zu „MQTT-Nutzer“