MQTT2 für Worx Landroid Mähroboter

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

Vorheriges Thema - Nächstes Thema

Otto123

Zitat(was auch immer das bedeutet).
Naja das war der Anfang nach einem set MQTT_Worx connect aus dem Zustand eines manuellen set disconnect
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

hoppel118

#196
Super, dass ihr das Problem grundsätzlich in den Griff kriegen wollt.

Ich habe das define erstmal noch nicht angefasst. Habe das Device nochmal auf "connect" gesetzt und vorher verbose 5 aktiviert.

2021.06.10 12:32:21 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 12:32:21 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 52.49.36.53
2021.06.10 12:32:21 5: MQTT_Worx: sending SUBSCRIBE (130)#(0)Y(0)(30)PRM100/E868E7219054/commandOut(0)
2021.06.10 12:32:21 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 12:32:21 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 12:32:21 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 12:32:21 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 63.32.190.96
2021.06.10 12:32:21 5: MQTT_Worx: sending CONNECT (16)5(0)(4)MQTT(4)(2)(2)X(0))fhem-60c1bbab-f33f-5dcf-d603-0534524fe385
2021.06.10 12:32:21 5: SW: 103500044d5154540402025800296668656d2d36306331626261622d663333662d356463662d643630332d303533343532346665333835
2021.06.10 12:32:21 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 12:32:21 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)


@Rudi

Ist das das was du brauchst? (Ich hatte FHEM jetzt nicht neugestartet.)

Ich bin jetzt auf jeden Fall auch wieder gesperrt. @frober's Tipp, die Attribute einmal komplett zu löschen und nicht per RAW definition, sondern über das WebUI manuell zu setzen, könnte ich dann als nächstes probieren, in 24h. ;)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Zitat von: Otto123 am 10 Juni 2021, 12:32:35
Naja das war der Anfang nach einem set MQTT_Worx connect aus dem Zustand eines manuellen set disconnect

Jo, so habe ich auch gerade das Log in meinem vorangegangenen Post erzeugt.

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Otto123

#198
Mit einem neuer MQTT2_CLIENT (gegenüber meinem ersten Log)
Ich habe das Gerät mit attr  disable 1 in der Raw Def neu angelegt -> das bewirkt nichts! Es läuft sofort los:
2021.06.10 13:00:38 3: Opening MQTT_Worx device a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883
2021.06.10 13:00:38 3: MQTT_Worx device opened
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 13:00:39 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 13:00:39 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 13:00:39 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 13:00:39 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 52.31.56.205
2021.06.10 13:00:39 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 13:00:39 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 13:00:39 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 13:00:39 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 34.247.193.208
2021.06.10 13:00:39 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 13:00:39 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 13:00:39 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 13:00:39 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 13:00:39 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 54.154.245.64
2021.06.10 13:00:40 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b

Auch bei einem Neustart von FHEM bewirkt das gesetzte und gesicherte (save) Attribute disable 1 nichts!
Die ersten beiden Zeilen nach der Neuanlage Opening und opened fehlen aber nach dem Neustart im Log, die gibt es nur beim define?!
2021.06.10 13:01:16 0: Featurelevel: 6
2021.06.10 13:01:16 0: Server started with 57 defined entities (fhem.pl:24589/2021-06-05 perl:5.028001 os:linux user:fhem pid:16492)
2021.06.10 13:01:16 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 13:01:16 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 52.215.104.241
2021.06.10 13:01:16 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 13:01:16 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 13:01:16 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 13:01:17 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 13:01:17 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking
2021.06.10 13:01:18 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 52.50.112.165
2021.06.10 13:01:18 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 13:01:18 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 13:01:18 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 13:01:18 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 13:01:18 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/ NonBlocking

erst zweimal "hämmern" auf set disconnect beendet den Spuk, das erste sehe ich allerdings nicht im Log:
2021.06.10 13:02:10 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 52.210.125.175
2021.06.10 13:02:10 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 13:02:10 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 13:02:10 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 13:02:10 5: MQTT_Worx: discarding DISCONNECT (224)(0)

