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!

.
.

Statusabfrage über API funktioniert nicht

Einbindung von Robonect Hx und IO in Deine bereits bestehende Homematic-Anlage

Moderator: Lampi

Antworten
Rowasch
Forum-Anfänger
Beiträge: 4
Registriert: Mo 5. Jul 2021, 09:21
Mäher: Husqvarna Automower 430X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2017
Robonect Firmware: V1.3

Statusabfrage über API funktioniert nicht

Beitrag von Rowasch »

Hallo Lampi,
schönes Forum hier. Habe schon viel geblättert und gescrollt, aber leider noch nicht die passende Antwort gefunden.
Nachdem die Lieferschwierigkeiten gelöst zu sein scheinen, habe ich meinen 430X auch mit RobonectHX ausgestattet.
Das funktioniert über das Smartphone auch prima (abgesehen von sporadischen Meldungen, dass die Kabel vertauscht wären ??? weiß nicht, wie das gehen soll).
Jetzt wollte ich das Ganze auch über die HomeMatic steuern, und habe deshalb ein Programm mit Deinem Test-Skript angelegt. Leider komme ich momentan aber nicht weiter, weil ich keine wirkliche Verbindung zum Robonect herstellen kann. Der Ping geht zwar durch aber stdout ist dann leer (siehe Anhang). :evil:
Ich habe leider keine Ahnung, was da schief läuft. Bei allen anderen funktioniert es ja anscheinend.
Was kann ich tun? Welche Informationen sind für eine Diagnose noch hilfreich?

Ich grüße alle 'Forensiker' und freue mich auf konstruktive Hilfe.


HomeMatic Meldung.PNG


-------------------------
Edit vom Moderator:
Abgetrennt aus dem Thema Statusabfrage über Homematic per API

Lampi
sehr erfahrener Forum-Nutzer
Beiträge: 698
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.3b
hat sich bedankt: 8 Male
wurde gedankt: 81 Male

Re: Statusabfrage über Homematic per API

Beitrag von Lampi »

Hallo Rowasch,

eine Möglichkeit wäre, das dir bei Benutzer oder Passwort ein Tippfehler unterlaufen ist. Denkbar wäre auch, dass du eine IP eines anderen Gerätes in deinem Heimnetz angegeben hast, das auf den Ping geantwortet hat. Ich vermute auch mal, du hast die Daten für Benutzer, Passwort und IP für den Screenshot nachträglich geändert.

Nimm doch bitte mal dieses Skript zum Testen:

Code: Alles auswählen

! Robonect Statusabfrage per xml und system.ExecTest für Rowasch

! ********************************************************
string vBenutzer = "";          ! Benutzername
string vPasswort = "";          ! Passwort für Benutzername
string vIP = "xxx.xxx.xxx.xxx"; ! IP des Mähers
! ********************************************************

boolean vPing = false;
string stderr = "";
string stdout = "";
string vStart = "";
string vEnde = "";
string vIndex = "";
string vUrl = "'http://" # vIP # "/xml?user=" # vBenutzer # "&pass=" # vPasswort # "&cmd=status'";


