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).
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.
-------------------------
Edit vom Moderator:
Abgetrennt aus dem Thema Statusabfrage über Homematic per API
Statusabfrage über API funktioniert nicht
Moderator: Lampi
-
- sehr erfahrener Forum-Nutzer
- Beiträge: 706
- 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: 82 Male
Re: Statusabfrage über Homematic per API
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:
Parallel dazu kannst du, nach dem du IP, USER und PASS eingetragen hast, in einem Browser folgende Zeile eingeben
Anhand der Ausgaben sollte mehr zu erkennen sein.
Gruß
Lampi
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");
Code: Alles auswählen
http://IP/xml?user=USER&pass=PASS&cmd=status
Gruß
Lampi
Fragen? Fragen!
-
- 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
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
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
-
- sehr erfahrener Forum-Nutzer
- Beiträge: 706
- 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: 82 Male
Re: Statusabfrage über Homematic per API
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
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!
-
- 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
Hallo Lampi,
Danke! Volltreffer!
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
Gruß
Rowasch
Danke! Volltreffer!
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
Gruß
Rowasch
-
- sehr erfahrener Forum-Nutzer
- Beiträge: 706
- 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: 82 Male
Re: Statusabfrage über Homematic per API
Schön das es jetzt geht.
Übrigens steht dazu auch ein Hinweis in der Doku.
Gruß
Lampi
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!