MQTT2 für Worx Landroid Mähroboter

Begonnen von Otto123, 09 Juni 2020, 13:55:43

Vorheriges Thema - Nächstes Thema

frober

Zitat von: frober am 22 April 2023, 10:58:04
Zitat von: rudolfkoenig am 22 April 2023, 10:16:38
ZitatDas Template funktioniert weiterhin.
Welches Template ist das?
Sollte LandroidUtils.pm es beim Anlegen der Mower-Device es automatisch anwenden?

Wäre sinnvoll, allerdings bekommt man damit keine Mowerdaten mehr, soweit ich das gesehen habe.
Sollte diese jemand benötigen, müsste er nach konfigurieren...

"worx_landroid"

Sonst keiner eine Meinung?

Mit Mowerdaten meine ich die Daten aus der API, nicht die Statusdaten per MQTT.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Ralli

Meines Erachtens sollte die jetzige Lösung mit LandroidUtils.pm sich darauf "beschränken", alles das in FHEM einzurichten bzw. aktuell zu halten, was rein für die Kommunikation mit dem Worx-Backend nötig und wichtig ist.

Daher ist meiner Meinung nach ein Automatismus für das Anwenden des Templates nicht nötig, das kann der Nutzer durchaus manuell tun, da er, wie du ja schreibst, sowieso noch nacharbeiten muss.

Wenn diese Anbindung nun zuverlässig funktioniert, sollten wir eher hingehen und das HowTo von Otto überarbeiten bzw. Otto bitten, das als veraltet zu kennzeichnen und ein neues HowTo erstellen.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

frober

Zitat von: Ralli am 23 April 2023, 06:57:11Meines Erachtens sollte die jetzige Lösung mit LandroidUtils.pm sich darauf "beschränken", alles das in FHEM einzurichten bzw. aktuell zu halten, was rein für die Kommunikation mit dem Worx-Backend nötig und wichtig ist.

Daher ist meiner Meinung nach ein Automatismus für das Anwenden des Templates nicht nötig, das kann der Nutzer durchaus manuell tun, da er, wie du ja schreibst, sowieso noch nacharbeiten muss.

Wenn diese Anbindung nun zuverlässig funktioniert, sollten wir eher hingehen und das HowTo von Otto überarbeiten bzw. Otto bitten, das als veraltet zu kennzeichnen und ein neues HowTo erstellen.

Mir ist es egal, ich dachte nur an die neuen User.

Das Nacharbeiten ist nicht zwingend nötig, die Daten aus der API hatten wir vorher auch nicht und sind für die Funktion als Reading nicht nötig.
Ich habe habe sie auch nicht, mir sind das zuviele Readings...bei mir steht autocreate auf 0 beim Aufruf von  LandroidUtils.


Otto hatte ich in einem vorherigen Post schon versucht zu "erreichen"...
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

mabula

Danke für die Arbeit am Landroid Modul. Es läuft soweit stabil. Allerdings der Parameter "cfg_sc_distm" hat es in sich. Er setzt den programmierten Zeitplan wie vermutet aus, führt aber zu einem "maxFailedConnects" und rasantem Überfüllen des Logs. Ich wollte den Wert von "cfg_sc_distm" angepasst an meine gemessene Niederschlagsmenge setzen. Als Test habe ich ihn auf 300 gesetzt. Der Wert zählt rückwärts (wie erwartet) erzeugt allerdings nicht jede Minute ein neues reading, eher alle 5 - 7 Minuten (Gedächtnis, log nicht vorhanden und derzeit mit "maxFailedConnects" gesperrt). beim Stand des Zähler von 147 meldete der Client fortwährend:
2023.04.23 09:47:24.001 2: maxFailedConnects (20) reached, no more reconnect attemtps
2023.04.23 09:47:25.001 2: maxFailedConnects (20) reached, no more reconnect attemtps
2023.04.23 09:47:25.378 2: maxFailedConnects (20) reached, no more reconnect attemtps
2023.04.23 09:47:26.001 2: maxFailedConnects (20) reached, no more reconnect attemtps
usw.
Werden zu viele Werte übermittelt, was passiert bei sehr langer Regenverzögerung, auch hier läuft ein Zähler?

Gruß
Hans-Jörg
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

frober

#649
Die "maxFailedConnects" bekommst du mit einem manuellen "set ... connect" oder Neustart weg.

Bist du sicher, dass man den Parameter selber setzen kann?
Falls ja, ist dein gesendeter Befehl richtig (Syntax, etc.)?
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

mabula

#650
ZitatDie "maxFailedConnects" bekommst du mit einem manuellen "set ... connect" oder Neustart weg
Habe beides versucht. die "maxFailedConnects" bleiben.

ja, in den Readings wurde der Wert gesetzt, der count down wurde teilweise ausgeführt (bis zum disconnect) und der Zeitplan wurde ausgesetzt.