system.Exec("ping -c 1 " # vIP,&stdout, &stderr);
if (stdout.Contains("ms")) {
  stdout = "";
  vPing = true;
  vStart = "time=";
  vEnde = " ms";
  vStart = stdout.Find(vStart) + vStart.Length();
  vIndex = stdout.Substr(vStart, stdout.Find(vEnde) - vStart).ToInteger();
  WriteLine("Der Ping dauerte " # vIndex # " Millisekunden.");
} else {
  WriteLine("Ping misslungen");
  WriteLine("Ping stdout: " # stdout);
}

if (vPing) {
  vPing = false;
  system.Exec("wget -q -O - " # vUrl, &stdout, &stderr);
  WriteLine("API Antwort stderr: " # stderr);
  if (stdout) {
    WriteLine("API Antwort stdout: " # stdout);
  } else {
    WriteLine("Mäher gibt keine Antwort. Sind die eingetragenen Daten richtig?");
  }
  ! Erfolgreich ausgelesen?
  if (stdout.Contains("successful>true</successful")) {
    vPing = true;
    WriteLine("Erfolgreich");
  } else {
    WriteLine("nicht Erfolgreich");
  }
}

WriteLine("Habe fertig");
Parallel dazu kannst du, nach dem du IP, USER und PASS eingetragen hast, in einem Browser folgende Zeile eingeben

Code: Alles auswählen

http://IP/xml?user=USER&pass=PASS&cmd=status
Anhand der Ausgaben sollte mehr zu erkennen sein.


Gruß
Lampi
Fragen? Fragen!

Rowasch
Forum-Anfänger
Beiträge: 4
Registriert: Mo 5. Jul 2021, 09:21
Mäher: Husqvarna Automower 430X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2017
Robonect Firmware: V1.3

Re: Statusabfrage über Homematic per API

Beitrag von Rowasch »

Hallo Lampi,

du liegst natürlich richtig, dass ich die IP und das Passwort überschrieben habe ;)

Das Problem besteht aber weiterhin und liegt offensichtlich daran, dass die User-Kennung und das Passwort gar nicht bzw. nicht korrekt übertragen werden. Wenn ich nämlich den Robi per IP aufrufe, spielt es keine Rolle, ob ich die Daten, wie in deiner "Prüf"-Zeile, mit angebe oder nicht: Ich erhalte immer das Login-Dialogfeld.
Die Login-Daten sind aber grundsätzlich richtig, da ich sie immer aus KeePass kopiere und damit auch problemlos aus dem Browser Zugriff auf robonect erhalte.
Da ich normalerweise mit dem Cliqz-Browser arbeite, habe ich es auch nochmal mit Edge und Firefox probiert: Überall das gleiche Ergebnis -> Login erforderlich.
Ich wüsste aber nicht, wo ich noch einstellen könnte, dass die Daten, wie in der Adresszeile angegeben, weitergegeben werden. :(
Zur Vollständigkeit habe ich nochmal das Ergebnis deines angepassten Skripts angehängt.

Gruß
Rowasch
Dateianhänge
Skript Ausgabe
Skript Ausgabe
Antwort auf http://IP/xml?user=USER&amp;pass=PASS&amp;cmd=status
Antwort auf http://IP/xml?user=USER&pass=PASS&cmd=status

Lampi
sehr erfahrener Forum-Nutzer
Beiträge: 698
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.3b
hat sich bedankt: 8 Male
wurde gedankt: 81 Male

Re: Statusabfrage über Homematic per API

Beitrag von Lampi »

Hallo Rowasch,

solange das Login-Dialogfeld kommt, sind die Login-Daten nicht korrekt eingegeben worden. Da gibt es nichts was eingestellt werden muss. Einzig Edge scheint da seit neuestem eine Option zu haben, dann kommt meines Wissens aber erst kein Eingabefenster.

Ich kann jetzt auch nur Vermutungen anstellen, warum es bei dir zu Problemen kommt. Könnte ein Leerzeichen im Benutzer oder Passwort sein oder aber auch, das beim Einfügen der kopierten Daten der Fehler zu suchen ist.
Vergib im Webui von Robonect bitte mal zum Testen neue, einfache Login-Daten für Benutzer und Passwort ohne Sonderzeichen und teste diese bitte ohne Copy-and-paste.

Gruß
Lampi
Fragen? Fragen!

Rowasch
Forum-Anfänger
Beiträge: 4
Registriert: Mo 5. Jul 2021, 09:21
Mäher: Husqvarna Automower 430X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2017
Robonect Firmware: V1.3

Re: Statusabfrage über Homematic per API

Beitrag von Rowasch »

Hallo Lampi,

Danke! Volltreffer! :D

Da ich in einem sicherheitskritischen Bereich gelernt habe, war mein Passwort offensichtlich mit zu vielen Sonderzeichen ausgestattet (}°^ u.ä.). Also war dein Hinweis auf einfache Zeichen genau der Richtige. Jetzt bekomme ich auch eine Rückantwort von robonect.
Was mich trotzdem stutzig macht ist, dass ich mich ja mit meinem kryptischen Passwort von Hand einloggen konnte. Nur über die Befehlszeile hat das nicht funktioniert.
Liegt das eventuell an der xml-Schreibweise, die damit nicht klar kommt? Davon habe ich leider keine Ahnung.

Trotzdem nochmal vielen Dank - auch für die Geduld mit wenig Informationen eine hilfreiche Antwort zu suchen und zu formulieren :daumenhoch:

Gruß
Rowasch

Lampi
sehr erfahrener Forum-Nutzer
Beiträge: 698
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.3b
hat sich bedankt: 8 Male
wurde gedankt: 81 Male

Re: Statusabfrage über Homematic per API

Beitrag von Lampi »

Schön das es jetzt geht. :daumenhoch:

Rowasch hat geschrieben:
Mi 14. Jul 2021, 14:01
Was mich trotzdem stutzig macht ist, dass ich mich ja mit meinem kryptischen Passwort von Hand einloggen konnte. Nur über die Befehlszeile hat das nicht funktioniert.
Für eine URL steht nur ein begrenzter Zeichensatz zur Verfügung. Entweder weil sie reserviert sind wie z.B. "/" oder ":", oder aber sie einfach nicht vorkommen. Möchte man dennoch ein reserviertes oder sonstiges ASCII-Zeichen verwenden, müssen sie entsprechend kodiert werden, z.B. muss ein "{" durch "%7B" ersetzt werden. Dies trifft auf jede Internetadresse zu und hat nichts mit der XML Schreibweise zu tun.

Übrigens steht dazu auch ein Hinweis in der Doku. ;)

Gruß
Lampi
Fragen? Fragen!

Antworten

Zurück zu „Homematic-Nutzer“