Autor Thema: MQTT2 für Worx Landroid Mähroboter  (Gelesen 24070 mal)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24905
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #330 am: 21 September 2021, 12:54:20 »
Offensichtlich ist der Server nicht fuer Dauerverbindungen ausgelegt.

Offline kjmEjfu

  • Sr. Member
  • ****
  • Beiträge: 773
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #331 am: 21 September 2021, 16:03:44 »
Hab keepaliveTimeout seit Monaten auf 600 stehen. Läuft ohne Probleme.

Offline frober

  • Hero Member
  • *****
  • Beiträge: 1061
  • Was man nicht kann, kann man lernen...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #332 am: 21 September 2021, 19:06:26 »
Hab keepaliveTimeout seit Monaten auf 600 stehen. Läuft ohne Probleme.

Das Kantenmähen bekommst du auch gemeldet?
Wie sieht es mit den Zonen aus, so fern du welche hast?
Bzw  laut Worx merkt man die Sperre nicht...

Bei mir kann es noch sein, da mein Wlan im Garten nicht komplett abdeckt ist, dass ich deswegen die 150 Anfrage /Tag kratze.
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

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

Offline kjmEjfu

  • Sr. Member
  • ****
  • Beiträge: 773
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #333 am: 22 September 2021, 08:20:42 »
Das Kantenmähen bekommst du auch gemeldet?
Wie sieht es mit den Zonen aus, so fern du welche hast?

Ich schaue halt nicht dauernd nach ... aber ja, prinzipiell bekomme ich das Kantenmähen angezeigt.
Zonen habe ich, weiß aber nicht genau, was da gerade meinst.

Offline frober

  • Hero Member
  • *****
  • Beiträge: 1061
  • Was man nicht kann, kann man lernen...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #334 am: 22 September 2021, 09:49:32 »
Ich schaue halt nicht dauernd nach ... aber ja, prinzipiell bekomme ich das Kantenmähen angezeigt.
Zonen habe ich, weiß aber nicht genau, was da gerade meinst.

Ich habe in der App die Benachrichtigungsart auf Hinweise stehen, da ich wissen wollte wie oft der Mäher aus der aktiven Zone flüchtet.
Daher sehe ich die Meldungen regelmäßig.

Bzgl  Zone, ich habe das userReading erweitert. Erklärung ist in #269, Code in #279

Die Daten logge ich und zeige sie in einem Plot.
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

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

Offline remo

  • Full Member
  • ***
  • Beiträge: 184
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #335 am: 24 September 2021, 09:05:38 »
Ich habe in der App die Benachrichtigungsart auf Hinweise stehen, da ich wissen wollte wie oft der Mäher aus der aktiven Zone flüchtet.
Daher sehe ich die Meldungen regelmäßig.

Bzgl  Zone, ich habe das userReading erweitert. Erklärung ist in #269, Code in #279

Die Daten logge ich und zeige sie in einem Plot.

Womit misst du die Bodenfeuchte?

Offline frober

  • Hero Member
  • *****
  • Beiträge: 1061
  • Was man nicht kann, kann man lernen...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #336 am: 24 September 2021, 09:20:54 »
Womit misst du die Bodenfeuchte?

Ich habe 2 Giesomat vergraben.
Da bin ich aber noch am beobachten. Bei hoher Feuchte ist die Messung recht konstant. Sobald die Feuchte fällt, wird sie Temperaturabhängig.
Aktuell teste ich eine Temperaturkompensation.
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

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

Offline remo

  • Full Member
  • ***
  • Beiträge: 184
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #337 am: 24 September 2021, 09:35:34 »
Ok, danke.

Offline efyzz

  • Jr. Member
  • **
  • Beiträge: 83
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #338 am: 08 Oktober 2021, 21:35:46 »
Hi,

die Beschreibung verwundert mich. Ich habe auch die Firmware 3.25 und die Steuerung geht. Überprüfe bitte die Funktion Deines MQTT_Worx Devices. Ich vermute Du bist geblockt. Ich hatte auch schon den Fall, die Daten in der App wurden aktualisiert, Steuerung ging aber nicht. Allerdings war in dem Zustand FHEm völlig "draußen" d.h. da kamen auch keine Daten mehr an.
Funktioniert der Zugriff mit der Windows App?

Gruß Otto

Moin Otto,

sorry für die späte Rückmeldung. Hatte bisher keinen Nerv, mich damit zu beschäftigen. Heute mal die DeskApp getestet - funktioniert. Habe dann ein FHEM Update durchgeführt, daraufhin natürlich FHEM neu gestartet und anschließend das neue MQTT Template runtergeladen und angewendet. Nun funktioniert wieder alles!

Ich glaube aber, das Anwenden des Templates hat gar nicht funktioniert, denn meine selbstgemachten Änderungen an Readings usw. sind noch alle vorhanden. Außerdem steht bei attrTemplateVersion: 20200701. Scheint mir nicht sehr aktuell zu sein ... Letztlich war vielleicht einfach nur der Neustart von FHEM ausschlaggebend  ::)

