Hallo zusammen,
in Vorfreude auf mein neues Spielzeug, habe ich mich an mein erstes Module gewagt, um mit FHEM auf den Status eines Husqvarna Automower mit Connect Modul reagieren zu können und diesen rudimentär zu steuern. Das Modul greift dabei auf die Husqvarna API zu.
Da der Mower noch nicht eingetroffen ist, kann ich bisher nur mit einer Anmeldung an der API um dem Abrufen einer Liste der registrierten Mower dienen.
Wenn mir jemand die Rückgabewerte aus dem Log schickt, könnte ich an der Stelle weiter machen.
Das Modul wird wie folgt definiert:
define myMower HusqvarnaAutomower
attr myMower username meinname@domain.de
attr myMower password geheim
Viele Grüße
Dennis
Nur als Ergaenzung: Fuer Husquarna mit der Robonect-Wifi-Erweiterung gibt es auch ein FHEM Robonect Modul.
Hallo,
es würden mit meinem Modul dann sogar gleich 3 sein.
- GardenaSmartBridge / GardenaSmartDevice: greift auf Cloud von Gardena zu, API ist aber anders als bei Husqvarna und steuert zudem auch Bewässerung und Co.
- Robonect: greift über WIFI-Modul direkt auf den Automower zu. Das WIFI-Modul ist kein offizielles Modul von Husqvarna
- HusqvarnaAutomower: greift auf Cloud von Husqvarna zu, API ist aber anders als bei Gardena. Automower muss über das Connect Modul verfügen, das via Mobilfunk mit der Husqvarna Cloud verbunden ist.
Viele Grüße
Dennis
Hallo zusammen,
eine neue Version liegt vor.
Ich habe den Anmeldeprozess optimiert und das Modul grundlegend aufgeräumt.
Da mein Automower erst Ende Februar geliefert wird, kann ich derzeit auf keine Statusausgaben zurückgreifen.
Das Projekt liegt übrigens hier auf Github
https://github.com/krannich/dkFHEM
Vielleicht kann ja jemand hier im Forum helfen?
Die Rückmeldungen werden im Log ausgegeben.
Vielen Dank
Dennis
Hallo zusammen,
eine neue Version liegt vor.
Das Modul ruft nun die registrierten Mower ab und alle 5 Minuten den Status des ausgewählten Mowers.
Das Projekt liegt übrigens auch hier auf Github
https://github.com/krannich/dkFHEM
Schickt mir gerne Euer Feedback
Vielen Dank
Dennis
Hallo Dennis,
Finde ich hochinteressant und bin daran sehr interessiert, nachdem ich einen 430x mit connect Modul im Einsatz habe. Vielen Dank für die Entwicklung.
Leider bin ich mit fhem und Linux wenig bewandert und bräuchte hier Hilfe.
Wie und wo kopiere ich das Modul hin?
Bei der Definition des Moduls , sind hier die Anmeldedaten bei Husqvarna gemeint?
Vielen Dank für eine Hilfestellung und schöne Grüße
Rainer
Zitat von: krannich am 27 Januar 2018, 14:26:52
Hallo,
es würden mit meinem Modul dann sogar gleich 3 sein.
- GardenaSmartBridge / GardenaSmartDevice: greift auf Cloud von Gardena zu, API ist aber anders als bei Husqvarna und steuert zudem auch Bewässerung und Co.
- Robonect: greift über WIFI-Modul direkt auf den Automower zu. Das WIFI-Modul ist kein offizielles Modul von Husqvarna
- HusqvarnaAutomower: greift auf Cloud von Husqvarna zu, API ist aber anders als bei Gardena. Automower muss über das Connect Modul verfügen, das via Mobilfunk mit der Husqvarna Cloud verbunden ist.
Viele Grüße
Dennis
Das GardenaSmartBridge Modul scheint ja für Dein Modul Parte gestanden zu haben ;)
Zitat von: Bara am 05 März 2018, 15:35:01
Hallo Dennis,
Finde ich hochinteressant und bin daran sehr interessiert, nachdem ich einen 430x mit connect Modul im Einsatz habe. Vielen Dank für die Entwicklung.
Leider bin ich mit fhem und Linux wenig bewandert und bräuchte hier Hilfe.
Wie und wo kopiere ich das Modul hin?
Bei der Definition des Moduls , sind hier die Anmeldedaten bei Husqvarna gemeint?
Vielen Dank für eine Hilfestellung und schöne Grüße
Rainer
Hallo Rainer,
Du kopierst die Datei (aktuellste Version liegt im GitHub) in den "FHEM"-Ordner (alles groß geschrieben, also in "/opt/fhem/FHEM").
Die Konfiguration wäre:
define myMower HusqvarnaAutomower
attr myMower username meinname@domain.de
attr myMower password geheim
Mit username und password sind die Zugänge zur Husqvarna Cloud gemeint, also die, die Du auch in der App eingibst.
Bei Fragen einfach melden.
Viele Grüße und viel Erfolg
Dennis
Zitat von: CoolTux am 05 März 2018, 15:42:50
Das GardenaSmartBridge Modul scheint ja für Dein Modul Parte gestanden zu haben ;)
Hi,
da es mein erstes Modul ist, habe ich ein paar Anhaltspunkte benötigt. Ich habe auch noch das Unifi-Modul angeschaut, um zu sehen, wie man die Anmeldesequenz mittels non-blocking realisieren kann.
Ganz zufrieden bin ich aber noch nicht, da noch sämtliche Reaktionen auf Fehler nicht implementiert sind. Aber dafür muss erstmal der Automower im Garten mähen können. Momentan habe ich das Modul ohne einen Automower zu besitzen erstellt.
Wenn Du Verbesserungsvorschläge hast, gerne her damit...
Viele Grüße
Dennis
Zitat von: krannich am 05 März 2018, 20:42:42
Hi,
da es mein erstes Modul ist, habe ich ein paar Anhaltspunkte benötigt. Ich habe auch noch das Unifi-Modul angeschaut, um zu sehen, wie man die Anmeldesequenz mittels non-blocking realisieren kann.
Ganz zufrieden bin ich aber noch nicht, da noch sämtliche Reaktionen auf Fehler nicht implementiert sind. Aber dafür muss erstmal der Automower im Garten mähen können. Momentan habe ich das Modul ohne einen Automower zu besitzen erstellt.
Wenn Du Verbesserungsvorschläge hast, gerne her damit...
Viele Grüße
Dennis
Ist die Abmeldesequenze für die Husqvarna Cloud nicht ähnlich wie bei Gardena?
Ich kann bei Gelegenheit ja noch mal ins Modul schauen.
Hallo Dennis,
Vielen Dank, werde ich nächstes WE ausprobieren und dann Rückmeldung geben.
Viele Grüße
Rainer
Zitat von: krannich am 05 März 2018, 20:38:14
Hallo Rainer,
Du kopierst die Datei (aktuellste Version liegt im GitHub) in den "FHEM"-Ordner (alles groß geschrieben, also in "/opt/fhem/FHEM").
Die Konfiguration wäre:
define myMower HusqvarnaAutomower
attr myMower username meinname@domain.de
attr myMower password geheim
Mit username und password sind die Zugänge zur Husqvarna Cloud gemeint, also die, die Du auch in der App eingibst.
Bei Fragen einfach melden.
Viele Grüße und viel Erfolg
Dennis
Hallo Dennis,
Leider scheitere ich bereits beim kopieren.
Wie bekomme ich die pm Datei von Github auf den raspberry?
Grüße
Rainer
PS: Hat sich erledigt... Habe mich nur dumm angestellt.
Zitat von: Bara am 06 März 2018, 19:10:16
Hallo Dennis,
Leider scheitere ich bereits beim kopieren.
Wie bekomme ich die pm Datei von Github auf den raspberry?
Grüße
Rainer
PS: Hat sich erledigt... Habe mich nur dumm angestellt.
Hallo Rainer,
wenn Du auf dieser Seite bist
https://github.com/krannich/dkFHEM/blob/master/FHEM/74_HusqvarnaAutomower.pm
dann kannst Du mit Rechtsclick auf den grauen Button "Raw" und "Speichern unter" die Datei auf Deinen Desktop laden.
Dann kopierst Du die Datei in /opt/fhem/FHEM
Alternativ kannst Du auch auf dem Raspberry über
wget https://github.com/krannich/dkFHEM/blob/master/FHEM/74_HusqvarnaAutomower.pm
die Datei direkt laden.
Hoffe das hilft.
Viele Grüße
Dennis
Vielen Dank Dennis,
Ich habe lange rumprobiert bis ich es geschafft hatte . So wie Du es schreibst wäre es einfacher gewesen.
Grüße
Rainer
Hallo Dennis,
Modul läuft und Rückmeldung vom Automover kommt in fhem an. Super Arbeit vielen Dank!
Leider liegt bei mir im Garten noch Schnee. Wird also noch dauern bis ich den Test draußen machen kann.
Viele Grüße
Rainer
Zitat von: Bara am 07 März 2018, 18:20:46
Hallo Dennis,
Modul läuft und Rückmeldung vom Automover kommt in fhem an. Super Arbeit vielen Dank!
Leider liegt bei mir im Garten noch Schnee. Wird also noch dauern bis ich den Test draußen machen kann.
Viele Grüße
Rainer
Hallo Rainer,
das freut mich. Bei mir liegt noch nicht einmal das Kabel. Das wird vor Ostern erst gelegt.
Bitte schau immer wieder mal in GitHub, da ich das Modul ständig aktualisiere.
Habe auch schon mit Rudolf geschrieben, wie das Modul in das SVN kommen kann. Das braucht aber noch etwas Prüfung.
Aber gut, dass es bei Dir schon einmal läuft.
Viele Grüße
Dennis
Hallo Dennis,
ich gehöre leider auch eher zu den Doofen. Ich habe mir Dein Modul mittels wget geladen. Wo und wie muss ich den User und Passwort dann eingeben? Gerne wie gesagt für doofe erklärt.
Schon mal danke für die Hilfe und vor allem coole Arbeit bzgl. des Moduls.
Viele Grüße
Roger
Zitat von: rogerfuchs am 15 März 2018, 22:10:29
Hallo Dennis,
ich gehöre leider auch eher zu den Doofen. Ich habe mir Dein Modul mittels wget geladen. Wo und wie muss ich den User und Passwort dann eingeben? Gerne wie gesagt für doofe erklärt.
Schon mal danke für die Hilfe und vor allem coole Arbeit bzgl. des Moduls.
Viele Grüße
Roger
Hi Roger,
im Prinzip ist es ganz einfach. Du musst einfach nur die beiden Attribute username und password setzen. Dies sind die Zugangsdaten, die Du bei der App eingeben musst (also Email und Passwort).
define myMower HusqvarnaAutomower
attr myMower username DEIN_USERNAME
attr myMower password DEIN_PASSWORT
attr myMower room Test
attr myMower group Husqvarna
Hoffe das hilft. Eine Doku folgt.
Viele Grüße
Dennis
Hi Dennis,
danke für die schnelle Antwort. Ich sage ja ich gehöre zu den Doofen...
Füge ich diese Zeilen Deinem Script/Modul hinzu (und passe das auf meine Zugangsdaten an) oder wie setze ich diese Attribute?
define myMower HusqvarnaAutomower
attr myMower username DEIN_USERNAME
attr myMower password DEIN_PASSWORT
attr myMower room Test
attr myMower group Husqvarna
Und wenn ich die 5 Zeilen hinzufügen muss... wie kann ich das nachdem ich es mit wget (wie von Dir vorher beschrieben) schon geladen habe?
Danke
Roger
Hallo Roger ,
am einfachsten geht es, wenn Du diese Zeilen in die fhem.cfg schreibst (z.B. ans Ende), danach einen Neustart von FHEM oder Deines Systems (Leteres dauert länger).
Danach taucht das Gerät in dem entsprechendem Raum auf.
Viel Erfolg,
Dennis
Danke Dennis!!! Jetzt muss nur noch der Robbi kommen
Hallo Dennis!
Hab das Modul für meinen 315X installiert und konfiguriert. Hat sofort geklappt!
Ich hab nur ein Problem bei der Zeit im Reading mower_nextStart. Da scheint in der App die richtige Zeit für morgen 10:00 auf, während das FHEM-Modul für das Reading mower_nextStart den Wert 12:00:00 anzeigt. Gibt es da vielleicht noch ein Problem mit der Zeitzone?
Andere Frage: Ich glaube, dein Modul holt alle 300 s die Informationen aus der Husqvarna-API. Stimmt das?
Danke für dein Modul!
lG
Michael
Habe die App ebenso erfolgreich an meinen 315X gepairt und möchte mich bedanken für das Modul. Wird es eine Möglichkeit geben den Mower starten und stoppen lassen zu können mit dem Modul ?
Grüße
Patrick
Hallo Michael,
freut mich, dass es geklappt hat.
Das mit dem Zeitversatz schaue ich mir mal an. Zur Zeit ist es eher ein Blindflug, da mein Automower noch nicht verkabelt ist.
Und ja, das Modul holt sich zur Zeit alle 300s den Status. Dies werde ich noch konfigurierbar machen.
Viele Grüße
Dennis
Zitat von: Moeti am 01 April 2018, 21:25:24
Hallo Dennis!
Hab das Modul für meinen 315X installiert und konfiguriert. Hat sofort geklappt!
Ich hab nur ein Problem bei der Zeit im Reading mower_nextStart. Da scheint in der App die richtige Zeit für morgen 10:00 auf, während das FHEM-Modul für das Reading mower_nextStart den Wert 12:00:00 anzeigt. Gibt es da vielleicht noch ein Problem mit der Zeitzone?
Andere Frage: Ich glaube, dein Modul holt alle 300 s die Informationen aus der Husqvarna-API. Stimmt das?
Danke für dein Modul!
lG
Michael
Zitat von: alancord am 02 April 2018, 05:43:23
Habe die App ebenso erfolgreich an meinen 315X gepairt und möchte mich bedanken für das Modul. Wird es eine Möglichkeit geben den Mower starten und stoppen lassen zu können mit dem Modul ?
Grüße
Patrick
Hallo Patrick,
freut mich zu hören, dass Dir mein Modul gefällt.
Im Prinzip müsste das jetzt schon möglich sein. START, STOP und PARK stehen zur Verfügung.
Leider kann ich das noch nicht prüfen, da meine Verkabelung noch nicht fertig ist.
Viele Grüße
Dennis
Modul funktioniert 8)
Allerdings passt mower_nextStart nicht. Das ist um zwei Stunden verschoben.
Könnte man auch den Batteriestatus auslesen?
--
LG Marco
Hallo!
Zunächst mal vielen Dank für dieses Modul ... hat mir viel Arbeit gespart, weil ich mir das "demnächst" selber schreiben wollte :)
Kleiner Hinweis aber:
Ich habe einen 430x im Einsatz - der Batteriestatus wird hier nicht als "batteryLevel" zurückgegeben, sondern als "batteryPercent".
Ich weiß nicht ob das an meinem Mäher liegt, da andere aber auch schon danach gefragt haben, evtl. ist das ein Bug ... ich habe das bei mir angepasst und nun steht der Ladezustand auch als Reading zur Verfügung ...
(Außerdem habe ich noch gesehen, dass im "Define" der "mower_status" 2x initialisiert wird ... tut nicht weh, ist aber unnötig).
Lg
CHH
Zitat von: marcoh am 10 April 2018, 14:13:34
Modul funktioniert 8)
Allerdings passt mower_nextStart nicht. Das ist um zwei Stunden verschoben.
Könnte man auch den Batteriestatus auslesen?
--
LG Marco
Hi Marco,
Danke für den Hinweis, ich werde mal schauen woran das liegt. 2 Stunden scheint nach Zeitzone zu klingen.
Viele Grüße
Dennis
Bezüglich Zeitzone musste ich im Gardena Modul was selber bauen. Schau es Dir einfach mal an.
Zitat von: CHH72 am 11 April 2018, 19:31:51
Hallo!
Zunächst mal vielen Dank für dieses Modul ... hat mir viel Arbeit gespart, weil ich mir das "demnächst" selber schreiben wollte :)
Kleiner Hinweis aber:
Ich habe einen 430x im Einsatz - der Batteriestatus wird hier nicht als "batteryLevel" zurückgegeben, sondern als "batteryPercent".
Ich weiß nicht ob das an meinem Mäher liegt, da andere aber auch schon danach gefragt haben, evtl. ist das ein Bug ... ich habe das bei mir angepasst und nun steht der Ladezustand auch als Reading zur Verfügung ...
(Außerdem habe ich noch gesehen, dass im "Define" der "mower_status" 2x initialisiert wird ... tut nicht weh, ist aber unnötig).
Lg
CHH
Hi CHH,
Danke für den Hinweis. Es ist natürlich auch bei mir BatteryPercent und nicht Level.
Habe es aktualisiert und auf GitHub gestellt.
Jetzt muss ich nur noch rausfinden, warum die Startzeit nicht stimmt, sondern um 2 h falsch geht.
Viele Grüße
Dennis
Servus,
bzgl. der Startzeit:
Ich hatte immer schon ein Problem mit Zeitzonen - daher kann das was jetzt kommt komplett falsch sein, aber:
"localtime" geht von einem Zeitstempel in UTC-0 aus und liefert der Wert in der "lokalen" Zeitzone zurück. Damit bekommen wir zwei Stunden in der Zukunft, weil wir aktuell UTC+2 sind. D.h. der Zeitstempel von Husqvarna ist nicht UTC, sondern bereits UTC+2 (deutsche Sommerzeit). Demnach müsste man "gmtime" nehmen ... das liefert das richtige Ergebnis, allerdings sollte das nicht funktionieren, weil Husqvarna eigentlich nicht wissen kann, in welcher Zeitzone ich bin ... Kurzfristig könnte man in deinem Code aber "localtime" durch "gmtime" ersetzen. Langfristig müsste man noch rausfinden was die API da wirklich schickt.
Als Ergänzung: Bei mir kommt nicht immer eine Zeit, oft steht auch "0" drin ... das sollte man irgendwie abfangen. Entweder den alten Wert merken - oder (wie die App von Husqvarna) einen Leerstring (also nichts) ausgeben ...
CHH
Zitat von: CoolTux am 11 April 2018, 19:40:15
Bezüglich Zeitzone musste ich im Gardena Modul was selber bauen. Schau es Dir einfach mal an.
Hi, Danke für den Tipp.
Ganz habe ich Deinen Code aber nicht verstanden.
Ich habe jetzt einfach eine Funktion geschrieben, die entsprechend 1 oder 2 Stunden abhängig von der local daylight saving time abzieht. Das sollte für Deutschland reichen.
Viele Grüße
Dennis
Hi,
Der Befehl ,,set automower start" geht leider nicht. Hängt es vielleicht damit zusammen, dass man in der App nachdem man auf Start drückt erst noch gefragt wird ,,im Hauptbereich fortsetzen" ? Fehlt vielleicht noch ein Zwischenschritt für ein set Befehl ?
Hallo,
Ich habe mir gestern das Modul in fhem geladen.
Berechtigungen auf User: fhem Group: dialout gesetzt.
pi@raspberrypi-fhem:/opt/fhem/FHEM $ ll 74_Husq*
-rw-r--r-- 1 fhem dialout 273897 Apr 25 21:29 74_HusqvarnaAutomower.pm
pi@raspberrypi-fhem:/opt/fhem/FHEM $
Leider bekomme ich immer die Meldung: configfile: Cannot load module HusqvarnaAutomower
Woran könnte das liegen?
Im Logfile sollte mehr dazu stehen.
Danke für den Tipp.
läuft :)
Zitat von: alancord am 22 April 2018, 22:59:42
Hi,
Der Befehl ,,set automower start" geht leider nicht. Hängt es vielleicht damit zusammen, dass man in der App nachdem man auf Start drückt erst noch gefragt wird ,,im Hauptbereich fortsetzen" ? Fehlt vielleicht noch ein Zwischenschritt für ein set Befehl ?
Hi,
ich werde das mal am Wochenende prüfen, mein Automower ist nun auch endlich angeschlossen.
Viele Grüße
Dennis
Hallo zusammen,
eine neue Version ist online:
https://github.com/krannich/dkFHEM/blob/master/FHEM/74_HusqvarnaAutomower.pm
Nun kann der Automower auch kontrolliert werden, START, STOP und PARK funktionieren.
Viele Grüße
Dennis
Danke für`s Modul.
Läuft super bis auf die nächste Startzeit "mower_nextStart" - Aber das wird vermutlich schnell gefixt.
Lg, Michael
Zitat von: Mickey am 29 April 2018, 13:27:52
Danke für`s Modul.
Läuft super bis auf die nächste Startzeit "mower_nextStart" - Aber das wird vermutlich schnell gefixt.
Lg, Michael
Hi Michael,
kannst Du genau sagen, was nicht korrekt angezeigt wird?
Bei mir steht mower_nextStart: 2018-04-29 19:00:00
Und das ist absolut korrekt.
Viele Grüße
Dennis
Hallo Dennis,
jetzt zeigt er es korrekt an, war vermutlich zu eilig ;D
Zitatmower_nextStart
2018-04-29 14:58:06
Sorry dafür ;)
Wäre es eine Idee es zu splitten = Zeit und Datum?
Lg und vielen Dank für`s Modul, Michael
Zitat von: Mickey am 29 April 2018, 14:45:07
Hallo Dennis,
jetzt zeigt er es korrekt an, war vermutlich zu eilig ;D
Sorry dafür ;)
Wäre es eine Idee es zu splitten = Zeit und Datum?
Lg und vielen Dank für`s Modul, Michael
Was meinst Du mit Splitten? Zwei Zeilen oder zwei separate Readings?
Hallo Dennis,
ein Reading für das Datum und ein Reading für die Zeit.
Dann kann mit meine Alexa oder mein GH sagen, wann der Mower wieder startet
Geht bestimmt auch mit einen userReading?
Lg, Michael
Ach, ich bin total happy mit dem Modul :D
Zitat von: Mickey am 29 April 2018, 14:50:36
Hallo Dennis,
ein Reading für das Datum und ein Reading für die Zeit.
Dann kann mit meine Alexa oder mein GH sagen, wann der Mower wieder startet
Geht bestimmt auch mit einen userReading?
Lg, Michael
Ach, ich bin total happy mit dem Modul :D
Hi Michael,
das wäre in der Tat eine gute Idee.
Setze ich die Tage mal um.
Könntest Du mir mal schicken, wie Du das mit Alexa konfiguriert hast? Habe nur die einfache Variante bisher laufen (Schalte XY an oder aus).
Freut mich, dass Dir das Modul gefällt. Werde mit der Husqvarna API noch etwas experimentieren, damit man noch mehr machen kann, aber da gibt's keine offizielle Doku für.
Viele Grüße
Dennis
Hallo Dennis,
Alexa tts habe ich mit dem Modul
Zitat
echodevice
gemacht und dem PiHole (wegen dem DNS umbiegen). Läuft 1a.
GH tts geht bei mir über NodeRED - sehr zuverlässig.
LG, Michael
Anleitung "echo" hier:
https://mwinkler.jimdo.com/smarthome/sonstiges/amazon-echo-tts-mp3s/ (https://mwinkler.jimdo.com/smarthome/sonstiges/amazon-echo-tts-mp3s/)
Hallo Dennis,
NEXT_START
ab und zu sieht es so aus, ist gerade aktuell raus kopiert.
Zitatmower_nextStart
1969-12-31 23:00:00
Lg, Michael
Hallo,
ich habe mal 2 userReadings angelegt um den "next Start" auf-zu-splitten. Sollte funktionieren.
Das Datum habe ich revers gesplittet ;)
c_time { (split ' ',ReadingsVal("myMower","mower_nextStart",0))[1]} ,
c_date {join("." => reverse split('-', (split(' ',ReadingsVal("myMower","mower_nextStart",0)))[0]))}
Liebe Grüße, Michael
Zitat von: Mickey am 29 April 2018, 21:33:06
Hallo,
ich habe mal 2 userReadings angelegt um den "next Start" auf-zu-splitten. Sollte funktionieren.
Das Datum habe ich revers gesplittet ;)
c_time { (split ' ',ReadingsVal("myMower","mower_nextStart",0))[1]} ,
c_date {join("." => reverse split('-', (split(' ',ReadingsVal("myMower","mower_nextStart",0)))[0]))}
Liebe Grüße, Michael
Hi Michael,
Danke für die Tipps, baue ich ein. Will eh noch eine Übersetzung ins Deutsche vornehmen.
Das Datum wird übrigens falsch angezeigt, wenn von der Cloud keine Werte zurückkommen.
Habe die API in meiner neuen Version geändert, die App scheint da wesentlich mehr Statusmeldung zurückzubekommen.
Die Änderungen sind dann morgen im SVN.
Viele Grüße
Dennis
Hi Dennis,
Danke für das Modul - sehr schön, jetzt kann ich die bisherige Lösung über ein Python-Skript (im Netz gefunden) ersetzen.
Besonders die Readings sind sehr gut zu verwenden.
Ein Gedanke evtl. für eine zukünftige Version:
Könnte man die laufende Statusabfrage per Befehl ein- und ausschalten? Jetzt läuft die Abfrage ständig, also 24 Stunden pro Tag/Nacht und das erzeugt Traffic für den Mobilfunk-Account. Ich habe noch nicht beobachtet wie viel da an Daten übertragen wird, aber bei 288 Abfragen pro 24 Stunden summiert sich das.
Mit einer echten Daten-Flat ist es natürlich kein Problem. Wenn es aber (wir bei mir) ein Prepaid-Traif ist der z.B. 50 MB pro 30 Tagen hat dann funktioniert das mit der Original-App problemlos (da läuft die Statusabfrage nur solange die App aktiv ist), aber FHEM ist ja dauernd aktiv.
Ich weiß, ich könnte auch das Intervall ändern (habe ich im Modul gefunden). Eigentlich benötigt man doch den laufenden Status nur solange der Mäher aktiv ist. Ich steuere den Mäher über FHEM gezielt (Tage und Zeiten), dazu noch weitere Aktionen (Tor der Mäher-Garage, Rasen-Beregnungsanlage ausschalten beim Mähen etc.). Eine Statusüberwachung an den Tagen und Zeiten an denen FHEM den Mäher "aktiv" setzt wäre natürlich sinnvoll, zu anderen Zeiten obsolet (oder könnte dann gezielt in größeren Intervallen erfolgen).
Gruß, Klaus
Zitat von: Klaus.A am 01 Mai 2018, 21:12:29
Hi Dennis,
Danke für das Modul - sehr schön, jetzt kann ich die bisherige Lösung über ein Python-Skript (im Netz gefunden) ersetzen.
Besonders die Readings sind sehr gut zu verwenden.
Ein Gedanke evtl. für eine zukünftige Version:
Könnte man die laufende Statusabfrage per Befehl ein- und ausschalten? Jetzt läuft die Abfrage ständig, also 24 Stunden pro Tag/Nacht und das erzeugt Traffic für den Mobilfunk-Account. Ich habe noch nicht beobachtet wie viel da an Daten übertragen wird, aber bei 288 Abfragen pro 24 Stunden summiert sich das.
Mit einer echten Daten-Flat ist es natürlich kein Problem. Wenn es aber (wir bei mir) ein Prepaid-Traif ist der z.B. 50 MB pro 30 Tagen hat dann funktioniert das mit der Original-App problemlos (da läuft die Statusabfrage nur solange die App aktiv ist), aber FHEM ist ja dauernd aktiv.
Ich weiß, ich könnte auch das Intervall ändern (habe ich im Modul gefunden). Eigentlich benötigt man doch den laufenden Status nur solange der Mäher aktiv ist. Ich steuere den Mäher über FHEM gezielt (Tage und Zeiten), dazu noch weitere Aktionen (Tor der Mäher-Garage, Rasen-Beregnungsanlage ausschalten beim Mähen etc.). Eine Statusüberwachung an den Tagen und Zeiten an denen FHEM den Mäher "aktiv" setzt wäre natürlich sinnvoll, zu anderen Zeiten obsolet (oder könnte dann gezielt in größeren Intervallen erfolgen).
Gruß, Klaus
Hi Klaus,
das ist wirklich eine gute Idee. Mal sehen, ob ich das auch umgesetzt bekomme. Die nächste Mähzeit steht ja im Reading... das könnte klappen.
Viele Grüße
Dennis
Hi Dennis,
bitte nicht "zu sehr automatisieren" 8)
Ich habe die App einige Zeit beobachtet: Die "nächste Mähzeit" ist immer die nach dem eingestellten Mäher-Timer und Akkustand ermittelte Startzeit. Das ist nicht unbedingt die Zeit die ich per FHEM als "start" schalte. Da "irrt" sich dann die Vorausrechnung aus der Cloud (bzw. die App).
Mit "start" (App oder Modul) kann der Mäher nur gestartet werden wenn der Zeitpunkt innerhalb der Timer-Einstellungen des Mähers liegt. Aus diesem Grund habe ich den Timer für jeden Tag von 8:00 bis 20:00 Uhr eingestellt, fahre aber in der Regel nur zwischen 11:00 und 19:00 Uhr, und da nur an bestimmten Tagen und nur wenn der Regensensor im Garten keinen Niederschlag meldet.
Daher die Idee, die laufende Statusermittlung per Befehl ein/ausschalten. Das ist sicherer, da weiß man genau wann die Überwachung Sinn macht - und könnte dann per Notify oder DOIF auf bestimmte Situationen reagieren.
Gruß, Klaus
Ich stehe gerade vor der Anschaffung eines Mähers.
Auf was muß ich achten, damit eine Steuerung per FHEM geht?
Habt Ihr noch generelle Tipps für die Modellwahl? (Meine Rasenfläche ist ca. 900qm und sehr einfach gehalten.)
Zitat von: Gunther am 02 Mai 2018, 00:29:51
Ich stehe gerade vor der Anschaffung eines Mähers.
Auf was muß ich achten, damit eine Steuerung per FHEM geht?
Habt Ihr noch generelle Tipps für die Modellwahl? (Meine Rasenfläche ist ca. 900qm und sehr einfach gehalten.)
Hi Gunther,
damit es mit FHEM geht sollte es eine der folgenden Anforderungen erfüllen:
- GardenaSmartBridge / GardenaSmartDevice: greift auf Cloud von Gardena zu, API ist aber anders als bei Husqvarna und steuert zudem auch Bewässerung und Co.
- kompatibel für Robonect Modul: greift über WIFI-Modul direkt auf den Automower zu. Das WIFI-Modul ist kein offizielles Modul von Husqvarna
- Husqvarna Automower mit Connect Modul (SIM): greift auf Cloud von Husqvarna zu, API ist aber anders als bei Gardena. Automower muss über das Connect Modul verfügen, das via Mobilfunk mit der Husqvarna Cloud verbunden ist.
Zur Größe:
Du müsstest einen Mäher auswählen, der min. 1800 qm besser 2700 qm mähen kann.
Wenn Du einen nimmst, bei dem der Hersteller sagt er reicht für 900 qm oder 1000 qm, dann heißt es, dass diese Fläche innerhalb von 24h gemäht werden kann.
Hier noch ein Beitrag von mir zu dem Thema:
https://blog.krannich.de/2018/02/08/husqvarna-automower-entscheidungshilfen-fuer-einen-rasenroboter/
Gute Infos gibt es auch hier:
https://robomaeher.de
https://www.youtube.com/watch?v=33JjdlYPCmY
Hoffe das hilft Dir weiter.
Viele Grüße
Dennis
Hier ein Video von Stiftung Warentest. Recht aktuell.
https://www.youtube.com/watch?v=SUXU4_QB-a4
Nachtrag und Lösung betr. ständige Statusabfrage:
Wie ich sehe, bietet die Version im SVN bereits mehr Funktionen - u.a. kann das Intervall für die Statusabfrage je nach Bedarf gesetzt werden.
Damit ist das Problem der "ständigen Statusabfrage" zu lösen: Wer den Mäher per FHEM-Programmierung steuert (Start/Parken bestimmte Tage, Zeiten, Abhängigkeit von diversen Ereignissen bzw. Wetter) kann ja problemlos je nach Betrieb auch das Intervall für die Statusabfrage setzen. Ein Wert von 86400 (Sekunden) wäre dann einmal pro Tag (in Ruhezeiten), sonst ggf. im Intervall von x Minuten (genügt in der Regel).
Eine periodische Statusmeldung auch in Ruhezeiten ist praktisch um auf Fehlersituationen zeitnah zu reagieren (Mobilfunkverbindung gestört, Abmeldung von der Cloud weil auf den Servern ein Update eingespielt wurde - alles schon erlebt ...).
Fazit: Problem gelöst, keine Änderungen im Modul erforderlich.
Die Implementierung der diversen Funktionen ist hervorragend, und was an Status-Infos verfügbar ist bietet ganz neue Möglichkeiten der Steuerung und Information.
(Ich hatte vor vielen Jahren ein FHEM-Modul für den alten "G2" geschrieben - damals gab es noch keine API, alles war mehr experimentell. Von daher kenne ich die Steuerung dieser Mähroboter sehr gut und daher kam auch die Idee des variablen Intervalls für die Statusabfrage.)
Gruß, Klaus
Hey,
ich bin auch stolzer Besitzer eines Huskies. Habe gerade probiert das Modul einzubinden und bekommen folgenden Fehler:
2018.05.03 21:42:35.904 1: reload: Error:Modul 74_HusqvarnaAutomower deactivated:
Excessively long <> operator at ./FHEM/74_HusqvarnaAutomower.pm line 21.
2018.05.03 21:42:35.905 0: Excessively long <> operator at ./FHEM/74_HusqvarnaAutomower.pm line 21.
Gruß
Philipp
Hallo - ich habe das Modul installiert aber erhalte nur einen error. Ich habe zwei der Mähroboter in Betrieb. Könnte das der Grund sein?
Zitat von: Phili am 03 Mai 2018, 21:45:06
Hey,
ich bin auch stolzer Besitzer eines Huskies. Habe gerade probiert das Modul einzubinden und bekommen folgenden Fehler:
2018.05.03 21:42:35.904 1: reload: Error:Modul 74_HusqvarnaAutomower deactivated:
Excessively long <> operator at ./FHEM/74_HusqvarnaAutomower.pm line 21.
2018.05.03 21:42:35.905 0: Excessively long <> operator at ./FHEM/74_HusqvarnaAutomower.pm line 21.
Gruß
Philipp
Habe heute nochmal ein update gemacht und neugestartet und jetzt läuft es. Warum auch immer...
Danke für das Modul Klasse Arbeit!
Philipp
Danke für Eure Tipps!
Schaue mir das an. (Im Sommer ist bei mir immer FHEM ,,Pause")
Super Modul!! Ich habe es seit Tagen erfolgreich im Einsatz. Danke für die Mühe!
Mit dem Appetit kommt bekanntlich der Hunger!! ;)
Kann man via userReading folgendes erreichen?
- Mähzeit des letzten Mähens
- Mähzeit Total im aktuellen Tag
- Anzahl Mähzyklen im aktuellen Tag
Das wäre super!!! :) was meint ihr?
Ich habe im FHEH ein update/shutdown reboot gemacht. Seither erkenn er einen der beiden Mäher. Es ist derjenige der im Moment auch in der App auf dem iPhone aktiv ist. Wie kann ich nun den zweiten Mäher einbinden?
Zitat von: uwirt am 11 Mai 2018, 22:25:47
Ich habe im FHEH ein update/shutdown reboot gemacht. Seither erkenn er einen der beiden Mäher. Es ist derjenige der im Moment auch in der App auf dem iPhone aktiv ist. Wie kann ich nun den zweiten Mäher einbinden?
Hi,
Du kannst über das Attribut "mower" die ID des entsprechende Gerätes setzen (0 für das erste, 1 für das zweite, etc.).
Leider habe ich das noch nicht ausprobieren können, da ich nur einen Automower besitze :-(
Viele Grüße
Dennis
Moin zusammen,
habe gestern den 430x in Betrieb genommen.
Einbindung in Fhem über dieses Modul hat sofort funktioniert.
--> Vielen Dank!
Eine Frage zum intervall Attribut
Habe den Wert auf 600 gesetzt, das würde ich als 10 Minuten interpretieren.
Tatsächlich macht das Modul dann zumindest 20 Minuten oder länger keinen Update mehr.
Welche Maßeinheit ist dem Attribut zu Grunde gelegt?
Gruß Helmut
Edit: Es sind Sekunden.
Kann es sein, dass das Modul den geänderten Wert des Attributes intervall erst nach Shutdown und Restart ausliest?
Zitat von: dl4fb am 12 Mai 2018, 10:11:59
Edit: Es sind Sekunden.
Kann es sein, dass das Modul den geänderten Wert des Attributes intervall erst nach Shutdown und Restart ausliest?
Hi,
Das ist korrekt. Das Intervall wird erst nach einem Reload oder Restart gesetzt. Werde mal schauen, wie man das ändern kann. Danke für den Hinweis.
Viele Grüße
Dennis
Du kannst in Deiner NotifyFn dafür sorgen das DoUpdate aufgerufen wird sobald ein Event vom ändern des interval Attributes kommt.
Interessanter Weise löschst Du alle Intervale nach setzen des Interval Attributes.
Zitat von: krannich am 12 Mai 2018, 00:36:16
Hi,
Du kannst über das Attribut "mower" die ID des entsprechende Gerätes setzen (0 für das erste, 1 für das zweite, etc.).
Leider habe ich das noch nicht ausprobieren können, da ich nur einen Automower besitze :-(
Viele Grüße
Dennis
Besten Dank, es hat funktioniert. Ich kann jetzt beide Mäher sehen!
Zitat von: Klaus.A am 01 Mai 2018, 21:34:58
Hi Dennis,
bitte nicht "zu sehr automatisieren" 8)
Ich habe die App einige Zeit beobachtet: Die "nächste Mähzeit" ist immer die nach dem eingestellten Mäher-Timer und Akkustand ermittelte Startzeit. Das ist nicht unbedingt die Zeit die ich per FHEM als "start" schalte. Da "irrt" sich dann die Vorausrechnung aus der Cloud (bzw. die App).
Mit "start" (App oder Modul) kann der Mäher nur gestartet werden wenn der Zeitpunkt innerhalb der Timer-Einstellungen des Mähers liegt. Aus diesem Grund habe ich den Timer für jeden Tag von 8:00 bis 20:00 Uhr eingestellt, fahre aber in der Regel nur zwischen 11:00 und 19:00 Uhr, und da nur an bestimmten Tagen und nur wenn der Regensensor im Garten keinen Niederschlag meldet.
Daher die Idee, die laufende Statusermittlung per Befehl ein/ausschalten. Das ist sicherer, da weiß man genau wann die Überwachung Sinn macht - und könnte dann per Notify oder DOIF auf bestimmte Situationen reagieren.
Gruß, Klaus
Hallo, geht bei Euch set <Device> start ? Bei mir passiert gar nichts. Und in der REF steht dazu nichst.
lg c
Moin, nein
set <Device> start
bewirkt nichts, keine Reaktion. Weiter oben im Thread gab es dazu schon einen Hinweis mit der Vermutung, dass ein Stück Dialog fehlt. In der App reicht ja auch nicht "Start", sondern man muss z.B. die Hauptzone anwählen.
Und das kann mein m.E. nach aktuell im Modul nicht eingegeben, bzw. ich weiss nicht, wie.
Gruß Helmut
Habe heute bei meinen Eltern einen 315x verlegt und in Betrieb genommen.
Zur Überwachung hab ich auch gleich mal die aktuellste Version aus dem Git geholt.
Funktioniert auf Anhieb, danke dafür.
Allerdings hat das Modul mit Umlauten ein Problem:
READINGS:
vor 26 Minuten expires in 10 Tagen
vor ein paar Sekunden mower_battery 67
vor einer Minute mower_cuttingMode Hauptbereich
vor ein paar Sekunden mower_mode AUTO
vor 26 Minuten mower_name Kr�uterh�gel
Vermutlich ein Konvertierungs-Problem?
lg, Stefan
Hi Automower-Fangemeinde,
wisst Ihr warum ich nun diese Fehlermeldung bekomme
"Unknown command wget, try help"
wenn ich oben in der Commandozeile versuche die aktuelle Version zu laden. Also so:
wget https://github.com/krannich/dkFHEM/blob/master/FHEM/74_HusqvarnaAutomower.pm
?
Ich habe das Modul bereits geladen und es läuft auch BESTENS - wollte nur die aktuelle Version installieren.
Danke Euch
Roger
Wget ist nicht installiert
Moin zusammen,
Frage geht an Dennis.
Was hältst du davon, macht es aus deiner Sicht Sinn, das Reading "mower_battery" umzustellen auf "batteryPercent" und den Wert ohne %?
Ich werde mich abervauch mit userReadings bedchäftigen.
Es gibt zur Zeit hier im Forum eine Diskussion. https://forum.fhem.de/index.php/topic,87575.0/all.html
Gruß Helmut
Moin zusammen
Hat mittlerweile jemand von euch herausgefunden, ob oder besser welche Angaben man bei
set <device> start
Oder
set <device> park
eingeben muss. Bei mir gibt es keine Reaktionen , muss die App nutzen.
Gruß Helmut
Hallo zusammen,
start, stop, park geht auch bei mir nicht. Mit verbose 5 bekomme ich folgenden Fehler:
{"status":"400","code":null,"title":"Deprecated control path ('../control'). Instead use control subpaths ('../control/{action}'.","detail":null}
Gruß Günter
Hallo Günter,
dann warten wir mal auf eine Antwort vom Entwickler.
Eine Lösung ist aktuell bei mir nicht so dringend, da ich noch keine Automatisierung einsetze.
Gruß Helmut
Guten Morgen,
Ich hab das Modul gestern Abend beim Update von FHEM entdeckt und natürlich sofort aktiviert. Funktioniert soweit glaub ich. Die Readings kommen.
Das Modul ist eine echt coole Sache. Respekt!
Meine Frage: wenn der Status Park gesetzt wird. Welches Park wird hier genommen? Bis auf weiteres? Oder bis zur nächsten Timereinstellung?
Wäre es möglich diese Optionen noch im Modul einzubauen?
Wir mögen nicht dass unser Waldi im Regen fährt und unser Tabui ist schneller zu erreichen als die Original App.
Danke schon mal für die Antwort.
Liebe Grüße
Honigmaul
Hallo,
die Husqvarna Mähroboter unterstützen neuerdings Bluetooth - Husqvarna nennt das Connect@Home.
Hat jemand damit schon Erfahrungen gesammelt?
Viele Grüße,
Sebastian
Auch von mir vielen Dank für das Modul.
Leider geht starten, stoppen etc bei mir nicht. Dies würde ich aber gerne mit einbinden bei zB Regen.
Hat jemand eine Lösung gefunden?
Geht noch nicht, siehe #67 und #73 in diesem Thread.. wurde schon öfter gefragt. Lg c
Als Hinweis für den Entwickler - ich kann das im Moment nicht testen: Das sieht mir nach einem kleinen Problem mit Hochkommata in Zeile 648 aus (Leerzeilen mitgezählt):
Definition der "action" in der aktuellen Version:
my $json = '{"action": "' . $cmd . '"}';
Das sollte so aussehen:
my $json = "{action: " . $cmd . "}";
Mit der aktuellen Definition kommt die API durcheinander, weil der Action-Typ in zusätzlichen Hochkommata daherkommt und als Folge falsch interpretiert wird.
Einen zusätzlichen Dialogschritt zum Parken benötigt man nicht.
Gruß, Klaus
Zitat von: Klaus.A am 03 Juni 2018, 22:52:35
Als Hinweis für den Entwickler - ich kann das im Moment nicht testen: Das sieht mir nach einem kleinen Problem mit Hochkommata in Zeile 648 aus (Leerzeilen mitgezählt):
Definition der "action" in der aktuellen Version:
my $json = '{"action": "' . $cmd . '"}';
Das sollte so aussehen:
my $json = "{action: " . $cmd . "}";
Mit der aktuellen Definition kommt die API durcheinander, weil der Action-Typ in zusätzlichen Hochkommata daherkommt und als Folge falsch interpretiert wird.
Einen zusätzlichen Dialogschritt zum Parken benötigt man nicht.
Gruß, Klaus
heisst das konkret, mit dieser Änderung kann man "set MeinRoboter park" machen? Das wäre ja schonmal sehr cool. Und was ist mit start/stop?
Ja, das sollte dann so funktionieren. Die Korrektur betrifft die folgenden Befehle:
start
stop
park
Ich kann das erst Ende nächster Woche testen (bin auf Geschäftsreise), wollte aber die Erkenntnisse hier bekanntgeben - vielleicht liest auch der Entwickler mit.
Gruß, Klaus
Hallo Klaus,
danke für deine Unterstützung. Die Zeile #684 habe ich auch im Verdacht, nur fehlen mir die nötigen Perlkenntnisse.
Deine Änderung habe ich eingebracht. Jetzt lautet der Fehler:
{"code":400,"message":"Unable to process JSON"}
Gruß, Günter
sorry, Zahlendreher. Meinte natürich Zeile # 648
@Günter:
Au, da habe ich mich in der Perl/Json Syntax aber verirrt ... :-[
"action" muss in Hochkommata stehen, sonst ist der Json-Teil ungültig. In einer anderen - funktionierenden Implementierung (Python) wird der Command ohne Hochkommata übergeben. Die API ist doch etwas flexibler - beim Login setzt das Skript auch alles in einfache Hochkommata.
ABER mir fällt etwas ganz anders auf: Du hattest einmal die Meldung im Log gepostet:
... Instead use control subpaths ('../control/{action}'
Nach dem ../control und vor {action} ist ein weiterer Forward-Slash in der Fehlermeldung im Log. Das Zeichen fehlt im Skript. Ich weiß nicht wie HttpUtilsGet_NonblockingGet(...) die einzelnen Datenelemente zusammensetzt - ob zwischen Forward-Slash und {action: 'xxx'} dann eine Leerstelle entsteht. Ich frage mich jetzt auch wie die Meldung genau zu interpretieren ist. Wie erwartet die API die 'action' ?
Zeile 648 muss wieder zum Ursprungszustand zurück.
Zeile 651 an /control noch einen Forward-Slash anhängen.
Wenn das auch nicht zum Erfolg führt dann muss ich eine lauffähige andere Implementierung versuchen detaillierter zu loggen um zu sehen was genau gesendet wird. Wie auch immer, wir sind ganz nahe an der Lösung.
Gruß, Klaus
Hallo Klaus,
das mit /control/ war schon vor Tagen meine erste Idee. Habs jetzt nochmal probiert. Kein Erfolg.
Ich habe mal den Netzverkehr der AMC-APP protokolliert. Hier die cmd's die an Husqvarna übergeben werden.
POST /app/v1/mowers/<meine-mower-id>/control/pause
POST /app/v1/mowers/<meine-mower-id>/control/start
POST /app/v1/mowers/<meine-mower-id>/control/park/duration/timer
Wollte auch noch den Netztraffic des Moduls mit wireshark protokollieren. Komme aber auf die Schnelle nicht weiter.
Ab Zeile #286 im Modul werden anscheinend die Kommandos generiert. Änderung in Kleinschrift bewirkt an dieser Stelle nichts.
Vielleicht hat der Entwickler noch eine Idee?
Gruß, Günter
Nachdem das schon langsam mysteriös wird bin ich auf die Suche nach Differenzen zwischen verschiedenen Skripten gegangen. Und, siehe da, habe zu meiner Überraschung etwas gefunden:
Die "APIURL" ist anders (die AUTHURL ist überall identisch).
Im FHEM-Modul ist als APIURL definiert:
"https://amc-api.dss.husqvarnagroup.net/app/v1/";
Das funktionsfähige Skript verwendet (ebenso wie andere, z.B. eine Lösung für Node.js):
"https://amc-api.dss.husqvarnagroup.net/v1/";
Der Subpath "/app" ist da nicht drin.
Das wirft natürlich die Frage auf, warum die anderen Funktionen - mehrere Mower erkennen, Statusabfrage - mit dem FHEM-Modul funktionieren. Ich kann mir allerdings vorstellen, das es eine spezielle API für die "App" gibt und eine mehr globale API. Oder es ist historisch bedingt. In jedem Fall gibt es eine Abweichung bei der URL.
Sonst sehe ich momentan nicht warum das nicht funktionieren sollte. Die Login-Daten werden auch mit Hochkommata eingeschlossen, da war meine Vermutung doch etwas daneben (sorry für die Konfusion).
Gruß, Klaus
Das war die Initialzündung.
habe eben div. Änderungen vorgenommen. Sieht momentan gut aus.
Werde morgen testen und melde mich wieder.
Gruß, Günter
Hallo zusammen, hallo Klaus,
es funktioniert!!!
Klaus, mit deiner Vermutung, es liegt an den Pfaden, lagst du goldrichtig.
Husqvarna verwendet für Abfragen und Kommandos tatsächlich unterschiedliche Pfade.
Habe gestern noch einen kleinen workaround gebastelt und heute positiv getestet.
Ist vielleicht nicht die eleganteste Lösung, tut es aber erstmal.
Zeile 43 ändern, Zeile 44 hinzufügen
use constant APIURLGET => "https://amc-api.dss.husqvarnagroup.net/app/v1/";
use constant APIURLPOST => "https://amc-api.dss.husqvarnagroup.net/v1/";
Zeile 458 ändern
url => APIURLGET . "mowers",
Zeile 546 ändern
url => APIURLGET . "mowers/" . $mymower_id . "/status",
Zeile 653 ändern
url => APIURLPOST . "mowers/". $mower_id . "/control",
Sollte sich jemand die Änderungen nicht zutrauen bitte per mail bei mir melden. Ich schicke dann das komplette Modul.
Bis zu einer offiziellen Version sollte 74_HusqvarnaAutomower.pm von den Updates ausgenommen werden.
Viel Spass beim Rasenmähen
Gruß, Günter
@Klaus: Vielen, vielen, vielen Dank für deine hilfreiche Unterstützung und weiterhin angenehme Dienstreise.
Hallo Günter,
schön wenn es jetzt funktioniert. Aber zwei unterschiedliche URL-Pfade? Das muss mit einem einzigen Pfad (dem ohne "/app") funktionieren - machen andere Skripts auch problemlos.
Welchen Fehler gab es denn mit einer einzigen URL? (Ich kann erst wieder testen wenn ich wieder zu Hause bin und direkten Zugriff auf mein ganzes System habe.)
Gruß, Klaus
Hallo Klaus,
habe ich selbstverständlich als Erstes getestet, endete allerdings in einer Katastrophe. Der park-Befehl ging problemlos durch aber nach erstem update-Befehl ist fhem komplett abgesoffen.
Can't use string ("PARKED_PARKED_SELECTED") as a HASH ref while "strict refs" in use at ./FHEM/74_HusqvarnaAutomower.pm line 504.
Das war die letzte Ausgabe. Fhem restart ging auch nicht. Letzte Ausgabe beim Startup siehe oben. So kam ich auf diese Lösung.
Dann habe ich heute nochmal das Protokoll der Netzaufzeichnung durchgesehen und mir ist aufgefallen das u.A. auch die Plattform abgefragt/übertragen wird.
{"deviceId":"xyz...","platform":"android"}
Wird schon werden. Ich lasse jetzt einfach mal meine Version weiterlaufen.
Um die Frage, weiter oben im Thread, was bei "park" geschieht zu beantworten: "Parken bis auf weiteres"
Gruß, Günter
Hallo zusammen.
Danke für das Modul. Funktioniert bei mir sehr gut.
Ich hätte mal eine Verständisfrage zum Abfrage-Intervall. In einem der vorigen Posts kam doch die Frage auf, ob ein hohes Intervall auch ein hohes Datenaufkommen für die eingebaute SIM-Karte bedeutet. Ist es nicht so, dass der Mäher seinerseits seinen Status in bestimmten Abständen an die Cloud sendet? Das Modul fragt doch nicht den Mäher selbst ab sondern die Cloud. Deshalb dürfte doch das Abfrage-Intervall keine Auswirkungen auf das Datenvolumen der SIM-Karte haben. Oder sehe ich das falsch.
Ich habe nämlich bei mir ein Intervall von 60 Sekunden eingestellt, um in FHEM auch nachts schnell auf Änderungen der Geoposition des Mähers reagieren zu können.
Ansonsten noch mal vielen Dank für das Modul.
Oli
Erledigt! Neuanlage des Mower hat geholfen!
Nach einem Reboot von FHEM kriege ich nur noch den Status: authenticated beim Rasenmäher.
Update geht auch nicht mehr, leider.
Hatte den Fehler schon jemand?
Hallo,
danke für das Modul! Gestern Mäher gekommen, heute in fhem drin.
Status funktioniert einwandfrei. Park/Start/Stop mit default-Modul ohne Veränderungen bewirken bei mir auch nichts. Habe ein 2018er 315-Model mit Bluetooth und GSM-connect-Karte.
Wie kann ich unterstützend beitragen mit logs/traces etc.?
Viele Grüße,
Sebastian
P.S. Habe in dem Modul die Zeile "use constant APIURL => "https://amc-api.dss.husqvarnagroup.net/app/v1/";" testweise geändert und kann bestätigen, dass mit "app/" in der URL die Status-Abfrage funktioniert, ohne "app/" funktioniert sie nicht. Dafür funktioniert z.B. park ohne "app/" in der URL.
Es muss noch weitere Parameter geben, da ein park den Mäher zum Parken "bis auf weiteres" schickt. In der App kann man z.B. auswählen "Parken bis zum nächsten Timer" oder "Parken 3h|6h|12h".
Hallo Sebastian,
geht bei allen nicht. Denke wir müssen auf den Moduldentwickler warten.
Gruß Helmut
Zitat von: dl4fb am 15 Juni 2018, 18:15:28
Hallo Sebastian,
geht bei allen nicht. Denke wir müssen auf den Moduldentwickler warten.
Gruß Helmut
Hat jemand eine x86-Version der Husquarna Android App (als apk-Datei)? Die könnte ich versuchen, in einem Emulator laufen zu lassen, um sie besser zu debuggen. Habe nur eine ARM-Version...
Nutze hier am Tablet eine 32 Bit Version, habe aber keinen Toot User, komme also an die apk nicht ran.
Ich habe mich mit Perl nie beschäftigt, mit Turbo Pascal damals.
Deswegen ist meine Analyse recht wackelig.
Ich hatte mir am Git. den Sourcecode oberflächlich angeschaut. Es sieht so aus, als ob die Befehle an Husqvarna in Englisch abgesetzt werden müssen, wir also die englischen Ausdrücke im Auswahlfeld eingeben müssen.
Hatte ich probiert, mit "Main area" und anderen Varianten, ohne Ergebnis.
Ich habe allerdings nicht gesucht, wie das Auswahlfeld bearbeitet und Richtung Server gesendet wird. Vielleicht fehlt auch einfach der Code dafür aktuell.
Zitat von: dl4fb am 15 Juni 2018, 18:34:01
Nutze hier am Tablet eine 32 Bit Version, habe aber keinen Toot User, komme also an die apk nicht ran.
Hast Du bei Dir auf deinem PC adb (Android Debugging Bridge) installiert, um auf das Tablet per USB zugreifen zu können? Dann könntest Du per "adb shell pm list packages" (1) Dir eine Liste der apps, per "adb shell pm path <Name aus 1>" (2) den Pfad der App und dann per "adb pull <Pfad aus 2> Zielpfad" die App kopieren. Puh, kompliziert. Einfacher geht es vielleicht mit https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=en (https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=en) oder https://play.google.com/store/apps/details?id=com.ext.ui (https://play.google.com/store/apps/details?id=com.ext.ui).
Guter Tip, werde ich testen.
Habe aber auch eine gute Info von Entwickler.
Siehe https://blog.krannich.de/husqvarna-automower-modul-fuer-fhem/
Erst ist an der an der Implementierung.
Hat jemand Erfahrung mit Android-App-Programmierung? Habe die apk auf die Schnelle angeschaut und z.B. folgende Zustände des Mähers darin gefunden:
public static final MowerActivity charging;
public static final MowerActivity goingHome;
public static final MowerActivity leaving;
public static final MowerActivity mowing;
public static final MowerActivity none;
public static final MowerActivity parkedInCs;
public static final MowerActivity stoppedInGarden;
public static final MowerActivity unknown;
Als urls verwendet die apk:
public static final String API_BASE_URL = "amc-api.dss.husqvarnagroup.net";
public static final String IAM_BASE_URL = "iam-api.dss.husqvarnagroup.net";
Daraus werden die kompletten urls zusammengebaut. Es gibt in der apk auch einen Demo-Mode mit abweichenden Links, vielleicht kann man hier was testen... Sieht aber eher nach einem Husquarna-eigenen Entwicklungssystem aus.
public static okhttp3.HttpUrl.Builder getDefaultIamUrlBuilder()
{
if (Constants.DEMO_MODE_ENABLED)
{
return (new okhttp3.HttpUrl.Builder()).scheme("http").host(MockBackend.server.getHostName()).port(MockBackend.server.getPort()).addPathSegment("iam");
} else
{
return (new okhttp3.HttpUrl.Builder()).scheme(API_SCHEME).host("iam-api.dss.husqvarnagroup.net").addPathSegment("api").addPathSegment("v3");
}
}
public static okhttp3.HttpUrl.Builder getDefaultMowerUrlBuilder()
{
if (Constants.DEMO_MODE_ENABLED)
{
return (new okhttp3.HttpUrl.Builder()).scheme("http").host(MockBackend.server.getHostName()).port(MockBackend.server.getPort()).addPathSegment("v1").addPathSegment("mowers");
} else
{
return (new okhttp3.HttpUrl.Builder()).scheme(API_SCHEME).host("amc-api.dss.husqvarnagroup.net").addPathSegment("app").addPathSegment("v1").addPathSegment("mowers");
}
}
public static okhttp3.HttpUrl.Builder getDefaultUrlBuilder()
{
if (Constants.DEMO_MODE_ENABLED)
{
return (new okhttp3.HttpUrl.Builder()).scheme("http").host(MockBackend.server.getHostName()).port(MockBackend.server.getPort()).addPathSegment("v1");
} else
{
return (new okhttp3.HttpUrl.Builder()).scheme(API_SCHEME).host("amc-api.dss.husqvarnagroup.net").addPathSegment("app").addPathSegment("v1");
}
}
Dort sind auch alle Aufrufe für die Funktionen drin, aber das ist doch etwas mühsam für die Analyse. Vielleicht kriege ich ja noch was raus.
P.S. Habe noch was rausbekommen. Es gibt in der App Java-Funktionen zum Aufruf unterschiedlicher Mäher-Funktionen. Diese lauten:
public void parkUntilFurtherNotice(String s, ControlMowerRequestListener controlmowerrequestlistener)
{
control(BaseRequest.getDefaultMowerUrlBuilder().addPathSegment(s).addPathSegment("control").addPathSegment("park").build(), "", controlmowerrequestlistener);
}
public void parkUntilNextStart(String s, ControlMowerRequestListener controlmowerrequestlistener)
{
control(BaseRequest.getDefaultMowerUrlBuilder().addPathSegment(s).addPathSegment("control").addPathSegment("park").addPathSegment("duration").addPathSegment("timer").build(), "", controlmowerrequestlistener);
}
public void parkWithDuration(String s, int i, ControlMowerRequestListener controlmowerrequestlistener)
{
control(BaseRequest.getDefaultMowerUrlBuilder().addPathSegment(s).addPathSegment("control").addPathSegment("park").addPathSegment("duration").addPathSegment("period").build(), getDurationJsonString(i), controlmowerrequestlistener);
}
public void pause(String s, ControlMowerRequestListener controlmowerrequestlistener)
{
control(BaseRequest.getDefaultMowerUrlBuilder().addPathSegment(s).addPathSegment("control").addPathSegment("pause").build(), "", controlmowerrequestlistener);
}
public void startMainArea(String s, ControlMowerRequestListener controlmowerrequestlistener)
{
control(BaseRequest.getDefaultMowerUrlBuilder().addPathSegment(s).addPathSegment("control").addPathSegment("start").build(), "", controlmowerrequestlistener);
}
public void startMainAreaOverrideTimer(String s, int i, ControlMowerRequestListener controlmowerrequestlistener)
{
control(BaseRequest.getDefaultMowerUrlBuilder().addPathSegment(s).addPathSegment("control").addPathSegment("start").addPathSegment("override").addPathSegment("period").build(), getDurationJsonString(i), controlmowerrequestlistener);
}
Jeder einzelne Aufruf baut eine url zusammen, der String s ist die Mäher ID. Der Aufruf zum Parken mit Dauer lautet dann:
.../mower-id/control/park/duration/period
Die Dauer wird als JSON-String übergeben.
P.S.2 In der App gibt es auch den Code für den Mockserver (MockBackend.server) - weiß nur nicht, wie der zu starten ist. Aber damit könnte die App wohl gegen einen Test-Webservice, der auf dem Smartphone selbst läuft, getestet werden.
Hallo zusammen,
aktueller Stand aus meinen Testläufen:
Wenn man die Änderungen aus Post #88 vornimmt dann funktioniert alles, einschl. Start, Stop, Parken. Die URLs müssen angepasst werden, es sind insgesamt 3 erforderlich, für Authentifizierung, Post und Get.
Das zur Zeit verteilte Modul ist noch fehlerhaft.
Zur Frage nach dem Abfrage-Intervall: Ich habe mir die Logik im Modul genauer angesehen. Ja, es wird nur die Cloud abgefragt, so gesehen ist das Intervall belanglos für die Mobilfunkverbindung. Die Cloud greift bei Abfragen nicht auf den Mower durch. Dieser dürfte immer bei einer Statusänderung den neuen Status an die Cloud senden. Er scheint von Zeit zu Zeit auch ein "Keep Alive" zu senden - jedenfalls habe ich auch mit der Original-App Situationen erlebt, die "getrennt" gemeldet haben. Das kann der Mower ja nicht gesendet haben, da hat die Cloud erkannt das die Verbindung fehlt. Ich vermute eben das der Mower dieses "Keep Alive" sendet, denn nur so gibt es die Gewähr das der in der Cloud vorhandene Status einigermaßen aktuell ist.
Unschön ist das er bei jedem Interfvall-Call das Log zumüllt mit
doUpdate() called.
2018.06.21 21:25:35 3: Update with device: xxxxxxxxx-xxxxxxxxx
Im normalen Betrieb ist das völlig unnötig. Das sollte eigentlich mehr ein Debug-Protokoll sein. Vielleicht kann das der Entwickler auf einen anderen Level umstellen, sodass es nur bei einer anderen Verbose-Einstellung zieht.
Gruß, Klaus
Hallo,
ich habe die Änderungen aus #88 versucht, aber das Modul lässt sich nicht mehr laden.
Könnte jemand mal bitte sein funktionierendes PM einfach hier Posten?
Wäre sehr dankbar.
Gruß Henrik
Hallo zusammen,
ZitatZur Frage nach dem Abfrage-Intervall: Ich habe mir die Logik im Modul genauer angesehen. Ja, es wird nur die Cloud abgefragt, so gesehen ist das Intervall belanglos für die Mobilfunkverbindung. Die Cloud greift bei Abfragen nicht auf den Mower durch. Dieser dürfte immer bei einer Statusänderung den neuen Status an die Cloud senden. Er scheint von Zeit zu Zeit auch ein "Keep Alive" zu senden - jedenfalls habe ich auch mit der Original-App Situationen erlebt, die "getrennt" gemeldet haben. Das kann der Mower ja nicht gesendet haben, da hat die Cloud erkannt das die Verbindung fehlt. Ich vermute eben das der Mower dieses "Keep Alive" sendet, denn nur so gibt es die Gewähr das der in der Cloud vorhandene Status einigermaßen aktuell ist.
Das kann ich nicht bestätigen. Während des Mähens wird mit jedem "update" auch die aktuelle Position übertragen. Da die Cloud diese nicht kennen kann muss hier wohl der Mäher abgefragt werden. Lediglich im Zustand "geparkt" erfolgt eine Aktualisierung der Koordinaten nur ca. alle 10 Minuten.
Dann habe ich noch einen Fehler entdeckt: Wenn "event-on-change/update-reading" eingesetzt wird verliert das Modul, warum auch immer, die Verbindung. Der Status ist dann "authenticated".
Gruß, Günter
@Klaus: mit verbose 0 ist der Log-Spuk weg.
Die Positionsmeldung ist dann also das "Keep-Alive" bzw. Meldung das der Mower noch funktioniert. Die Cloud wird nicht den Mower anrufen ... der meldet sich periodisch und sendet seine aktuelle Position. Damit ist auch gewährleistet das bei einem Abbruch/Fehler des Mowers dessen letzte bekannte Position verfügbar ist.
Verbose 0 ist klar, das kann aber nur eine Notlösung sein, denn damit schalte ich für das Modul ja alles ab.
Gruß, Klaus
Hi,
Geht es hier noch weiter?
Ich habe folgende Proble:
- Status ist ,,mäht", Sonderzeichen sollte weg
- set Park etc geht nicht
- mower verliert Verbindung und geht auf authenticated bei Event on Change
Ich denke eine funktionierende Lösung ist sehr nah für alle.
expires: Datum wann die Session der Husqvarna Cloud abläuft
Was bedeutet das?
Hi,
Bedeutung von "expires": Eine Session, deren Benutzer sich nicht abmeldet wird nach einer definierten Zeit (hier mehrere Tage, den genauen Zeitraum müsste ich das noch beobachten) abgemeldet. Damit vermeidet man auf dem Server zu viele obsolete Sessions, die früher oder später zu Ressourcenproblemen führen würden. Soweit ich das beobachten konnte wird die Session vom Modul wieder erneuert, d.h. alles läuft ganz normal weiter.
Ich habe die aktuelle Version (mit angepassten URLs so wie in der Diskussion beschrieben) seit einigen Wochen im Einsatz. Läuft problemlos. Ein "Sonderzeichen" beim Status "Mähen" sehe ich nicht. Auch kein Problem bei dem die Verbindung weg wäre und zu "authenticated" gewechselt würde. Da müssen andere Probleme in der Installation bestehen.
Warum es hier nicht weiter geht kann ich nicht beurteilen. Schön wäre es wenn wenigstens die URLs in der offiziellen Version korrigiert wären. Die letzte offizielle Version funktioniert sonst NICHT (kein Start, Stop, Parken). Selbst editieren: Aufpassen welcher Editor verwendet wird, sonst ist der Quellcode schnell "kaputt editiert". (Ich mache das auf einem MS Windows System mit Notepad++ oder bei Zugriff mit WinSCP mit dem dort eingebauten Editor - es gibt natürlich noch andere Möglichkeiten). Dann vorerst den Modul vom automatischen Update blockieren (bis eine lauffähige Version verfügbar ist).
Bei mir läuft das problemlos, zeitgesteuert durch FHEM in einem Szenario mit diversen Zusatzfunktionen, ausgelöst durch Notifys und DOIFs.
Gruß, Klaus
Hi,
Ok das Problem ist, dass ich die offizielle Version nutze.
Könntest du sein funktionierendes Modul bitte einmal für die Allgemeinheit Posten?
Vielen Dank.
Kann man den Alarm auch irgendwie in fhem btingen?
Wie kann man das Update sperren?
Hallo liebe Leidgeplagte,
natürlich geht es weiter! Ich habe in Post #88 angeboten, jedem der mich anfunkt mit dem funktionierenden pm zu versorgen. Hat aber nur Einer genutzt.
Ich poste nun das pm. Damit ist hoffentlich Allen gedient. (Bin neu hier, habe endlich gefunden wie man eine Datei anhängt)
ACHTUNG!
Aktuell habe ich das Reading 'mower_status' in 'mower_activity' umbenannt und das Reading 'mower_state' (beide Namen in Anlehnung an Husqvarna) zugefügt.
Wer schon Abfragen außen herum gebaut hat sollte das berücksichtigen!
Das neue Reading 'mower_state' beinhaltet z.B. 'pausiert'. Vielleicht auch, habe ich aber noch nicht getestet, 'Alarm' oder 'Deckel offen' usw.
Eigentlich schade, daß sich der Entwickler zu diesem Thema kompett in Schweigen hüllt!
Viele Grüße, Günter
@dinkel75: Das Update sperrst du mit: attr global exclude_from_update 74_HusqvarnaAutomower.pm
Funktioniert jetzt super!
Das mit dem Alarm muss ich auch noch testen.
habe eben getestet. Leider enthält 'mower_state' nicht das Erwartete. Aber immerhin:
PAUSED
STOPPED (bei Deckel offen) und
FATAL_ERRROR (außerhalb des Mähbereiches)
Für meinen Bedarf ist das jetzt einigermaßen zufriedenstellend. Daher werde ich keine weiteren Änderungen an diesem PM vornehmen.
Das ist Sache des Entwicklers!
Ich bin auch zufrieden!
Licht einschalten, wäre noch cool, keine Ahnung, wie man das rausfinden könnte.
Aber vielleicht kommt ja noch was vom Entwickler.
Auch bei mir funktioniert die geänderte Datei ohne Probleme. Habe über eine Verbindungzwischen FHEM und node red und dem dortigen Alexa-local node auch die Anbindung zu Alexa hergestellt. Der Start und der Park-Befehl funktionieren. Leider ist es mir noch nicht gelungen, den Stop-Befehl umzusetzen. Das Alexa-local-node emuliert eine Hue-Lampe. Habe noch keine Idee wie ich den möglichen Dimmbefehl in einen Stop-Befehl für den Husqvarna umsetzen kann. Start und Park waren einfach, da sich on und off leicht durch den change-node ändern lassen. Wenn jemand eine Lösung hätte, wäre das schön.
mfg
jwk
p.s. Es funktionieren jetzt mit Alexa der Start-, Park- und der Stoppbefehl. In Node Red habe ich den Dimmbefehl in einer Funktionsnode in den Stoppbefehl für den Husqvarna geändert. Die Verbindung von FHEM zu Node Red läuft über MQTT.
Hi,
ich habe das Modul über wget in den Ordner geladen. Bekomme aber eine Fehlermeldung beim define: Cannot load module HusqvarnaAutomower
Ein reload des Modules bringt folgende Meldung:
Excessively long <> operator at ./FHEM/74_HusqvarnaAutomower.pm line 21.
Woran kann dies liegen?
Grüße
Heute wird (bei mir) ein Update des Moduls angeboten.
Hat das schon jemand von euch installiert?
Im Sommer hatte ich die Version hier aus dem Forum installiert und danach habe ich die Updates dieses Moduls deaktiviert.
exclude_from_update
74_HusqvarnaAutomower.pm
Gruß Helmut
Hallo,
hätte auch Interesse daran zu erfahren ob das Modul nach dem im Januar angebotenen Update noch funktioniert.
Ich habe das Modul letzten Sommer (nach Einspielen des modifizierten pm) von den automatischen Updates ausgeschlossen und danach es hat keine Probleme gegeben.
Vor ein paar Tagen ist mein Fhem das erste Mal überhaupt abgestürzt. Der Logdatei kann man entnehmen, dass es etwas mit mit dem "Modul: 74_HusqvarnaAutomower.pm" zu tun gehabt haben muss.
Die Steuerung des Rasenmähers steht aber seit Herbst in Fhem auf inaktiv, und der Rasenmäher ist ausgeschaltet.
Sollte also nicht mit einem Schaltvorgang zusammenhängen.
Moin, leider meldet sich der Modul-Autor nicht mehr.
Es fehlten noch 2 oder Features, siehe weiter vorn im Forum.
Schade!
Hallo zusammen,
habe seit kurzem diese Fehlermeldung:
2019.03.29 19:23:08 3: LOGIN TOKEN MISSING OR EXPIRED
2019.03.29 19:23:08 3: Reconnecting...
2019.03.29 19:23:08 5: Error: The provided access grant is invalid, expired, or revoked.
Es sind zwei Mäher auf diesen Account angemeldet und das Modul auf zwei Lokationen auf zwei Raspis laufen und der toKen ist der gleiche wie auf dem anderen Raspi.
Die Zugangsdaten funktionieren, Mower App wurde auf Android neu installiert und funktioniert. Das eine Modul (das neueste hier aus dem Forum und updates deaktiviert) nimmt sich einfach keinen neuen Token und meldet den obigen Fehler.
Versuche habe ich weiterhin gemacht, indem ich die Raw defmod auch auf dem funktionierenden Raspi ausgeführt habe, da hat es wieder mit dieser Definition nicht geklappt. Die Werte sind die gleichen und es wurde auch nichts verstellt. Sehr komisch.
Hat noch wer ähnliche Probleme? Vieleicht eine API Änderung bei dein Dollyzüchtern?
Da der Modulauthor vor kurzem im Forum war habe ich ihn angeschrieben ob er weiterhin das Modul pflegt, wenn nicht muss sich ein neuer Maintainer finden.
So viel zum aktuellen Status.
Grüße
Mein Mäher ist noch geparkt, aber eingeschaltet.
DIe Daten vom GPS und die Batterie Readings sind aktuell.
Daraus schließe ich, dass an der API oder dem Webservice nichts geändert wurde.
Ich nutze auch das Modul hier aus dem Forum.
Gruß Helmut
Hallo Helmut,
danke für die Info.
Habe den Fehler gefunden. Lag am Passwort, sehr peinlich und trivial. ::)
Lässt sich nicht unterscheiden ob I oder l in manchen Schriftarten.
Also alles gut und schönes sonniges Wochenende allen
Hallo,
ich benutze das Modul aus diesem Forum.
Bisher hat es gut funktioniert. Heute ist FHEM komplett abgestürzt, nachdem die Webseite von husqvarnagroup scheinbar nicht erreichbar war:
2019.04.01 15:25:47 5: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/180611264-180331833/status - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
2019.04.01 15:30:47 5: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/180611264-180331833/status - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
<head><title>503 Service Temporarily Unavailable</title></head>^M
<body bgcolor="white">^M
<center><h1>503 Service Temporarily Unavailable</h1></center>^M
</body>^M
</html>^M
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/74_HusqvarnaAutomower.pm line 582.
Hat jemand von Euch eine ähnliche Erfahrung gemacht?
Wie kann man am einfachsten FHEM/74_HusqvarnaAutomower.pm robust machen?
Grüße, Bernd
Hallo,
Bei mir das selbe. Ich habe dann einen Raspi Reboot gemacht und rasch ,,set Husqvarna update" gemacht. Seither gehts wieder (hoffentlich).
Lg c
Hallo Zusammen,
ja, bei mir auch das selbe auf zwei Raspis bei zwei Mowern unter einem Account.
Danke für die Rückmeldung, bin schon am verzweifeln.
Schönen Abend
Bei mir auch.
Erstmal nur reboot, mal sehen, was passiert.
Zitat von: knon am 01 April 2019, 21:00:38
Hallo,
ich benutze das Modul aus diesem Forum.
Bisher hat es gut funktioniert. Heute ist FHEM komplett abgestürzt, nachdem die Webseite von husqvarnagroup scheinbar nicht erreichbar war:
2019.04.01 15:25:47 5: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/180611264-180331833/status - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
2019.04.01 15:30:47 5: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/180611264-180331833/status - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
<head><title>503 Service Temporarily Unavailable</title></head>^M
<body bgcolor="white">^M
<center><h1>503 Service Temporarily Unavailable</h1></center>^M
</body>^M
</html>^M
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/74_HusqvarnaAutomower.pm line 582.
Hat jemand von Euch eine ähnliche Erfahrung gemacht?
Wie kann man am einfachsten FHEM/74_HusqvarnaAutomower.pm robust machen?
Grüße, Bernd
In dem man das json_encode in einem eval auf ruft.
eval { decode_json($json) };
if ($@) {
Log3( $name, 3, " - JSON error while request: $@" );
return;
}
Als Beispiel
Hallo zusammen,
ich hatte das heute auch. Danke für den Hinweis mit Eval, werde ich sofort einbauen.
Update kommt diese Woche noch.
BTW: Vielleicht hat einer von euch noch weitere Verbesserungsvorschläge, dann baue ich die gleich mit ein.
Viele Grüße
Dennis
Hallo Dennis,
ich denke, die Mehrheit hat das Modul hier aus dem Forum installiert und die regulären Updates deaktiviert.
Es wäre also nett, falls noch nicht geschehen, den geänderten Code wieder zu integrieren. Ohne diese Änderung funktionierte das "Start" Kommando nicht.
Ich brauche sonst keine Erweiterungen , der einfache "Start" über Fhem ohne weitere Parameter reicht mir.
In der Husqvarna App gibt es jedoch Features, beim Start weitere Parameter zu setzen. Diese Möglichkeit mag für andere User interessant sein.
Es gab im Forum Diskussionen (Entscheidungen? ), die Batterie Readings zu standardisieren.
Das könntest du, wenn möglich, in deinem Modul auch umsetzen.
Beste Grüße, Helmut
Danke Helmut,
Guter Tip mit den Batteriereadings.
Grüße
Hi CoolTux,
biete mich als Betatester an.
Viele Grüße
R
Zitat von: vitolinker am 02 April 2019, 19:45:50
Hi CoolTux,
biete mich als Betatester an.
Viele Grüße
R
Das ist sehr Lobenswert. Allerdings bist Du da bei mir falsch. Der Modulauthor ist Dennis (Krannich) ;D
Auch gut, trotzdem Beta Tester, wenn gewünscht :P
Hi zusammen,
die neue Version ist nun online im SVN und hier noch einmal im Anhang.
Ich habe alle Änderungen übernommen. Danke für die Arbeit!
Es gibt noch ein weiteres Reading namens: batteryPercent
Dann habe ich noch ein try/catch für decode_json eingebaut, um die lästigen Abstürze der letzten Tage zu verhindern.
Die haben auch bei mir ordentlich für Stimmung gesorgt.
Ich werde hier jetzt auch wieder regelmäßiger lesen
Viele Grüße
Dennis
Zitat von: vitolinker am 02 April 2019, 20:16:26
Auch gut, trotzdem Beta Tester, wenn gewünscht :P
Hi,
dann kannst Du gerne loslegen :-)
Habe gerade die neueste Version hochgeladen.
Viele Grüße
Dennis
Zitat von: krannich am 02 April 2019, 20:17:33
die neue Version ist nun online im SVN und hier noch einmal im Anhang.
Ich habe alle Änderungen übernommen. Danke für die Arbeit!
Es gibt noch ein weiteres Reading namens: batteryPercent
Dann habe ich noch ein try/catch für decode_json eingebaut, um die lästigen Abstürze der letzten Tage zu verhindern.
Die haben auch bei mir ordentlich für Stimmung gesorgt.
Hallo Dennis,
ich hatte die letzten zwei Tage auch die Abstürze immer gegen 15:35 Uhr mit folgender Fehlermeldung:
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/74_HusqvarnaAutomower.pm line 567
Ich habe deine Version hier aus dem Forum installiert und diese anschliessend von den Updates ausgeschlossen.
Ich werde morgen berichten, ob die Abstürze mit deinen Änderungen behoben wurden.
Vielen Dank für die Arbeit und viele Grüße
Andreas
Zitat von: sliderffm am 02 April 2019, 21:32:12
Ich habe deine Version hier aus dem Forum installiert und diese anschliessend von den Updates ausgeschlossen.
Ich werde morgen berichten, ob die Abstürze mit deinen Änderungen behoben wurden.
Ich bin auch gespannt, ob morgen wieder alles abstürzt. Offensichtlich arbeitet Husqvarna gerade an seinen Servern.
Hallo Dennis,
vielen Dank. Werde mal Testen.
VG R.
Achtung, ich habe einige Übersetzungen wieder zurückgesichert, weil ich mit Abfragen darauf reagiere.
Vielleicht vor dem Ersetzen mal einen Diff durchführen und ggf. anpassen.
Werde mal morgen Testen beim Mäheinsatz.
Erster Test vorab positiv.
Musste
cpan -i Try::Tiny
neu installieren.
Modul ist dann neu geladen worden und updates kommen rein.
Mähen war er noch nicht. Ist für morgen terminiert...
Hatte heute ein Absturz von FHEM ausgelöst durch die Zeile 612:
$hash->{HusqvarnaAutomower}->{mower_battery} = $result->{'batteryPercent'};
Log meldet:
2019.04.03 13:05:04 3: - JSON error while request: <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/74_HusqvarnaAutomower.pm line 612.
Sehe auch im Log viele Einträge mit:
Update with device: xxxxxxxx-xxxxxxxx
(ist wohl die Seriennummer oder ID des Mähers)
Das Update komme alle Minute, in der der Status upgedated wird.
Habe wieder auf die Version vorher zurückgerollt
Mähen fiel heute wegen Regens aus.
Vielen Dank und VG
Vielleicht können wir das noch ändern?
Dennis warum verlangst Du von Deinen User das sie unbedingt ein zusätzliches Perl Modul installieren müssen nur im einen einfachen Fehler ab zu fangen
use Try::Tiny;
Wieso verwendest Du nicht ein eval { } wie vorgeschlagen?
Zitat von: CoolTux am 03 April 2019, 18:32:44
Dennis warum verlangst Du von Deinen User das sie unbedingt ein zusätzliches Perl Modul installieren müssen nur im einen einfachen Fehler ab zu fangen
use Try::Tiny;
Wieso verwendest Du nicht ein eval { } wie vorgeschlagen?
Hi,
ich kenne try/catch aus dem PHP-Umfeld und empfand diese als bessere Lösung.
Bei mir ist es installiert, deshalb habe ich das nicht gemerkt.
Aber nur dafür ein Modul zu installieren ist schon blöd.
Wird geändert.
Viele Grüße
Dennis
Zitat von: krannich am 02 April 2019, 21:35:18
Ich bin auch gespannt, ob morgen wieder alles abstürzt. Offensichtlich arbeitet Husqvarna gerade an seinen Servern.
Bei mir hatte ich heute keinen Absturz, läuft seit dem Einspielen wieder stabil. :)
Viele Gruß
Andreas
Zitat von: vitolinker am 03 April 2019, 18:05:24
Hatte heute ein Absturz von FHEM ausgelöst durch die Zeile 612:
$hash->{HusqvarnaAutomower}->{mower_battery} = $result->{'batteryPercent'};
Log meldet:
2019.04.03 13:05:04 3: - JSON error while request: <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/74_HusqvarnaAutomower.pm line 612.
Sehe auch im Log viele Einträge mit:
Update with device: xxxxxxxx-xxxxxxxx
(ist wohl die Seriennummer oder ID des Mähers)
Das Update komme alle Minute, in der der Status upgedated wird.
Habe wieder auf die Version vorher zurückgerollt
Mähen fiel heute wegen Regens aus.
Vielen Dank und VG
Vielleicht können wir das noch ändern?
Hi,
Du scheinst noch die alte Version zu haben. Warum auch immer.
Die minütlichen Meldungen habe ich rausgenommen.
Auch dürfte die Funktion nicht weiter ausgeführt werden, weil sie im Fehlerfall abgebrochen wird.
Heute Abend folgt eine neue Version. Ich lade sie hier, bei GIT und im FHEM SVN hoch.
Viele Grüße
Dennis
Hallo Dennis,
danke für das Update, bin gespannt.
Vielleicht möchtest du auch die Übersetzungen so lassen, wie sie waren, z.B.
NOT_APPLICABLE' => 'undefiniert',
'GOING_HOME' => 'fährt zur Ladestation',
'PARKED_IN_CS' => 'geparkt',
VG Rainer
Hallo zusammen,
hier die neueste Version. Ich habe versucht alle Anmerkungen (auch die Übersetzungen) zu berücksichtigen.
Ein Update ist auch schon in SVN geladen.
Viele Grüße
Dennis
Hallo Dennis,
vielen Dank für dein Neues Modul. Besonderen Dank an die Übersetzungen, die wieder bei uns passen :-) !
Komischerweise bekomme ich beim Hochfahren von FHEM eine Fehlermeldung unter Verbose 5 Level von HTTP Status Code 502 Bad Gateway:
2019.04.04 20:17:47 5 : Automower(s) found
2019.04.04 20:17:47 5 : <html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> </body> </html>
2019.04.04 20:17:47 3 : - JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/74_HusqvarnaAutomower.pm line 511.
Den Authentifizierungstoken hat er wohl wunderbar bezogen.
Zur Zeit habe ich auch große Probleme, über die App auf die Mäher zuzugreifen mit einem Unerwarteten Fehler nach der Passworteingabe. Bei einem falschen Passwort oder Login bekomme ich eine sprechende Fehlermeldung. Hier scheint der Login zu funktionieren, aber dann auch wohl intern es ein Problem mit der Weiterleitung des Request zu geben. Eben Bad Gateway. Kein Kurort, nur nervig.
Hat vielleicht noch jemand gerade diesen Fehler?
Anfrage bei Husqvarna wegen dem App Login Problem läuft.
Hinweise, bei wem das Neue Modul fehlerfrei läuft wären sehr begrüßenswert.
Danke Euch allen schon mal.
VG Rainer
Moin zusammen,
habe heute Abend nach Update des Husqvarna Modules diese FM bekommen:
Not an ARRAY reference at ./FHEM/74_HusqvarnaAutomower.pm line 527.
Danach ist FHEM unbedienbar und zeigt keine Reaktion mehr.
Habe das Modul auskommentiert und FHEM läuft wieder.
Gruß Helmut
Bei mir das selbe. Nix geht mehr. Wie tut man ,,aus kommentieren"? ;)
Wie hast Du das Update gemacht? Die Datei hier aus dem Forum oder richtig FHEM update.
In der Zeile ist in der aktuellen Version nichts mit ARRAY
Zitat von: vitolinker am 04 April 2019, 20:27:39
Komischerweise bekomme ich beim Hochfahren von FHEM eine Fehlermeldung unter Verbose 5 Level von HTTP Status Code 502 Bad Gateway:
2019.04.04 20:17:47 5 : Automower(s) found
2019.04.04 20:17:47 5 : <html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> </body> </html>
2019.04.04 20:17:47 3 : - JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/74_HusqvarnaAutomower.pm line 511.
Hat vielleicht noch jemand gerade diesen Fehler?
Vor ein paar Minuten hatte ich leider auch wieder einen Crash, auch mit der Fehlermeldung, allerdings in der Zeile 612.
Viele Grüße
Andreas
Zitat von: CoolTux am 04 April 2019, 21:32:35
Wie hast Du das Update gemacht? Die Datei hier aus dem Forum oder richtig FHEM update.
In der Zeile ist in der aktuellen Version nichts mit ARRAY
Ich habe soeben die letzte Version hier aus dem Forum installiert und erhalte beim starten folgende Fehlermeldung und FHEM Crasht.
2019.04.04 21:35:27 3: - JSON error while request: <html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body bgcolor="white">
<center><h1>503 Service Temporarily Unavailable</h1></center>
</body>
</html>
Can't use string ("") as an ARRAY ref while "strict refs" in use at ./FHEM/74_HusqvarnaAutomower.pm line 527.
Ich habe wieder die Version vom normalen Update von gestern installiert, damit funktioniert der Start wieder.
Gruß
Andreas
Probiert mal über die App den Mäher zu steuern. Auch die App hat Fehler, die auf 502 - Bad Gateway oder 503 - Service Temporary not available hindeuten können.
Ich habe die Freunde von Husqvarna Wolke in Verdacht...
Zitat von: vitolinker am 04 April 2019, 21:47:57
Probiert mal über die App den Mäher zu steuern. Auch die App hat Fehler, die auf 502 - Bad Gateway oder 503 - Service Temporary not available hindeuten können.
Ich habe die Freunde von Husqvarna Wolke in Verdacht...
Ich konnte mich soeben mit der App erfolgreich anmelden.
Gruß
Andreas
Kannst Du bitte ab Zeile 510 folgendes ändern und testen
my $result = {};
eval { $result = decode_json($data) };
if ($@) {
Log3( $name, 3, " - JSON error while request: $@");
return undef;
}
ändern in
my $result = eval { decode_json($data) };
if ($@) {
Log3( $name, 3, " - JSON error while request: $@");
return;
}
Ja, bei mir geht die App wohl auch wieder, was machen die Module?
Zitat von: CoolTux am 04 April 2019, 21:57:23
Kannst Du bitte ab Zeile 510 folgendes ändern und testen
Mit diesen Änderungen funktioniert der Start wieder.
Gruß
Andreas
Zitat von: sliderffm am 04 April 2019, 22:08:24
Mit diesen Änderungen funktioniert der Start wieder.
Gruß
Andreas
Dann ändere ich das Modul noch einmal schnell.
Hatte bisher keine Fehler mit Bad Gateway und Co.
Hi zusammen,
hier die angepasste Version, bitte testen.
Die Datei ist auch schon im SVN.
Viele Grüße
Dennis
Ja super, die Änderung funzt, Start geht wieder :) mit der Änderung von Cooltux manuell eingepflegt.
Zitat von: choetzu am 04 April 2019, 21:27:25
Bei mir das selbe. Nix geht mehr. Wie tut man ,,aus kommentieren"? ;)
Da FhemWEB nicht mehr erreichbar ist, melde ich mich dazu über putty (o.ä.) an meinem FHEM Server (RasPi) an und editiere mit "nano" (sudo nano fhem.cfg") die fhem.cfg.
Auskommentieren macht man, in dem man in jede Zeile zu Beginnt ein "#" reinschreibt.
Alles quick and dirty, aber hilft erst mal.
Gruß Helmut
Zitat von: vitolinker am 04 April 2019, 22:26:41
Ja super, die Änderung funzt, Start geht wieder :) mit der Änderung von Cooltux manuell eingepflegt.
Ich habe die Updates des Modules wieder auf FHEM "update" umgestellt (weiter oben kam die Frage schon auf).
Mache daher den Update morgen (Ich nehme an ,die Replikation im svn ist erst morgen verfügbar, so wie immer).
Helmut
Info von Husqvarna auf Anfrage wegen gestern (Error HTTP Code 502 - 503):
Serverprobleme, sie arbeiten dran und bitten um Entschuldigung.
Das erklärt einiges.
Modul scheint zu laufen, habe heute das offizielle Modul über update eingespielt, um meine händischen Anpassungen zu überbügeln.
Danke an alle, die hier zum fixen und testen beigetragen haben.
Vorschlag für I-Tüpfelchen-Erweiterung und zukünftiger Fehlerdiagnose:
Bei Verbose 5 scheint es eine Quittung zu geben auf ein Kommando.
Wollen wir vielleicht dieses in einem Reading wie 'CommandStatus' oder 'Kommandostatus' ausgeben?
So sieht man, dass das Kommando akzeptiert wurde, selbst wenn der Mäher noch eine Weile braucht, um heraus zu fahren oder eine Warnmeldung auszugeben, wenn nicht 'OK' zurück kommt?
Beispiel aus dem Log
2019.04.05 16:09:19 5: cmd: START
2019.04.05 16:09:19 5: {"status":"OK","commandId":"xxxxxxxxxxxxxxxxxxxxxxxx","errorCode":null}
Meinung dazu?
Moin zusammen,
Kann ich bestätigen. Die aktuelle Version aus dem regulären FHEM Update läuft bei mir heute einwandfrei, aucH konnte ich kein besonderen Logeinträge finden.
Vielen Dank an alle, die mitgeholfen haben.
Gruß Helmut
Zitat von: vitolinker am 05 April 2019, 16:24:01
Vorschlag für I-Tüpfelchen-Erweiterung und zukünftiger Fehlerdiagnose:
Bei Verbose 5 scheint es eine Quittung zu geben auf ein Kommando.
Wollen wir vielleicht dieses in einem Reading wie 'CommandStatus' oder 'Kommandostatus' ausgeben?
So sieht man, dass das Kommando akzeptiert wurde, selbst wenn der Mäher noch eine Weile braucht, um heraus zu fahren oder eine Warnmeldung auszugeben, wenn nicht 'OK' zurück kommt?
Beispiel aus dem Log
2019.04.05 16:09:19 5: cmd: START
2019.04.05 16:09:19 5: {"status":"OK","commandId":"xxxxxxxxxxxxxxxxxxxxxxxx","errorCode":null}
Meinung dazu?
Hi,
gute Idee, ich bau das mal ein und dann lade ich die Beta hier ins Forum hoch.
Viele Grüße
Dennis
Hallo Dennis,
super, dass du das einbaust.
Bei der Gelegenheit könntest du ggf. das Update Loglevel von 3 auf 4 herab setzen und alle Kommandos, die abgeschickt werden (start, stop, park, update) sowie die Rückmeldunge im Log auf 3 anheben.
So hat man bei Level 3 alles Wichtige im Blick.
Wenn es Fehler gibt in der Kommunikation oder so, würde ich es auf Loglevel 2 anheben.
Was meinst du?
VG Rainer
Hallo zusammen,
ich habe die API noch einmal genauer angeschaut und das Modul entsprechend angepasst, so dass es wieder nur 2 URLs sind.
Darüber hinaus habe ich die Commands noch einmal überarbeitet.
Es stehen nun folgende Funktionen zur Verfügung:
- start3h: Startet sofort für 3 Stunden
- start6h: Startet sofort für 6 Stunden
- start9h: Startet sofort für 9 Stunden
- startTimer: Startet mit dem nächsten Timer
- stop: Stoppt sofort
- park: Parkt bis auf Weiteres
- parkTimer: Parkt und startet mit dem nächsten Timer
Bitte testet mal, ob das alles passt. Mein Automower fährt gerade fleißig durch die Gegend.
Viele Grüße
Dennis
Hallo Dennis,
ich habe die Commands getestet:
Zitat- start3h: Startet sofort für 3 Stunden
Automower wurde gestartet, ob er nach 3 Stunden aufhört, kann ich nicht sagen.
Zitat- start6h: Startet sofort für 6 Stunden
Automower wurde gestartet, ob er nach 6 Stunden aufhört, kann ich nicht sagen.
Zitat- start9h: Startet sofort für 9 Stunden
Automower wurde gestartet, ob er nach 9 Stunden aufhört, kann ich nicht sagen.
Zitat- startTimer: Startet mit dem nächsten Timer
Scheint zu funktionieren, nach ein paar Sekunden wird auf der APP der nächste Starttermin angezeigt, wenn er vorher auf "Parkt bis auf Weiteres" stand.
Morgen ist der nächste Starttermin, er sollte dann entsprechend loslegen.
Zitat- stop: Stoppt sofort
Hat leider bei mir nicht funktioniert, der Automower reagiert nicht auf den Befehl, er mäht weiter.
Zitat- park: Parkt bis auf Weiteres
Funktioniert, er fährt zurück in die Ladestation.
Zitat- parkTimer: Parkt und startet mit dem nächsten Timer
Scheint zu funktionieren, er fährt zurück in die Ladestation und nach ein paar Sekunden wird auf der APP der nächste Starttermin angezeigt.
Viele Grüße
Andreas
Hallo Dennis,
danke für die Arbeit.
Test erfolgt später wegen Nässe.
Mir gefällt das mower_commandStatus :-)
Viele Grüße
Rainer
Nachtrag:
Kleiner Schönheitsfehler bei Update:
2019.04.10 17:38:55 3: cmd: update
2019.04.10 17:38:57 2: {"status":"400","code":null,"title":"Deprecated control path ('../control'). Instead use control subpaths ('../control/{action}'.","detail":null}
Vielleicht auch hier die neue URL verwenden?
Dennis, gerne kannst du mir das Modul per PN schicken, ich mache dann ein Update mit den Loglevels:
2 alle Fehler
3 Kommandos und Rückantworten
4 Update und weitere Diagnoseinfos
Hallo zusammen,
hier die aktuellste Version, habe sie bei mir getestet (Automower ist jetzt wieder einsatzbereit) und auch noch mal die API-Endpunkte bei Husqvarna überprüft: Stop heißt jetzt bei denen Pause, habe somit das Kommando geändert.
Soll es im Modul dann auch Pause heißen?
Die Version lade ich gleich ins SVN.
Viele Grüße
Dennis
Hallo Dennis,
ich würde die Kommandos im Modul so lassen. Das könnte die Anderen, die darauf programmieren verwirren und zu unerwünschten Effekten führen.
Du bekommst demnächst eine Version mit geänderten Loglevels.
Danke dir schon mal und Grüße
Rainer
Hallo Dennis, Alle,
anbei ein Vorschlag mit geänderten Loglevels.
Hier werden Fehler auf Level 2 geloggt, Kommandos mit Antwort auf Level 3, Updates und Diagnosewerte der Kommunikation auf 4 und 5.
Weiterhin habe ich mal die Commandref des Befehls aktualisiert in DE und EN.
Dennis, wenn du damit einverstanden bist, kannst du es ja in SVN einchecken.
VG Rainer
Hi Rainer, alle,
es gibt eine neue Version (siehe Anhang und SVN).
Hab noch ein paar UTF-8 Encoding-Probleme in der Datei gefixt und den Status mower_restrictedReason wieder eingefügt.
Viele Grüße
Dennis
"stop" Command funktioniert bei mir auch nicht.
Sonst top!
Zitat von: krannich am 13 April 2019, 14:07:04
Hi Rainer, alle,
es gibt eine neue Version (siehe Anhang und SVN).
Hab noch ein paar UTF-8 Encoding-Probleme in der Datei gefixt und den Status mower_restrictedReason wieder eingefügt.
Viele Grüße
Dennis
Hallo,
in der angehängten Datei steht
$Id: 74_HusqvarnaAutomower.pm 16888 2019-04-09 21:47:42Z krannich $
Ist das Datum korrekt? Das selbe steht auch in der "alten Datei".
Gruß
Hoffi
Hi,
das ist korrekt, ich habe nur die Versionsnummer aktualisiert.
Viele Grüße
Dennis
Moin zusammen,
habe heute mal wieder ein Update gemacht. Vielen Dank für die Entwicklung!
Ich bekomme folgende Meldung im Log:
{"data":{"id":"c7f95d6e-7967-4ad3-8ca0-f4","type":"token","attributes":{"expires_in":863999,"refresh_token":"af7dd-5311c833c1c9","provider":"husqvarna","user_id":"cffb1e55192f","scope":"iam:read iam:write"}}}
Der String im Original ist noch länger, ich habe den hier mal abgekürzt.
Hat das irgendwas zu sagen?
Gruß Helmut
Da ist bei dir alles in Ordnung.
Durch die Änderungen im Loglevel siehst du jetzt die erfolgreiche Anmeldung in der Cloud.
Danke für die Info!
Geht bei euch das "stoppen"?
--> geht bei mir jetzt auch - keine Ahnung was da war!
Ja funktioniert!
Hi zusammen,
morgen gibt's ein kleines Update, es war noch ein Typo vorhanden.
Nach ausgiebigen Tests funktionieren alle Kommandos einwandfrei.
Die neueste Version ist 0.5.1.
Viele Grüße
Dennis
Hallo Dennis,
gute Arbeit, vielen Dank. Es funktioniert alles.
Wo lag eigentlich der Fehler mit den URLs. Würde mich brennend interessieren!
'verbose 5' lieferte in der frühen Version das komlette Datenpaket. Ist das nicht mehr gewollt oder kannst du das reaktivieren. War sehr hilfreich.
Kannst du bitte noch die Status 'connected' und 'lastErrorCode' als Readings 'mower_connected' bzw. 'mower_lastErrorCode' einbinden? Dann wären die Meldungen komplett. Gäbe dann nur noch 'valueFound', ich weiß aber nicht wozu man das brauchen kann.
Und könnte man noch das Fahrlicht einschalten wäre das der Traum.
Viele Grüße, Günter
Ist es möglich das man das Passwort nicht im Log sehen kann, bei jedem Neustart erscheinen die Login Daten im Log, ich habe Verbose schon auf Null gestellt und es wird immer nich angezeigt.
Hallo, bin jetzt auch Besitzer eines 430x.
Hat schon jemand was mit nem Regen oder Windsensor gebastelt?
Ich habe mir gedacht das mein Mower erst mal parkt wenn es Regnet oder stark Stürmt bis es aufgehört hat.
Wer weiß was dann alles auf dem Rasen landet:).
Dazu müsste man wahrscheinlich die Timer ändern können oder weiß jemand was passiert wenn der Timmer z.B. in einer halben Stunde endet und der Mower eigentlich Parkt, ich dann aber per set Befehl sage das er für 3 Stunden mähen soll?
Ich denke der Timer hat Vorrang oder?
Ich habe einmal einen Test gemacht, sobald der Regensensor Regen gemeldet hat wurde der Automower geparkt. In der App steht dann geparkt bis auf weiteres, sobald der Regensnsor trocken meldet fährt der Automower wieder raus.
Ja,das hab ich mir schon gedacht.
Was ist aber wenn der Mäher zum Beispiel um 7:00 - 12 mähen soll,und es Regnet um 7:30 - 11:30. Dann mäht er ja nur eine Stunde. Die Regenzeit müsste dann ausradiert werden. Es koönnte ja sein das es wochenlang so ist.
Das wird nicht gehen, aber so kann man den Automower zumindest wenn es stärker Regnet parken lassen wenn man nicht zuhause ist und gar nicht mitbekommt das es regnet.
Zitat von: elmer am 22 April 2019, 11:19:52
Ich habe einmal einen Test gemacht, sobald der Regensensor Regen gemeldet hat wurde der Automower geparkt. In der App steht dann geparkt bis auf weiteres, sobald der Regensnsor trocken meldet fährt der Automower wieder raus.
Wie hast du das gemacht? Wie sieht dein code aus? Fährt er dann auch raus wenn es nicht in der Timer Zeit ist oder erst zum nächsten Timer?
Rausgefahren ist er immer zur nächsten Timer Zeit.
([?myMower:mower_activity] eq "mäht" and [HM_34C809_Rain] eq "rain" and [netatmo_M05_00_00_04_d8_5e:rain] > 0.1) (set myMower park) DOELSEIF ([?myMower:mower_activity] eq "geparkt" and [HM_34C809_Rain] eq "dry") (set myMower startTimer)
Hallo Zusammen,
hat noch jemand heute Probleme mit timeouts gehabt?
2019.05.06 10:09:04 2: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/17xxxxx91-163xxxxx1/status - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
Kam minütlich, weil ich alle Minute den Status abfrage.
Weiterhin sehe ich beim Update im Log folgende Meldung:
2019.05.06 19:39:45 3: myMower: set called with update
2019.05.06 19:39:45 3: myMower: set update
2019.05.06 19:39:45 3: {"status":"400","code":null,"title":"Deprecated control path ('../control'). Instead use control subpaths ('../control/{action}'.","detail":null}
Ist das Verhalten bei jemanden von Euch reproduzierbar?
Moin,
Nichts im Log der gleichen.
Hallo,
kann ich mit diesem Skript auslesen, ob der Mäher im Mähmodus ist? Man könnte ja so eine Passagenschaltung mit einem RPI machen. Wenn er im Mähmodus ist, ist die Schleife geschlossen und er kann nicht in die Passage hinein.
LG
Cyrus
Hallo,
anders herum wird ein Schuh draus. Wenn die Schleife nicht geschlossen ist, dann mäht er nicht und gibt einen Schleifenfehler aus.
Die Readings geben ein "mäht" aus, wenn der Mower am mähen ist. Da kann dann alles Mögliche mit dieser Information angestellt werden in FHEM.
VG
Zitat von: cyrusfd am 14 Mai 2019, 11:22:40
Hallo,
kann ich mit diesem Skript auslesen, ob der Mäher im Mähmodus ist? Man könnte ja so eine Passagenschaltung mit einem RPI machen. Wenn er im Mähmodus ist, ist die Schleife geschlossen und er kann nicht in die Passage hinein.
LG
Cyrus
Ja, kann man. Hab ich so bei mir seit einer Woche laufen.
Ich frage das Reading "mower_activity" ab. Die Passage ist bei mir nur geöffnet, wenn der Mäher die Ladestation verlässt oder auf dem Weg zur Ladestation ist. Das Ganze noch in Kombination mit einer Abfrage, ob jemand zuhause ist, um zu verhindern, dass der bei Abwesenheit vor dem Haus mäht. Funktioniert hervorragend.
ZitatWenn die Schleife nicht geschlossen ist, dann mäht er nicht und gibt einen Schleifenfehler aus.
Bei einer Passagenschaltung bleibt die Schleife des Begrenzungskabels natürlich in sich geschlossen. Es wird lediglich mittels eines "Bypasses" des Begrenzungskabels und meist einer Relaisschaltung eine Passage soweit verengt, dass der Mäher sie in bestimmten Situationen nicht mehr befährt. Beispielsweise um bestimmte Bereiche vorübergehend vom Mähen auszuschließen oder zu verhindern, dass der Mäher sich in der Passage "verheddert".
Oli
hallo Oli,
Zitat von: OliS. am 15 Mai 2019, 06:30:08
Bei einer Passagenschaltung bleibt die Schleife des Begrenzungskabels natürlich in sich geschlossen. Es wird lediglich mittels eines "Bypasses" des Begrenzungskabels und meist einer Relaisschaltung eine Passage soweit verengt, dass der Mäher sie in bestimmten Situationen nicht mehr befährt. Beispielsweise um bestimmte Bereiche vorübergehend vom Mähen auszuschließen oder zu verhindern, dass der Mäher sich in der Passage "verheddert".
Oli
ich habe mich mit der Schleife natürlich falsch ausgedrückt. Die Schleife soll auch bei mir immer geschlossen sein. Ich möchte in Anlehnung der bereits im Internet zu findenden Passagenschaltung eine zusätzliche Schleife, die die Passage blockiert und die mit einem Relais hinzugeschalten wird, schalten.
Hast du das auch so gemacht? In welchen Abständen fragst du die Readings ab? Er sollte ja nicht schalten, wenn der Mäher bereits in der Passage ist ;-)
LG
Cyrus
Hallo Cyrus,
Zitatich habe mich mit der Schleife natürlich falsch ausgedrückt.
Das war auch gar nicht an Dich gerichtet. Ich hatte schon verstanden, was Du meinst.
Das Abfrageintervall meines Mähers habe ich auf 60 Sekunden gestellt. Ich verspreche mir davon, nachts schnell darauf reagieren zu können, wenn der Mäher vom Grundstück getragen wird.
In Bezug auf die Passagenschaltung habe ich es so gelöst, dass die Passage standardmäßig geschlossen ist. Nur wenn der Mäher die Ladestation verlässt oder auf dem Weg zur Ladestation ist UND jemand zuhause ist (Presence), wird die Passage für 5 Minuten (on-for-timer) geöffnet. Während des Mähens ist die Passage dann geschlossen, sodass der Mäher dort nicht zufällig hineinfahren kann.
Hardwaremäßig habe ich das mit einer Relaiskarte und einem Homematic 8-Kanal Empfangsmodul gelöst. Die restlichen Kanäle schalten die Gartenbeleuchtung und die Bewässerungventile.
Oli
Danke Oli!
Dein Ansatz gefällt mir auch gut. Ich hatte nämlich vor die Abfrage auf 15 Sek zu stellen und standardmäßig die Passage offen zu halten und sie nur zu schließen, wenn der Mäher im Mähmodus ist. So wäre zumindest gesichert, dass bei einem Ausfall (zB Cloud kann nicht abgerufen werden) der Mäher nicht in der Passage eingesperrt wird.
LG
Cyrus
Ich hoffe, das wird hier nicht zu sehr OT.
Dadurch, dass der Mäher ja erst in den Status "mähen" wechselt, wenn er an einem seiner Fernstartpunkte angekommen ist, kann er nicht in der Passage eingeschlossen werden. Beim Verlassen der Ladestation befindet er sich im Status "verlässt Ladestation". Dieser Zustand triggert ein DOIF, welches die Passage öffnet. Er fährt dann entweder den ersten Fernstartpunkt VOR der Passage oder den zweiten Fernstartpunkt NACH der Passage an und fängt an zu mähen. Dann wechselt er in den Status "mäht". Dadurch wird die Passage geschlossen. Der Zustand "fährt zur Ladestation" öffnet die Passage wieder, bis der Mäher in den Zustand "lädt" wechselt. Ein Einsperren in der Passage ist damit theoretisch ausgeschlossen.
([shaun:mower_activity] eq "verlässt Ladestation" and [Homestatus] eq "anwesend")
(set shaun_schleuse on-for-timer 300)
DOELSEIF
([shaun:mower_activity] eq "verlässt Ladestation" and [Homestatus] eq "gesichert")
(set shaun_schleuse on-for-timer 300)
DOELSEIF
([shaun:mower_activity] eq "fährt zur Ladestation")
(set shaun_schleuse on-for-timer 600)
DOELSE
(set shaun_schleuse gesperrt)
Oli
Ist es möglich bei mower_activity noch Außerhalb des Arbeitsbereich mit aufzunehmen. Mein Automower war gerade außerhalb vom Mähbereich und das Modul hat mäht gemeldet, von der App kam die Benachrichtigung das er außerhalb ist.
Schaue mal im Modul selbst bei der Übersetzung nach, da ist es meines Wissens aufgeführt.
Habe selbst den Status schon mal gesehen, die Cloud muss ihn aber auch liefern.
Kann im Code nichts dergleichen finden, was mich gewundert hat das mower_activity mäht gemeldet hat aber mower_state war FATAL_ERROR.
Dann habe ich es wohl in der App gesehen.
Ich möchte mir auch einen Husqvarna zulegen.
Es kommt entweder der automower 105, 310 oder 315 in Frage.
Kann mir jemand sagen ob die sich alle in Fhem einbinden könnte?
Und was lässt sich damit alles steuern?
Danke und Gruß
Kalle
Hallo Kalle,
Ich denke, nur die "x" Modelle lassen sich in FHEM integrieren.
Das Modul nutzt die Husqvarna Server und daher muss der AutoMower mit einer SIM Karte ausgerüstet sein.
Gruß Helmut
Hi Helmut.
Okay Danke für die Antwort.
Der günstigste ist denn der 315x mit 1800€. Ich denke ich schaue mir noch mal andere Alternativen an.
VG
Kalle
Alternativ baut man ein Robonect Modul (WLAN) ein, ist einfach.
Ich habe 315x und bin sehr zufrieden!!! Absolut empfehlenswert.
Lg c
Bis auf die Lautstärke kann ich den 315x auch empfehlen.
Oli
Gibt es eigentlich eine Empfehlung oder Vorschrift von Husqvarna wie oft pro Zeiteinheit die Husqvarna-Cloud kontaktiert werden darf?
Der Default im Modul von 300 sek. ist m.E. recht hoch für einige Aufgaben - manche User haben das Abfrageintervall wohl auf 10 sek. gesetzt, das erscheint mir doch sehr niedrig...
Btw. ich besitze auch seit Ostern einen 315X und bin sehr zufrieden (gerade in Verbindung mit FHEM). Die hier im Thread geäußerten Beschwerden über die Lautstärke kann ich nicht nachvollziehen, erst recht nicht im Vergleich mit anderen Modellen von Husqvarna von Nachbarn/Freunden.
In der Automower-App gibt es einen Park-Timer für 3, 6 oder 12h.
Besteht die Möglichkeit, dies auch im FHEM-Modul einzupflegen?
Zitat von: jfi1310 am 02 Juni 2019, 20:03:37
In der Automower-App gibt es einen Park-Timer für 3, 6 oder 12h.
Besteht die Möglichkeit, dies auch im FHEM-Modul einzupflegen?
ja
Gibt es irgendeine Möglichkeiten das Husqvarna-Modul temporär ohne Auskommentierung zu deaktivieren? Ein Disable wird ja mE vom Modul nicht zur Verfügung gestellt.
Was verstehst Du unter deaktivieren? Das keine Datenverbindung mehr aufgebaut und Readings aktuallisiert werden? Wenn ja dann geht das nur über disable Implementierung
ja, das meinte ich.
Vielleicht könnte der Autor des Programms liebenswürdigerweise dies noch implementieren @krannich ;-)
Der Author scheint schon etwas länger ausgeflogen zu sein. Eventuell Urlaub. Nur so zur Info.
Zunächst mal: Echt tolles Modul, vielen Dank dafür!
Im Moment kämpfe ich leider mit einem kleinen Problem: Ich habe nun zwei Mower und versuche über das Attribut "mower" den zweiten Mower anzusprechen. Ich habe schon 0, 1 und 2 oder die Seriennummer versucht, aber die Readings sind immer vom ersten Mower. Hat jemand eventuell zwei Mower und/oder eine Idee woran es liegen könnte?
Du musst die Namen verwenden, die du den beiden Mower geben hast. Es gibt auch "device specific help", wo du einiges findest.
Zitat von: cyrusfd am 05 Juni 2019, 08:44:05
ja, das meinte ich.
Vielleicht könnte der Autor des Programms liebenswürdigerweise dies noch implementieren @krannich ;-)
Hi,
ehrlich gesagt, habe ich noch keinen Plan, wie man so eine Disable-Funktion in das Modul bauen kann. Ich dachte, das hätte ich schon implementiert.
Hat jemand einen Tipp?
Viele Grüße
Dennis
Es gibt die interne FHEM Funktion IsDisabled()
Die Funktion prüft den state auf activ/inactive und/oder das Attribute disable auf 0/1
https://wiki.fhem.de/wiki/DevelopmentModuleAPI#IsDisabled
Zitat von: cyrusfd am 05 Juni 2019, 14:15:00
Du musst die Namen verwenden, die du den beiden Mower geben hast. Es gibt auch "device specific help", wo du einiges findest.
Danke für die schnelle Antwort! In der "device specific help" steht "mower - ID of Automower, if more that one is registered. Default: 0", daher hatte ich 0,1,2 verwendet. Leider klappt es mit dem Namen auch nicht :/.
in meinem Log finde ich folgende Meldung.
2019.06.05 21:53:00 3: myMower - set interval: 1800
2019.06.05 21:53:00 3: myMower: set called with update
2019.06.05 21:53:00 3: myMower: set update
2019.06.05 21:53:00 3: {"status":"400","code":null,"title":"Deprecated control path ('../control'). Instead use control subpaths ('../control/{action}'.","detail":null}
Vitolinker hat scheinbar auch schon diese Meldung erhalten.
Weiß jemand was das ist?
Da scheint bald ein path abgeschaltet zu werden. Müsste man bei Gelegenheit anpassen.
gehe ich richtig in der Annahme, dass dies im Modul geändert werden muss und kein Fehler meinerseits ist?
Würde ich so unterstreichen.
Zitat von: jop am 05 Juni 2019, 15:49:17
Danke für die schnelle Antwort! In der "device specific help" steht "mower - ID of Automower, if more that one is registered. Default: 0", daher hatte ich 0,1,2 verwendet. Leider klappt es mit dem Namen auch nicht :/.
Problem "gelöst". Falls Jemand die gleichen Schwierigkeiten haben sollte: die Mower-ID ist tatsächlich 0, 1, 2, ... wobei 1 dann der zweite Mower ist. Bei mir hat geholfen username und password zu löschen und die Verbindung dann durch erneutes Anlegen wieder herzustellen. (set update, das Attribut interval oder einfach länger warten hatten zuvor nichts gebracht)
Zitat von: jop am 06 Juni 2019, 16:30:11
Problem "gelöst". Falls Jemand die gleichen Schwierigkeiten haben sollte: die Mower-ID ist tatsächlich 0, 1, 2, ... wobei 1 dann der zweite Mower ist. Bei mir hat geholfen username und password zu löschen und die Verbindung dann durch erneutes Anlegen wieder herzustellen. (set update, das Attribut interval oder einfach länger warten hatten zuvor nichts gebracht)
Hi,
Danke für den Hinweis. Da ich leider nur einen Mower habe, blieb dies bisher graue Theorie.
Viele Grüße
Dennis
Zitat von: cyrusfd am 06 Juni 2019, 07:34:44
in meinem Log finde ich folgende Meldung.
2019.06.05 21:53:00 3: myMower - set interval: 1800
2019.06.05 21:53:00 3: myMower: set called with update
2019.06.05 21:53:00 3: myMower: set update
2019.06.05 21:53:00 3: {"status":"400","code":null,"title":"Deprecated control path ('../control'). Instead use control subpaths ('../control/{action}'.","detail":null}
Vitolinker hat scheinbar auch schon diese Meldung erhalten.
Weiß jemand was das ist?
Hi,
hast Du wirklich die neueste Version?
Und wenn ja, welches Kommando wolltest Du ausführen.
Viele Grüße
Dennis
ich denke schon, dass ich die Neueste habe (04/19).
Ich habe folgendes ausgeführt
{if (Value ("pause") eq"off") {fhem("attr myMower interval 1800;set myMower update" )}}
Hallo zusammen,
leider ist in dem Modul bei mir das Passwort in Klartext gespeichert.
Gibt es hier Bestrebungen dies zu verschlüsseln? Bei anderen Modulen (z.B. Fritzbox) ist dies glaube ich auch verschlüsselt abgelegt.
Ansonsten funktioniert das Modul echt klasse.
Ich kämpfe noch ein bisschen mit dem HomebridgeMapping, aber es läuft schon recht stabil.
Vielen Dank.
Ich habe ebenso das Modul im Einsatz. Danke dafür - läuft perfekt.
Leider bin ich hinsichtlich fhem nicht so fit, bringe folgendes nicht hin und möchte einfach mal nachfrgen ...
Man kann im Modul mit set park, parktimer, ... setzen und der Mower macht.
Kann man das auch per http anstossen?
Also z.B. http://raspberry:8083/fhem?cmd.mymower set park
Es funktioniert nicht, darum die Frage ob das überhaupt geht oder ob ich nur einen "Bedienfehler" mache.
Hallo Thomas,
probiere es mal in der Form:
http://192.168.1.1:8085/fhem?cmd=set%20Lampe%20off
URLs mögen keine Leerzeichen, die werden URL-konform mit %20 übergeben.
Es kann auch sein, dass die Berechtigung mit Authentifizierung ein Thema darstellt. Es sollte aber eine entsprechende Fehlermeldung geben.
VG
Alles mit .../fhem?cmd= endet in Error 400. 400 wäre fehlerhafte Anfrage?
mit .../fhem?cmd%20 kommt kein Fehler, sondern fhem öffnet sich, der Ausgang wird aber nicht gesettet.
Keine Ahnung wieso, in jeder Beschreibung steht /fhem?cmd=set%20irgendwas%20off
Konkret nennt sich ein device bei mir "Pin12".
Der befehl ist z.B. "set Pin12 off"
demnach müsste das von http aus ... http://192.168.0.119:8083/fhem?cmd=set%20Pin12%20off sein. Das geht aber nicht
Die Lösung dafür ist wohl hier zu finden:
https://forum.fhem.de/index.php?topic=69365.0 (https://forum.fhem.de/index.php?topic=69365.0)
Es ist wohl das CSRF Token dran schuld. Lösungen sind im Eintrag und in der Wiki beschrieben.
Nach etwas eigenregie bin ich auch grad drauf gekommen.
Token aus und es geht.
Ob das schlau ist die Token-Geschichte abzuschalten weiß ich nicht. Jedenfalls ist mein raspberry von außen nur per vpn erreichbar ist.
Hi,
habe nach über 10 Jahren Automower 230AX jetzt auf einen 430X mit eingebautem Connect-Modul upgegradet, was mir jetzt auch die Verwendung dieses wunderbaren Automower Moduls für FHEM erlaubt.
@krannich: Vielen Dank für dieses tolle Modul, hat auf Anhieb funktioniert!
Ich bin dabei ein Log zu erstellen, das nur die wirklich von mir benötigten Daten aufzeichnet und bin dabei auf folgendes Problem gestoßen:
Auf Basis der im FHEM angezeigten "Readings" (siehe Anhang) habe ich die nachstehende Zeile in der fhem.cfg hinzugefügt.
define FileLog_Henry FileLog ./log/Henry-%Y.log Henry:batteryPercent:.*|Henry:mower_activity:.*| Henry:mower_state:.*|Henry:state:.*
Bis auf den Wert "state" (Status der Verbindung zur Husqvarna Cloud), der ja in diesem Fall "connected" ausgeben sollte, funktionieren die Werteabfragen. Beim "state" gibt es aber scheinbar keine Wertebezeichnung "state", wie in der obigen Tabelle angezeigt wird, und daher auch keinen Rückgabewert zu obiger Abfrage:
Ergebnis:
2019-08-09_15:50:48 Henry batteryPercent: 45
2019-08-09_15:50:48 Henry mower_activity: mäht
2019-08-09_15:50:48 Henry mower_state: aktiv
Bei einem ungefilterten Log wird der Status der Verbindung zur Husqvarna Cloud wie folgt angezeigt, also ohne Wertebezeichnung:
2019-08-09_17:08:13 Henry authenticated
2019-08-09_17:08:13 Henry connected
2019-08-09_17:08:13 Henry mower_name: Henry
2019-08-09_17:08:13 Henry batteryPercent: 18
2019-08-09_17:08:13 Henry mower_activity: CHARGING
2019-08-09_17:08:13 Henry mower_state: IN_OPERATION
Wie kann ich diesen Wert herausfiltern, damit er auch in meinem gefilterten Log eingetragen werden kann? Kann mir jemand dabei helfen?
Hallo grntbn,
wie wäre es mit dieser Logdefinition?
define FileLog_Henry FileLog ./log/Henry-%Y.log Henry:batteryPercent:.*|Henry:mower_activity:.*| Henry:mower_state:.*|Henry:state:.*
zu ändern in
define FileLog_Henry FileLog ./log/Henry-%Y.log Henry:batteryPercent:.*|Henry:mower_activity:.*| Henry:mower_state:.*|Henry:.*connected.*
VG
Hallo vitolinker,
danke für Deinen Vorschlag, das ist aber leider nicht was ich suche. Nach "connect" zu suchen macht aus meiner Sicht keinen Sinn.
Ich brauche für mein gefiltertes Log den Verbindungsstatus zur Husqvarna Cloud, im Reading des Automowers als "state" bezeichnet. Bei einer aufrechten Verbindung wird dieser mit dem Wert "connected" angezeigt. Wenn keine aufrechte Verbindung besteht, wird dort einer der weiter unten angeführten Werte stehen.
Also brauche ich die Wertebezeichnug/ den Variablennamen (wie auch immer man das nennt) der Verbindung um den jeweiligen Zustand loggen und danach auswerten zu können.
Im Code des Moduls "74_HusqvarnaAutomower.pm" selbst habe ich inzwischen folgende Zustände für den Verbindungsstatus gefunden:
initialized => initialisiert
authenticated => authentifiziert
disabled => deaktiviert
connected => verbunden
Bei meinen Versuchen habe ich auch noch Folgendes festgestellt:
Mit dem nachstehenden Eintrag in der fhem.cfg
define FileLog_Henry_Test FileLog ./log/Henry_Test-%Y.log Henry:state:.*|Henry:version:.*|Henry:provider:.*| Henry:token:.*|Henry:user_id:.*|Henry:expires:.*
erhalte ich folgende Logeinträge
Filter für Log Ergebnis im Log
-----------------------------------------
Henry:state:.* Nein
Henry:version:.* Nein
Henry:provider:.* Ja
Henry:token:.* Ja
Henry:user_id:.* Ja
Henry:expires:.* Ja
Auch eine Ergänzung der einzelnen Wertebenennungen im Logfilter von z.B. "Henry:state:.*" auf "Henry: HusqvarnaAutomower_state:.*", wie im Modulcode teilweise verwendet, hat zu keinem Ergebnis geführt.
Leider reichen meine Kenntnisse nicht aus um aus dem Modulcode die richtige Bezeichnung für den Verbindungsstatus herauslesen zu können. Kann mir bitte jemand dabei helfen?
Bei mir läuft das Modul manchmal in einen Error rein, wenn ich dem Mäher Befehle sende.
Konkret hab ich mir den Spass erlaubt, dass bei geöffneter Terrassentür, der Mäher stehen bleiben soll.
Funktioniert auch wunderbar.
Aber manchmal bleibt das Modul stehen "Error". Manchmal nach dem 2ten mal, manchmal erst nach dem gefühlten 100sten Mal.
Ich habe noch kein System erkannt, wann sich das Verhalten zeigt.
Ist es möglich, dass das etwas damit zu tun hat, dass er zufällig meinen Befehl zeitgleich sendet, während er gerade versucht die Daten von der cloud zu holen? Bzw. was müsste man ändern, damit man das verhindert?
Jetzt habe ich ca. 100mal versucht das zu provozieren, aber ich bringe keinen error zusammen.
Dann versuche ich es einfach ein einziges mal und error.
Ich selbst kann aus dem Logfile nicht interpretieren, was da genau vorsich geht. Zumindest sehe ich einen time-out, aber ich verstehe auch anhand vom modul-quellcode nicht von wo dieser kommt.
Kann nur aus dem code rausinterpretieren, dass es nichts zur Verhinderung vom gleichzeitigen Befehl-senden und Status-empfangen mit Intervall gibt.
Wie kann man z.B. unmittelbar vorm Senden eines Befehles das Intervall automatisch neu setzen? Dann würde erst wieder nach Ablauf des Intervalls abgefragt und es wäre der Weg immer frei um Befehl senden.
Logfile:
Fragen über Fragen ...
Quellcode vom Modul:
HttpUtils_NonblockingGet({
url => APIURL . "mowers/". $mower_id . "/control/" . $cmdURL,
timeout => 5,
hash => $hash,
method => "POST",
header => $header,
data => $json,
callback => \&HusqvarnaAutomower_CMDResponse,
});
}
Ich verstehe bei der Verwendung von "HttpUtils_NonblockingGet" den timeout-Parameter nicht.
Bei HttpUtils_BlockingGet benötigt man das timeout. Aber was bewirkt es bei NONblockingGet?
Laut dem hier gibt es den Parameter nicht.
https://wiki.fhem.de/wiki/HttpUtils#HttpUtils_NonblockingGet
Entsteht dadurch genau mein Problem? Ich sende einen Befehl, das Modul ist aber gerade beschäftigt Daten von der cloud zu holen.
Das dauert länger als die 5 Sekunden und error.
PS: Ohne dass ich es besser weiß ...
ich habe die timeouts von 5 auf 10 sekunden rauf und probiert. einmal kam der error noch. dann einfach auf 15 und jetzt bringe ich den error nicht mehr zusammen.
Scheinbar dauert die Rückmeldung unter Umständen länger als 5 Sekunden.
Und durch ständiges senden von befehle dürfte mich fhusqvarna für Zeit X aus der cloud ausgesperrt haben ;)
update: Mit dem timeout hat es bisher geklappt.
update PS: Es ist der mäher selbst, der die Befehle abgeblockt hat. Er hat sich getrennt und verlangt somit vor Ort zu gehen und mit bluetooth zu verbinden, dann funktioniert wieder alles.
Falls es interessiert ... Eine Feststellung:
Wenn der 435x AWD in einer Art Tiefschlaf ist, reagiert er nicht auf den Befehl "stop".
Weiss nicht, ob das ein 435X Spezifikum ist oder ob das generell so ist.
Ich gebe deshalb den Befehl "stop" (bei geöffneter Terrassentür) nur dann wenn der Mäher nicht im Tiefschlaf ist, er also entweder mäht ODER die Ladestation verlässt ODER zur Ladestation fährt.
Mit dem und die parallele Änderung vom timeout habe ich kein Problem mehr.
Leider bringe ich das Module nicht zum laufen.
Wenn ich Fhem starte, steht unter "Readings" state = initialized.
Wenn ich dann "set myMower update" aufrufen, dann kommt folgendes:
"Readings" state = disconnected
und im Log steht:
2019.09.08 13:51:24 3: myMower: set called with update
2019.09.08 13:51:24 3: myMower: set update
2019.09.08 13:51:24 2: LOGIN TOKEN MISSING OR EXPIRED
Ich habe schon einmal alles deinstalliert und neu installiert, ohne Erfolg.
Hat jemand ein Tipp?
Kommen denn überhaupt Daten an - also nach dem ersten Start vom Modul?
An der Stelle weiß ich nicht, ob du überhaupt login, Passwort, ... gesetzt hast - also ob das Modul überhaupt in der Lage ist, sich mit husqvarna zu verbinden und Daten zu holen.
Denn wenn das Modul funktioniert, sollte unter "readings" state = connected stehen und nicht nur initialized. Und connecten kann sich das Modul nur, wenn es Benutzername und Kennwort kennt. Vielleicht vertippt?
Hallo,
ich würde gern den Status abfragen:
Meine Bewegungsmelder sollen nur reagieren/schalten, wenn der Rasenmäher gerade nicht aktiv ist. Außerdem soll man per FHEM den Mäher in die Ladestation schicken können.
Zum Testen habe ich mir ein einfaches Szenario aufgebaut:
define myMower HusqvarnaAutomower
attr myMower username xxx
attr myMower password yyy
attr myMower room Test
attr myMower group Husqvarna
define stopMower dummy
attr stopMower fm_type onbutton
attr stopMower room Test
attr stopMower webCmd on
define chkMowerStop notify stopMower:on {\
fhem "set myMower start3h 1";;\
fhem "set stopMower off";;\
}
(natürlich kommt später ein set myMower parkTimer 1 anstatt des start3h.)
Nach dem start3h 1 habe ich mir die Statusübersicht in FHEM angesehen. Da sieht nichts danach aus, was mir anzeigt, dass der Mäher unterwegs ist:
Readings
batteryPercent 100 2019-09-24 21:27:55
expires 2019-10-04 21:27:01 2019-09-24 21:27:02
mower_activity geparkt 2019-09-24 21:27:55
mower_battery 100% 2019-09-24 21:27:55
mower_commandStatus OK 2019-09-24 21:27:55
mower_cuttingMode Hauptbereich 2019-09-24 21:27:55
mower_mode automatisch 2019-09-24 21:27:55
mower_nextStart Morgen um 10:00 2019-09-24 21:27:55
mower_nextStartSource COUNTDOWN_TIMER 2019-09-24 21:27:55
mower_restrictedReason PARK_OVERRIDE 2019-09-24 21:27:55
mower_state inaktiv 2019-09-24 21:27:55
state connected 2019-09-24 21:27:02
Auch ein set myMower update 1 hat nichts an der Anzeige geändert.
Immerhin funktioniert set myMower start3h 1 und set myMower parkTimer 1.
Aber wie kann ich den Status ermitteln?
Ich brauche mal Eure Hilfe.
Habe gerade ein Winterangebot für einen nagelneuen Automower 430x.
Das soll das 2017er Modell sein. Antwort auf meine Frage: inkl. Autoconnect Modul und GPS.
Im Netz finde ich Informationen, dass Autoconnect erst ab dem 2018 Modell serienmäßig drin war.
Wisst Ihr da was?
Was benötige ich für die Einbindung in FHEM und worauf muss ich achten?
So, eben in Betrieb genommen und die Readings kommen.
Nun lädt er gerade (53%) und wenn ich ihn versuche für 3 h zu starten macht er nichts.
Was mache ich falsch?
So schaut es im Eventmonitor aus:
2020-03-21 15:14:32 HusqvarnaAutomower au_otto start3h
2020-03-21 15:14:32 HusqvarnaAutomower au_otto mower_commandStatus: OK
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_battery: 57%
2020-03-21 15:18:01 HusqvarnaAutomower au_otto batteryPercent: 57
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_activity: lädt
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_state: aktiv
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_mode: automatisch
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_nextStart: Heute um 15:55
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_nextStartSource: Automower lädt
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_restrictedReason: undefiniert
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_cuttingMode: Hauptbereich
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_lastLatitude: 51.9749966666667
2020-03-21 15:18:01 HusqvarnaAutomower au_otto mower_lastLongitude: 8.75282
Du machst gar nichts falsch. Dolly grast erst, wenn sie 100% geladen ist :)
Vielen Dank!
Das war es!
Liegt das nun am Modul?
Ich hatte das Problem, dass der Akku leider trotz längerem Verbleib in der Ladestation auf 99% stand. Damit kann ich Otto dann nicht losschicken.
Wenn es am FHEM-Modul liegt: besteht die Möglichkeit über ein Attribut die Min-Ladung für Aktionen einzubauen?
Meines Wissens liegt es nicht an FHEM, auch per App startet er erst bei vollem Akku.
VG
Im Moment habe ich alle paar Minuten folgende Meldung:
2020.03.24 10:09:24 2: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/140601610-151100270/control/park - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
Ich sende alle 10min ein Befehl, also 6 pro Stunde.
Das Modul hat dann ein Error und ich muss neu starten. Bin ich der Einzige? Hat jemand eine Lösung. Gibt es Beschränkungen im API?
Zitat von: blaess am 24 März 2020, 10:45:54
Im Moment habe ich alle paar Minuten folgende Meldung:
2020.03.24 10:09:24 2: error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/140601610-151100270/control/park - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
Ich sende alle 10min ein Befehl, also 6 pro Stunde.
Das Modul hat dann ein Error und ich muss neu starten. Bin ich der Einzige? Hat jemand eine Lösung. Gibt es Beschränkungen im API?
Hallo. Ich habe sporadisch das gleiche Problem. Der Mower ist noch nicht viel gelaufen, bisher erst 3x aufgetreten.
Aber ich vermute auch, dass zuviele Anfragen in einer Zeitspanne zum error führen.
Bei mir heisst der Fehler:
error while requesting https://amc-api.dss.husqvarnagroup.net/app/v1/mowers/yyyyy-xxxxx/control/start/override/period - read from https://amc-api.dss.husqvarnagroup.net:443 timed out
Ich sende alle 300s einen Update. ggf kam der im zu engen Zeitfenster?
Frage in die Runde: wie kann man den error zurücksetzen und einen Neustart verhindern, so dass neuer Token, expires etc gesetzt werden?
Ja, genau das Problem mit den Timeouts habe ich auch beobachtet.
Habe versuchsweise im Modul 74_HusqvarnaAutomower.pm den Timeout von 5 Sekunden auf 9 Sekunden gändert (kommt mehrmals vor) und dann das Modul neu geladen.
Vielleicht hilft es ja, die sporadischen Timeouts zu beheben.
HttpUtils_NonblockingGet({
url => APIURL . "mowers/". $mower_id . "/control/" . $cmdURL,
timeout => 9,
hash => $hash,
method => "POST",
header => $header,
Zitat von: vitolinker am 28 März 2020, 09:54:58
Habe versuchsweise im Modul 74_HusqvarnaAutomower.pm den Timeout von 5 Sekunden auf 9 Sekunden gändert (kommt mehrmals vor) und dann das Modul neu geladen.
Vielleicht hilft es ja, die sporadischen Timeouts zu beheben.
HttpUtils_NonblockingGet({
url => APIURL . "mowers/". $mower_id . "/control/" . $cmdURL,
timeout => 9,
hash => $hash,
method => "POST",
header => $header,
Berichte bitte ob es besser wird.
Kann man das Modul neu laden ohne Neustart? Dann könnte man ja auf den error reagieren als workaround...
Gesendet von iPhone mit Tapatalk
Hi,
ich gestatte mir an dieser Stelle mal eine Frage zu stellen:
Da ich Homatic-Nutzer bin und gerade eine automower 315X in Betrieb genommen habe, würde mich natürlich interessierne, ob man das Modul auch auf eine CCU3 portieren kann?
So wie ich das im Moment beobachte, schlägt der Timeout an, wenn der Mäher nicht antwortet. Meiner hat ab und zu kein Empfang, aus diesem Grund habe ich es wohl häufiger. Könnte man die Timeouts nicht einfach ignorieren? Das Modul in einen Error laufen lassen ist eine unbrauchbare Variante. Leider habe ich keine Ahnung wie man das anpassen kann.
Hallo,
ich hatte heute folgende Fehlermeldung:
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $readingValue in hash element at ./FHEM/74_HusqvarnaAutomower.pm line 792.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $readingValue in hash element at ./FHEM/74_HusqvarnaAutomower.pm line 792.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $readingValue in hash element at ./FHEM/74_HusqvarnaAutomower.pm line 792.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $time in subtraction (-) at ./FHEM/74_HusqvarnaAutomower.pm line 728.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $readingValue in hash element at ./FHEM/74_HusqvarnaAutomower.pm line 792.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $readingValue in hash element at ./FHEM/74_HusqvarnaAutomower.pm line 792.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value $readingValue in hash element at ./FHEM/74_HusqvarnaAutomower.pm line 792.
[Sun Apr 5 13:07:40 2020] fhem.pl: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_HusqvarnaAutomower.pm line 596.
Kann ich das ignorieren?
Zeile 792
if( defined($langGermanMapping{$readingValue}) and HusqvarnaAutomower_isSetGerman($hash) ) {
Zeile 728
return $time - ( 2 * 3600 );
Zeile 596
readingsBulkUpdate($hash, "mower_battery", $hash->{HusqvarnaAutomower}->{mower_battery}."%" );
Ich habe den timeout auch auf 9s erhöht und seit 1 Woche keine errors mehr.
Bei mir Sind diese jeden Tag aufgetreten, fast immer beim ersten Kommando aus fhem.
Bei mir läuft auch alles sehr stabil mit 9s Timeout.
Vielleicht mag der Modulowner die Änderung einchecken?
Frohe Ostern zusammen
#StaySmartHome
Habe meine Timeouts auch auf 9s gestellt. - Danke für den Tipp.
Aktuell bekam ich jede Nacht ein Error und das Modul war nicht mehr funktionsfähig. Warten wir's mal ab.
Ich benötige da dringend Sicherheit, da ich verhindern muss, dass meine Rasensprenger laufen, wenn Shaun läuft.
Kann man das Modul wieder starten, ohne Fhem zu Restarten?
Sonst ist das Modul top.
Gibt es schon eine Info, wie kurz das Abfrageinterval bei Husqvarna sein darf? Würde das gern kürzer als 5 Minuten setzen.
Danke euch.
Ich habe heute nach längerer Zeit diesem Modul mal wieder eine Chance gegeben und nun endlich (auch dank dieses Threads) herausgefunden, warum es bei mir nicht funktioniert.
Wenn man event-on-change-reading setzt, geht der Status auf authenticated und man bekommt keine Updates mehr.
Ich habe das Attribut gesetzt um meine Logfiles schlank zu halten. Ist denn bekannt, warum es dann keine Updates mehr gibt? Gibt es eine Lösungsidee dafür?
Hallo MiK,
also Updates kommen weiter, es sollte sich nur etwas ändern, fahre ihn mal mähen und schaue dir die Readings an.
Die ändern sich dann und werden auch als solche angezeigt.
Hast du auch event-on-update .* oder nur von ausgewählten Readings?
Zitat von: kwusl am 13 April 2020, 21:04:49
Habe meine Timeouts auch auf 9s gestellt. - Danke für den Tipp.
Aktuell bekam ich jede Nacht ein Error und das Modul war nicht mehr funktionsfähig. Warten wir's mal ab.
Also seit der Änderung hatte ich keine Aussetzer mehr. Funktioniert jetzt zuverlässig! Sollte also in den Standard.
Zitat von: kwusl am 13 April 2020, 21:04:49
Ich benötige da dringend Sicherheit, da ich verhindern muss, dass meine Rasensprenger laufen, wenn Shaun läuft.
Habe das Intervall auf 150s gestellt und auch hier noch keine Probleme festgestllt.
Könnt ihr also bei euch auch ausprobieren. Kürzer benötige ich es momentan nicht.
Da das Modul als Basis mein Gardena Modul genommen hat ist der Code so ausgelegt das Events abgefangen und verarbeitet werden um weitere Routinen zu starten.
So wird "state authenticated" verwendet um die Routine zum beziehen der Daten zu starten.
Ich muss mich korrigieren: ich habe
event-on-change .*
aktiviert und sehe hier wunderbar alle Änderungen.
Zitat von: vitolinker am 12 April 2020, 16:28:35
Bei mir läuft auch alles sehr stabil mit 9s Timeout.
Vielleicht mag der Modulowner die Änderung einchecken?
Frohe Ostern zusammen
#StaySmartHome
Der Entwickler war seit 2 Monaten nicht mehr im Forum
Zitat von: vitolinker am 23 April 2020, 10:36:51
Hast du auch event-on-update .* oder nur von ausgewählten Readings?
Ich habe event-on-change-reading auf mower_activity,batteryPercent
Damit bekomme ich keinerlei Updates mehr.
Probiere mal
event-on-change .*
Wenn dann nichts ändert nach dem update Befehl und er ggf. lädt, dann ist etwas faul, sonst eher nicht.
Zitat von: MiK77 am 23 April 2020, 12:11:46
Ich habe event-on-change-reading auf mower_activity,batteryPercent
Damit bekomme ich keinerlei Updates mehr.
da fehlt auch state in der Liste
Zitat von: CoolTux am 23 April 2020, 13:26:53
da fehlt auch state in der Liste
Warum sollte das nötig sein?
Weil das Modul wie oben beschrieben auf ein Event vom state Reading reagiert und eine Routine aus zu führen.
Zitat von: CoolTux am 23 April 2020, 14:22:16
Weil das Modul wie oben beschrieben auf ein Event vom state Reading reagiert und eine Routine aus zu führen.
OK, das ist nicht wirklich zu erwarten. Aber danke, so funktioniert es!
Gibt die API eigentlich auch das Einstellen der Schnitthöhe (bsw. beim 430X) her? Ich habe zwei Bereiche, die ich gerne mit unterschiedlicher Schnitthöhe mähen möchte.
LG
Oli
Zitat von: OliS. am 01 Mai 2020, 10:34:07
Gibt die API eigentlich auch das Einstellen der Schnitthöhe (bsw. beim 430X) her? Ich habe zwei Bereiche, die ich gerne mit unterschiedlicher Schnitthöhe mähen möchte.
LG
Oli
Ich bin mir ziemlich sich, dass nicht. Um die Schnitthöhe einstellen zu können muss man per Bluetooth mit dem Mower verbunden sein, ansonsten ist das Menü im App ausgegraut.
Zitat von: jop am 01 Mai 2020, 13:21:12Um die Schnitthöhe einstellen zu können muss man per Bluetooth mit dem Mower verbunden sein, ansonsten ist das Menü im App ausgegraut.
Nee, eigentlich nicht. Ich hab das Connect Modul. Und das verbindet sich ja nicht per Bluetooth mit dem Mäher sondern über das SIM-Modul des Mähers und die Husqvarna Cloud. Und da lässt sich bei einigen Modellen die Schnitthöhe einstellen.
Ich habe nun auch reproduzierbar das Problem, dass das Modul in den State "error" geht, sobald ich aus FHEM einen Befehl an den Mäher sende. Und zwar jedesmal. Letze Saison (da war es allerdings auch noch ein 315x - jetzt ist es ein 430x) hat alles super funktioniert. Ich habe schon den Timeout in der 74_HusvarnaAutomower.pm auf 15 Sekunden gesetzt - ohne Erfolg. Er steigt jedesmal aus und ich muss das Device neu anlegen (mit FHEM-Neutstart hab ich es noch nicht ausprobiert).
Ich habe allerdings auch bemerkt, dass der Mäher seinen aktuellen Status in der App auch oft sehr stark verzögert anzeigt.
Gibt es eigentlich noch jemanden, der sich um das Modul kümmert?
LG
Oli
Schwer zu sagen mit dem kümmern. Letzter Besuch des Maintainers
Zitat04 Februar 2020, 23:15:09
Grüße
@CoolTux, eigentlich müsste es doch möglich sein, die Husqvarna Mower über die GardenaSmartBridge einzubinden, oder?
Die Gardena-App nimmt die ja wohl auf.
Du bist ja ein prima Supporter und vielleicht ist dein Modul da robuster?
Auf den ersten Blick sind da nur die Readings vom Wording etwas anders als im HusqvarnaAutomower Modul.
Bei der GardenaBridge ist es möglich die URL mittels Attribut zu ändern. Ich habe jetzt nicht bei den Modul hier geschaut. Probiere es einfach mal ob etwas passiert. Die Bridge auf verbose 4 stellen.
Werde ich mal ausprobieren. Der Mower ist nicht meiner, daher noch Abstimmung notwendig.
Zitat von: OliS. am 06 Mai 2020, 14:13:31
Ich habe nun auch reproduzierbar das Problem, dass das Modul in den State "error" geht, sobald ich aus FHEM einen Befehl an den Mäher sende. Und zwar jedesmal. Letze Saison (da war es allerdings auch noch ein 315x - jetzt ist es ein 430x) hat alles super funktioniert. Ich habe schon den Timeout in der 74_HusvarnaAutomower.pm auf 15 Sekunden gesetzt - ohne Erfolg. Er steigt jedesmal aus und ich muss das Device neu anlegen (mit FHEM-Neutstart hab ich es noch nicht ausprobiert).
Ich habe allerdings auch bemerkt, dass der Mäher seinen aktuellen Status in der App auch oft sehr stark verzögert anzeigt.
Gibt es eigentlich noch jemanden, der sich um das Modul kümmert?
LG
Oli
Hi Oli,
Hast du auch alle Timer hoch gesetzt? Es sind mehrere...
Gruß
ws
Zitat von: Wscheff am 07 Mai 2020, 08:52:20
Hast du auch alle Timer hoch gesetzt? Es sind mehrere...
Nee, hatte ich natürlich nicht. Jetzt scheint es auch zu funktionieren. Danke für den Hinweis.
LG
Oli
ZitatHast du auch alle Timer hoch gesetzt? Es sind mehrere...
Welche Timer sind gemeint?
Habe gerade auch ständig das Problem "State: error". Wird zwar durch FHEM-Neustart erstmal behoben nutzt aber leider nichts.
Gerade regnet in Strömen und der Mäher fährt trotzdem. :'(.
Bin für Hilfe dankbar
Ok. Hat sich schon erledigt. Mal sehen ob es funktioniert.
Hallo CoolTux
Zitat von: CoolTux am 06 Mai 2020, 14:36:00
Bei der GardenaBridge ist es möglich die URL mittels Attribut zu ändern. Ich habe jetzt nicht bei den Modul hier geschaut. Probiere es einfach mal ob etwas passiert. Die Bridge auf verbose 4 stellen.
Leider verlangt die Gardena Smart System App, dass man ein Gateway registriert, bevor man die Husqvarna Mäher anbinden kann.
Direkt an der Husqvarna URL
set gardenaBaseURL to: https://amc-api.dss.husqvarnagroup.net/app/v1
kam dann die folgende Log-Meldung:
GardenaSmartBridge (Gardena_Bridge) - no Match for processing data
(verbose 4)
Wie könnte man die Kommunikation mit der o.g. API manuell nachstellen? Über GET und POST vielleicht? Wissen wir etwas über den Handshake bei Gardena?
VG
Ich bin neu hier und habe mich mal ein wenig eingelesen. Modul ist in FHEM eingerichtet und sendet auch updates.
Gibt es eine Möglichkeit den Befehl "Pause" zu senden und im Anschluss das Mähen auch wieder fortzusetzen?
Würde gerne im Gewächshaus einen Knopf installieren, über den man die Befehle senden kann, falls man den Gartenschlauch während der Mähzeit nutzen möchte.
Hat da jemand eine Idee, wie ich den Befehl an den Mäher über FHEM senden kann?
EDIT: Hab mir mal die 74_HusqvarnaAutomower.pm Datei genauer angesehen. "Stop" ist ja laut dieser Datei Pause und "startTimer" das fortsetzen. Vielleicht sollte ich damit erst mal rumspielen...
Sorry für die Verwirrung....
Seit kurzem habe ich wieder Disconnect-Errors, auch mit Timeout 9s.
Hat jemand die selben Probleme?
Zitat von: blaess am 28 Mai 2020, 15:03:46
Seit kurzem habe ich wieder Disconnect-Errors, auch mit Timeout 9s.
Hat jemand die selben Probleme?
bei mir läuft es derzeit ohne Errors.
Nochmal der Hinweis: es sind mehrere Timer zu ändern, nicht vergessen... :-)
Bei mir gab es auch mit 9s (überall geändert) auch schon wieder Timeouts vereinzelt. Habe jetzt überall 30s drin und bisher keine Probleme mehr.
Hallo,
ich habe 15 Sekunden seit 3 Wochen laufen. Alles ohne Probleme.
Hoffi
Bei mir hat es jetzt geholfen, wenn bei einem timeout error die Config mit
reareadcfg
neu gelesen wird.
Das führt dazu, dass sich das Modul neu einloggt und neue credentials bezieht. Sollte dann wieder auf 'connected' springen.
Habe es mal jetzt mit einem Watchdog automatisiert, dass nach 13min nach einem error die Config neu gelesen wird. Mal beobachten...
Hallo zusammen,
ich versuche auch den timeout zu verlängern.
Ich bin jetzt auf 15 gegangen und dann lief eigentlich alles stabil.
Nun habe ich festgestellt das nach einem update von FHEM das Modul 74_HusqvarnaAutomower.pm überschrieben wird.
Bitte beachten.
Es stehen alle wieder auf 5
Gibt es eine Möglichkeit das zu verhindern?
Vielen Dank im Voraus und viele Grüße
AyshaHM
Zitat von: AyshaHM am 09 Juli 2020, 15:09:57
Hallo zusammen,
ich versuche auch den timeout zu verlängern.
Ich bin jetzt auf 15 gegangen und dann lief eigentlich alles stabil.
Nun habe ich festgestellt das nach einem update von FHEM das Modul 74_HusqvarnaAutomower.pm überschrieben wird.
Bitte beachten.
Es stehen alle wieder auf 5
Gibt es eine Möglichkeit das zu verhindern?
Vielen Dank im Voraus und viele Grüße
AyshaHM
Du musst in global im attr exclude_from_update die jeweiligen Module angeben, die du nicht updaten willst
Gruß wscheff
Hallo Wscheff,
danke für den Tipp!
Gruß AyshaHM
Zitat von: dinkel75 am 17 Juli 2018, 20:11:57
Ich bin auch zufrieden!
Licht einschalten, wäre noch cool, keine Ahnung, wie man das rausfinden könnte.
Aber vielleicht kommt ja noch was vom Entwickler.
Aus dem Roboter Forum kommt auch die Anfrage nach dem Schalten des Lichts in Abhängigkeit der Koordinaten des Mähers. Auch möchte man die Schnitthöhe je nach Koordinaten verstellen.
Lässt sich das realisieren?
VG Helmut
Moinsen
Auch mein Rasen wir durch einen 320 im Zaum gehalten.
Abeer : ich habe natürlich mich nicht über GSM mit der Husquana Cloud verbunden und habe das auch nicht vor.
Statt dessen werkelt ein Roboconnect Modul das auch (bedingt) MQTT im Mäher ..
Der sendet auch fleissig Mqtt Daten
Ich empfange sie auch in FHEM .
#So weit so schön. ( oder auch nicht, da sie nicht geschlüsselt werden können )
Wenn ich das richtig raus geseen habe Kann ich in der Constelation das Husquana Modul nicht verwenden ?
Heisst ich darf mir alles einzeln zusammen schrauben ?
Mal so zur Info für Leute wie mich, die nicht mal 3 Zeilen zum laufen bringen.
Wenn man die 3 Zeilen zum Einrichten und Authentifizieren abdrückt, kommt schon mal nach der ersten Zeile ein State Error
Habe dann versucht mein monatliches logfile 30GB groß ist, macht Fhem die Grätsche beim einlesen im Browser und ich habe mit systemctl restart fhem alles wieder in die Gänge gebracht.
Und oh Wunder, das Automower Modul läuft fehlerfrei und es sind sogar die gps Koordinaten da.
Danke an den Entwickler.
Ist dieses Modul nun Teil von fhem? Man muss ja nichts von extern laden ..
Sorry für die Frage. Ich habe so bestimmt an die 12 Module auf 4 Maschinen am laufen, aber wirklich durchsehen tue ich nicht
Ps: In der App habe ich den Namen des Mowers geändert. Selbiger wird in fhem nicht aktualisiert