Der Befehl ist:
setList setraindelay:textField { my $payload = $EVENT;;$payload =~ s/$EVTPART0 //g;; qq(PRM100/98F4AB02DF3C/commandIn {"sc":{"distm":$payload}})}
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

mabula

Es sieht aus, als ob der Server gleich nach dem reboot den Zugang für den Mqtt-Client blockiert hat.
Also warten.

Gruß Hans-Jörg
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

rudolfkoenig

Zitatführt aber zu einem "maxFailedConnects" und rasantem Überfüllen des Logs
Nach dieser Meldung wird die Quelle der Wiederholungen ausgeschaltet, d.h. irgendwer schaltet sie wieder ein. Woemoglich inspiriert mich ein "attr global verbose 5" Log zwischen zwei solchen Meldungen, und/oder wenn man in 00_MQTT2_CLIENT.pm vor dieser Meldung die Zeile
stacktrace();
einfuegt.
Wofuer ist der Countdown da?
Da ich kein Geraet habe, kann ich das nicht so einfach selbst probieren.

mabula

In der "Garage" funktioniert der im Landroid eingebaute Regensensor nicht wirklich. Und es gibt im Landroid nur eine fest einstellbare Regenpause. Die neuen Möglichkeiten haben den Erfindergeist geweckt und ich wollte die Pause abhängig von der Regenmenge einstellen. Sumpfigen Rasen mäht er nicht wirklich gut. Der Parameter "cfg_sc_distm" pausiert den programmierten Zeitplan um die eingetragenen Minuten und der Wert wird im Landroid selbst runter gezählt. Das reading dieses Werts wird wie oben beschrieben alle 5 - 7 Minuten aktualisiert.
Wenn der Zugang wieder frei ist, kann ich das stacktrace zum Test einfügen, ein global verbose 5 wird bei den vielen Geräten wuchtig.
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

frober

Zitat von: frober am 22 April 2023, 10:58:04Wäre sinnvoll, allerdings bekommt man damit keine Mowerdaten mehr, soweit ich das gesehen habe.
Sollte diese jemand benötigen, müsste er nach konfigurieren...

"worx_landroid"

Ich muss mich korrigieren, ich habe es gerade von Grund auf getestet, die Mowerdaten aus der API bekommt man auch noch mit dem Template.
Aber ich denke Ralli hat Recht, wir(ich?) werden es in der Doku bei der Grunddefinition als Bsp. mit aufnehmen, dann kann jeder selbst entscheiden...
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

mabula

#655
Leider ist der Zugang zum Server noch gesperrt. Habe kurz die 00_Mqtt2_Client angesehen und die Routine getKeyValue() gefunden. Da bin ich mit dem Viera Modul auch hereingefallen. Die Namen sind nicht wie bei $hash eineindeutig. Jemand hatte 2 TV's, dann wurden die Werte überschrieben. Ich habe dann folgenden Wert vor den Variablennamen gestellt.
my $nom = $hash->{TYPE}."_".$hash->{NAME}."_";
Damit war mein Name und Wert eineindeutig.

Kann dies das Problem sein?
Gruß Hans-Jörg
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Otto123

Zitat von: frober am 23 April 2023, 08:41:06Otto hatte ich in einem vorherigen Post schon versucht zu "erreichen"...
Ich lese immer noch mit, aber ich war in der allgemeinen "Rasenmäherstartphase" jetzt ein paar Tage weg :)
Ich muss das alles noch in Ruhe durcharbeiten, kann sein da brauche ich noch etwas. ;)   
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

Zitat von: Otto123 am 23 April 2023, 18:28:18
Zitat von: frober am 23 April 2023, 08:41:06Otto hatte ich in einem vorherigen Post schon versucht zu "erreichen"...
Ich lese immer noch mit, aber ich war in der allgemeinen "Rasenmäherstartphase" jetzt ein paar Tage weg :)
Ich muss das alles noch in Ruhe durcharbeiten, kann sein da brauche ich noch etwas. ;)   

Alles ok, schön dass du dich meldest, bin gerade dabei eine Wiki-Seite zu erstellen.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

fred_feuerstein

#658
Zitat von: frober am 23 April 2023, 16:21:38
Zitat von: frober am 22 April 2023, 10:58:04Wäre sinnvoll, allerdings bekommt man damit keine Mowerdaten mehr, soweit ich das gesehen habe.
Sollte diese jemand benötigen, müsste er nach konfigurieren...

"worx_landroid"

Ich muss mich korrigieren, ich habe es gerade von Grund auf getestet, die Mowerdaten aus der API bekommt man auch noch mit dem Template.
Aber ich denke Ralli hat Recht, wir(ich?) werden es in der Doku bei der Grunddefinition als Bsp. mit aufnehmen, dann kann jeder selbst entscheiden...

Ah. Wollte gerade sagen. Bei mir werden die mowerdaten und die api Daten  aktualisiert.
Meine verschiedenen Doifs etc. Vom letzten und vorletzten Jahr funktionieren alle.
Gruß, Fred

NEU: FHEM auf Raspberry PI 5, OS: Bookworm, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art
ALT: FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp)

rudolfkoenig

ZitatDie Namen sind nicht wie bei $hash eineindeutig.
Kannst Du bitte dafuer ein Beispiel nennen?

Zitat[..]ein global verbose 5 wird bei den vielen Geräten wuchtig.
Ich wuerde nur die Ausgaben zwischen zwei Meldungen brauchen.
stacktrace wird vmtl. Zeile 849 in fhem.pl zeigen, die Frage ist, wer findet es fuer notwendig, MQTT_Worx in %readyfnlist wieder einzutragen.
stacktrace ist dann wichtig, wenn ich mich mit meiner Hypothese irren sollte.