Das Template wird doch auf das Device MQTT_Worx angewendet, nicht auf das Device des Mähers selbst (bei mir "Landroid"), richtig? Entsprechend dieses Befehls:
set MQTT2_.*:FILTER=IODev=MQTT_Worx attrTemplate worx_landroid
Dann noch eine Frage: wieso kann man bei "set startParty" einen Wert mit Slider von 60 bis 2880 wählen? Sollten da nicht einfach 0 oder 1 (Partymodus an/aus) ausreichen? Oder ist das ein weiteres Indiz für ein veraltetes Template?

Nochmals besten Dank!
RaspberryPi3B, Jessie Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20195
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #339 am: 08 Oktober 2021, 21:56:37 »
Hi,

das hier ist ein devspec:MQTT2_.*:FILTER=IODev=MQTT_Worx
Das sagt: Devicename beginnt mit MQTT2_ und das IODev des Gerätes muss MQTT_Worx sein. Wenn Du dein Device umbenannt hast, solltest Du nicht nach einer Anleitung vorgehen, die eine Umbennung nicht beschreibt.
Das Template ist für das Mäher Device, nicht für das IODev! Du kannst es jederzeit am Device selbst direkt auswählen und anwenden, der von Dir erwähnte Befehl gilt in der "geradeaus" Anleitung.

Dein angewendetes Template ist alt.
Im aktuellen Template gibt es PartyTime und PartyMode - startParty haben wir irgendwann mal rausgenommen.

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline efyzz

  • Jr. Member
  • **
  • Beiträge: 83
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #340 am: 08 Oktober 2021, 22:02:02 »
Alles klar, danke!

Habe gerade mal in das Template reingeschaut und werde mir die für mich relevanten Neuigkeiten manuell einbauen. Dann gehen meine bisherigen Änderungen nicht verloren ;)

Tja, aber dann war wohl tatsächlich nur ein Neustart von FHEM nötig, um mein eigentliches Problem zu lösen  :o
RaspberryPi3B, Jessie Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

Offline frober

  • Hero Member
  • *****
  • Beiträge: 1061
  • Was man nicht kann, kann man lernen...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #341 am: 11 Oktober 2021, 18:47:38 »
Bzgl. Sperre behauptet Worx, dass man dies nicht mitbekommt, sie aber sehen, dass ich hin und wieder gesperrt werde, da ich die 150 Anfragen/Tag überschreite und das kann nur eine Fremdsoftware. IOBroker hatte ich nie installiert.
Bei mir waren jedoch durchweg die Daten vorhanden, nur die gemähte Zone ist zw. Fhem und App asynchron und das Boardercut wird nicht mehr gemeldet.

So, nun mal einen Zwischenstand:
Es hat sich bestätigt, seit ich den keepaliveTimeout hochgesetzt habe, aktuell 1500, bekomme ich den Kantenschnitt wieder zuverlässig gemeldet. Also scheint es tatsächlich noch eine Sperre von Server zu geben, die man im Normalfall nicht mitbekommt.

Bzgl. Asynchronität der Zonenmeldung habe ich ich mein userReading angepasst, aktuell läuft es wieder synchon. Ich vermute, da gab es intern eine Änderung/Bug bei Worx. Ich habe gerade meine 3. Zone aktiviert, wenn die Synchronität sich bestätigt, poste ich noch den geänderten Code.

Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

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

Offline frober

  • Hero Member
  • *****
  • Beiträge: 1061
  • Was man nicht kann, kann man lernen...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #342 am: 23 Oktober 2021, 17:48:53 »
Wie angekündigt, die Meldung der Zonen funktioniert nun einwandfrei mit meiner Anpassung:

Erweiterung für das userReadings:
mowerActiveZone:dat_lz:.* {
   my $evt = ReadingsVal($name,"dat_lz",0) + 1;
   my $evt1 = 'cfg_mzv_'.$evt;
   ReadingsVal($name,$evt1,0)}
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

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

Offline efyzz

  • Jr. Member
  • **
  • Beiträge: 83
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #343 am: 01 November 2021, 23:24:00 »
Moin,
es gibt mit der neuen FW3.26 eine Möglichkeit zur Drehmoment-Verstellung.
https://www.roboter-forum.com/index.php?thread/54572-firmware-v3-26/

Bisher nur über die DeskApp (mit Plugin) einstellbar:
https://drive.google.com/file/d/17WxcaCgKIAUzEbg0KuuBzoUv1fAfd4-s/view?usp=sharing

Daher habe ich das mal hier mit reingebastelt:

jsonMap:
cfg_tq:torqueSetting
setList:
torqueSetting:slider,-50,1,50 PRM100/<MAC>/commandIn {"tq":$EVTPART1}
Vielleicht nimmst Du das ja mit ins Template auf, Otto.  :)
RaspberryPi3B, Jessie Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