Die Maschine ist ein Pi3+ (der andere war ein Pi3) - meine Internet Anbindung ist ziemlich lahm ...
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

hoppel118

Zitat von: Otto123 am 10 Juni 2021, 13:10:29
erst zweimal "hämmern" auf set disconnect beendet den Spuk, das erste sehe ich allerdings nicht im Log:

Jo, das kann ich so bestätigen. Ich dachte auch: "Häh..., warum hört der jetzt nicht auf.". Das zweite "set disconnect" hat dann geklappt.

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

mthome

Hallo zusammen,

ich habe seit gestern auch einen neuen Worx m700plus. Leider hat das Einrichten bei mir auch nicht funktioniert. Hatte es gestern versucht und dann heute erneut...leider ohne Erfolg  :'(.

Das Log sieht aus wie bei Hoppel.

rudolfkoenig

Ich starrte jetzt ne Weile den Code an, habe diverse Experimente mit temporaeren Debug-Ausgaben gemacht, konnte aber euer Problem nicht nachstellen.
Meine Theorie mit den zwei parallel laufenden Connections ist vmtl. falsch, die Meldungsreihenfolge (reappeared ... waiting to reappear) ist zwar verwirrend, aber normal. Was nicht normal ist, dass zwischen disconnect und naechsten connect keine 5 Sekunden an Pause eingelegt werden, in meinen Experimenten war das stets der Fall.

Ich lass das jetzt erstmal liegen, bis mir jemand was zum Nachstellen gibt, oder erklaert, wieso das Problem auftritt.

mthome

Was mir noch aufgefallen ist: Im MQTT2 Client hat die user-id 41 Zeichen. In der DeskApp nur 36.

Wofür wird denn die userid verwendet?

Otto123

#203
Das ist eine gute Frage... Da sie im MQTT_CLIENT als Client ID eingetragen wird, wird sie also offenbar zur Identifikation des MQTT Clients verwendet.
Die Deskapp verwendet eine Standard UUID mit 32 Zeichen und 4 Bindestrichen. (dazu gab es letztens angegregt durch meine Gedanken in diesem Projekt eine hitzige Diskussion  ::) )
Der Aufbau einer ClientID bei MQTT folgt mWn keinem strengen Standard, sie sollte am MQTT Server eindeutig sein. Viele Server sperren ein mehrfaches Login mit gleicher ID.
Insofern ist der Ansatz der DeskApp richtig: einfach eine UUID erzeugen.
Mein Ansatz war der Gleiche und im ursprünglichen Artikel zu diesem Projekt wurde der Vorsatz android verwendet, scheinbar macht die App von landroid das so. Da letztens die Frage kam ob ich einfach das l vergessen habe, dachte ich ich setze fhem davor und nehme die FUUID des MQTT2_DEVICES.

Es ist keine UserID, es ist eine ClientID!

Ergänzung:
ich bin immer noch gesperrt. Der Cloudserver sperrt dabei offenbar nicht den Account an sich, auch der Zugang zu den (MQTT ?) Daten wird nicht gesperrt - die App auf dem Smartphone gestattet An- und Abmeldung und aktualisiert die Daten während der Mäher unterwegs ist. Die Veränderung der Konfiguration und die Steuerung ist gesperrt.
Die Deskapp und FHEM können sich aber nicht anmelden. Scheinbar habe ich diesmla mehr verbockt und der Wechsel über Mitternacht hat nicht geholfen.
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

mthome

#204
Danke für die Erläuterungen!

Bei mir war es das erste Mal ziemlich genau nach 24 Stunden. Also morgens ging Nix aber dann am Nachmittag war Login wieder möglich.

ZitatEs ist keine UserID, es ist eine ClientID!
Sorry ich meinte natürlich ClientID  ;D.

Ich bin leider auch noch gesperrt  ::)...wohl noch bis heute Abend da ich gestern nochmals probiert hatte

hoppel118

@Otto Deine Ergänzung kann ich bestätigen. Ich bekomme Statismeldungen zum Mähvorgang, einstellen kann ich aber nichts mehr.

Ich handhabe es so, dass ich die App 24h nicht anfasse. Das hat beim letzten Mal geklappt.

Mir stellt sich gerade die Frage, ob in der Speerphase bereits der Versuch etwas per App zu konfigurieren, schon zu einem erneuten Start der Speerphase um 24h führt. Keine Ahnung... Deshalb lasse ich dann einfach die Finger von der App, der DeskApp und FHEM.

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Hallo Otto,

ich habe mal eine Frage an dich. Wenn ich es richtig verstanden habe, hast du deinen Robomäher in einer zweiten FHEM Instanz angelegt und kannst dort den Fehler nachstellen, in deiner Hauptinstanz hast du diesen Fehler aber nicht.

Habe ich das richtig verstanden? Wenn ja, frage ich mich, wo denn da nun der genaue Unterschied ist? Wenn nein, was habe ich falsch verstanden? ;)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Otto123

Wüsst ich auch gern. :)
Ich meine: Wenn ich die Raw DEF komplett umziehe und nicht zweimal zur gleichen Zeit verwende - gibt es kein Problem.
Ich hatte schon mein Android App, die DeskApp, die "Axel Mohnen Landroid NodeJs Geschichte" und FHEM MQTT parallel in Betrieb - kein Problem. Aber ist schon ein Weilchen her.
Ich meine, ich hatte auch schon zwei FHEM Instanzen mit unterschiedlichen ClientIDs in Betrieb. Aber auch schon ein Weilchen her.
In jüngster Vergangenheit hatte ich regelmäßig die FHEM Instanz, meine Android App und die DeskApp parallel in Betrieb - kein Problem.

Also meine ich: Ich kann doch einfach eine neue FHEM Instanz (mit neuer CID) testen, das ist mir aber aktuell nicht gelungen. Also ob derzeit der Zugang am Cloud Server limitiert ist.
Oder ob man immer einen Tag warten muss, wenn man mal was neu gemacht hat?
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

hoppel118

Alles sehr mysteriös. ;)

Zitat von: Otto123 am 11 Juni 2021, 14:22:01
Oder ob man immer einen Tag warten muss, wenn man mal was neu gemacht hat?

Ich hatte mein MQTT2_Device gestern nach den gescheiterten Tests manuell auf "disabled" gesetzt.

Wie gehe ich beim nächsten Versuch am besten vor?


  • MQTT2_Device auf "connect" setzen und abwarten was passiert. Deiner These nach besteht die Chance, dass sich das Device nun 24h später sauber anmelden kann.
  • Alle attr des MQTT2_Device löschen und manuell über das FHEM WebUI eingeben, um sicherzugehen, dass nicht fälschlicherweise irgendwelche Leer-/Sonderzeichen per RAW definition mit kopiert wurden. Wobei..., hätte mir die RAW definition dann nicht beim "execute commands" eine Fehler- bzw. Infomeldung ausgeben müssen?

Danke und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

frober

#209
Zitat von: hoppel118 am 11 Juni 2021, 15:55:32
  • Alle attr des MQTT2_Device löschen und manuell über das FHEM WebUI eingeben, um sicherzugehen, dass nicht fälschlicherweise irgendwelche Leer-/Sonderzeichen per RAW definition mit kopiert wurden. Wobei..., hätte mir die RAW definition dann nicht beim "execute commands" eine Fehler- bzw. Infomeldung ausgeben müssen?

Danke und Gruß Hoppel

Fhem überprüft Syntaxfehler, worunter Leerzeichen eher nicht fallen. Bein /n /t  etc. (Steuerungszeichen) bin ich mir nicht sicher.

Wenn du die Definition nicht in einen Windows-Texteditor zwischengespeichert hast, sollte es hier kein Problem geben.

Falls du überhaupt Windows benutzt, ich benutze z.B. Notepad++. Das zeigt alle Zeichen an...
Raspi 3b mit Raspbian Buster 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...