Offline Mumpitz

  • Full Member
  • ***
  • Beiträge: 375
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #344 am: 11 Januar 2022, 19:56:36 »
Hallo Freund der automatisierten Rasenpflege

Ich habe am BlackFriday zugeschlagen und mir einen Worx M500 erworben. Nun habe ich ihn zu Testzwecken mal im Keller aufgebaut. Ich wollte damit ausmessen, wie gross seine Garage werden muss damit er darin wenden kann. Dabei habe ich mich gleich aufgemacht und versucht, ihn mit Hilfe des Post1 in mein FHEM einzubinden. Leider gelingt mir das nach einer Woche probieren nicht. Der Zustand flippert im milisekundentakt von Connect auf Disconnect und wieder zurück. Ich bin echt am Anschlag was ich noch versuchen könnte. Daher habe ich mich nun entschlossen, die Gemeinschaft um Hilfe zu bitten:

Mein Define (UID und Mac durch x für jede Ziffer ersetzt):
defmod MQTT_Worx MQTT2_CLIENT a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883
attr MQTT_Worx DbLogExclude .*
attr MQTT_Worx SSL 1
attr MQTT_Worx autocreate simple
attr MQTT_Worx clientId android-61ddbcec-xxxx-xxxx-xxxx-xxxxxxxxxxxx
attr MQTT_Worx disable 1
attr MQTT_Worx keepaliveTimeout 600
attr MQTT_Worx mqttVersion 3.1.1
attr MQTT_Worx msgAfterConnect PRM100/xxxxxxxxxxxx/commandIn {}
attr MQTT_Worx room Garten
attr MQTT_Worx sslargs SSL_version:TLSv12 SSL_cert_file:aws.cer SSL_key_file:aws.key SSL_use_cert:1
attr MQTT_Worx subscriptions PRM100/xxxxxxxxxxxxx/commandOut
attr MQTT_Worx verbose 5

setstate MQTT_Worx disconnected
setstate MQTT_Worx 2022-01-11 18:24:04 state disconnected

Das FHEM Log zeigt mit verbose 5 folgendes an im Sekundentakt:
2022.01.11 18:24:04 5: MQTT_Worx: discarding DISCONNECT (224)(0)
2022.01.11 18:24:04 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2022.01.11 18:24:04 5: DevIo_SimpleWrite MQTT_Worx: 103800044d51545404020258002c616e64726f69642d36316464626365632d663333662d333837332d356562322d363930303834313736306433
2022.01.11 18:24:04 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-61ddbcec-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2022.01.11 18:24:04 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 34.242.154.33
2022.01.11 18:24:04 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking via https
2022.01.11 18:24:04 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2022.01.11 18:24:04 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2022.01.11 18:24:04 5: DevIo_SimpleWrite MQTT_Worx: 103800044d51545404020258002c616e64726f69642d36316464626365632d663333662d333837332d356562322d363930303834313736306433
2022.01.11 18:24:04 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-61ddbcec-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2022.01.11 18:24:04 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 34.250.128.70
2022.01.11 18:24:04 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking via https
2022.01.11 18:24:04 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2022.01.11 18:24:04 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)

Das Zertifikat ist aus meiner Sicht iO:

{qx(ls -lha /opt/fhem/aws.*)} ergibt:
-rw------- 1 fhem dialout 1.4K Jan 11 18:08 /opt/fhem/aws.cer
-rw------- 1 fhem dialout 1.8K Jan 11 18:09 /opt/fhem/aws.key

{qx(openssl rsa -in aws.key -check|grep 'RSA key ok')} ergibt:
RSA key ok
{qx(openssl x509 -in aws.cer -noout -text|grep Issuer -A7)} ergibt:
Issuer: OU = Amazon Web Services O=Amazon.com Inc. L=Seattle ST=Washington C=US
        Validity
            Not Before: Jan  4 19:08:53 2022 GMT
            Not After : Dec 31 23:59:59 2049 GMT
        Subject: CN = AWS IoT Certificate
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)

Mit der Landroid App kann ich mit dem Mäher kommunizieren.

Die clientId im define wurde nicht automatisch erstellt. Diese wurde erstellt, indem ich den Eintrag {my $uuid=substr(genUUID(),0,36);;fhem("attr MQTT_Worx clientId android-$uuid")} über die Kommandozeile ausgeführt habe und den entsprechenden Wert von Hand eingetragen habe. Ohne diesen Eintrag konnte ich jedoch das genau gleiche Verhalten mit dem Flippern beobachten...

Ich habe echt keine Ahnung mehr was ich versuchen könnte. Das einzig positive im Moment ist, dass es noch eine Zeit geht bis "Shawn" in den Einsatz kommt...

Hat jemand eine Idee oder einen Ansatz?

 

decade-submarginal