MQTT2 für Worx Landroid Mähroboter

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

Vorheriges Thema - Nächstes Thema

Otto123

Moin,

Eigentlich komisch, aber ich hatte das letztens auch. Ich habe etwas experimentiert und eine zweite Instanz eingerichtet.
Bei mir war es sogar so, dass sich die Readings gefüllt hatten.

Normal sollte das nicht so sein, aber wer weiß. Warte erstmal bis morgen, wenn Du ansonsten der Meinung bist, Du hast keine Fehler in der Definition.

Gruß Otto
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

Danke dir Otto. Ich melde mich wieder, wenn ich weiter getestet habe.
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

rudolfkoenig

ZitatDie reappeared/disconnected Meldungen tauchen innerhalb kürzester Zeit in großer Menge auf, bis ich den MQTT2_Client manuell auf disconnect setze.
Das mit ""kürzester Zeit in großer Menge" finde ich nicht ok, und ich wuerde es gerne fixen.
Koennt ihr mir helfen das zu reproduzieren?

Otto123

Hallo Rudi,

ich hatte sogar schonmal den Fall da hat disconnect keine Wirkung gezeigt, aber das ist aktuell nicht so, kann sein das war eine ältere MQTT2_CLIENT Version.

Ich versuche das mal ohne Mäher in eine Test zu packen, man kann sich eigentlich einfach so ein Konto anlegen. Ich mache Dir eine Anleitung :)
Mein Raspberry 3 schafft 6 Versuche pro Sekunde:
2021.06.03 20:41:47 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.03 20:41:48 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.03 20:41:48 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.03 20:41:48 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.03 20:41:48 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.03 20:41:48 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.03 20:41:48 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.03 20:41:49 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)

Grüße Otto
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

#184
Hallo Leute,

habe es gerade erneut probiert.

Erstmal mit der DeskApp angemeldet und verbunden. Das sieht schonmal gut aus. Mir wird alles angezeigt.

Anschließend habe ich dann entsprechend des Eingangspost alles nochmal von vorn gemacht. Das FHEM Device fängt sofort wieder an die Status zu wechseln, was ich dann sofort beendet habe, indem ich den MQTT2 Client auf "disconnect" gesetzt habe. Anschließend habe ich mich direkt nochmal mit der DeskApp verbunden. Das Funktioniert noch.

Gerätemodell: Worx Landroid WR165E
Hier ein list des MQTT2_Client:

Internals:
   CFGFN     
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883
   DeviceName a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883
   FUUID      60c1bb70-f33f-5dcf-f877-1d42337487f1bec8
   NAME       MQTT_Worx
   NR         1778
   SSL        1
   STATE      disconnected
   TYPE       MQTT2_CLIENT
   clientId   fhem-60c1bbab-f33f-5dcf-d603-0534524fe385
   connecting 2
   nextOpenDelay 5
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2021-06-10 09:13:58   state           disconnected
   sslargs:
     SSL_cert_file aws.cer
     SSL_key_file aws.key
     SSL_use_cert 1
     SSL_version TLSv12
Attributes:
   SSL        1
   autocreate simple
   clientId   fhem-60c1bbab-f33f-5dcf-d603-0534524fe385
   keepaliveTimeout 600
   mqttVersion 3.1.1
   msgAfterConnect PRM100/E868E7219054/commandIn {}
   sslargs    SSL_version:TLSv12 SSL_cert_file:aws.cer SSL_key_file:aws.key SSL_use_cert:1
   subscriptions PRM100/E868E7219054/commandOut


Das Ergebnis von "{qx(ls -lha /opt/fhem/aws.*)}" sieht wie folgt aus:

-rw------- 1 fhem dialout 1,4K Jun 10 09:10 /opt/fhem/aws.cer
-rw------- 1 fhem dialout 1,8K Jun 10 09:10 /opt/fhem/aws.key


Das sieht meiner Ansicht nach gut aus. Was kann ich nun tun?

EDIT: Achja, wenn ich nur die erste Zeile des defines ohne attr in FHEM konfiguriere, steht das Device auf "open". Wenn ich dann den Rest per RAW definition hinzufüge, geht es los mit den Statuswechseln. Könnte in den Attributen noch irgendwo ein Fehler liegen? Oder liegts an dem neuen Modell?

Danke euch 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

Ralli

Nur ein Schuss ins Blaue:

Sollte im Attribut sslargs vielleicht eine Pfadangabe bei den Zertifikaten sein?

Also nicht

sslargs    SSL_version:TLSv12 SSL_cert_file:aws.cer SSL_key_file:aws.key SSL_use_cert:1


sondern

sslargs    SSL_version:TLSv12 SSL_cert_file:./aws.cer SSL_key_file:./aws.key SSL_use_cert:1


oder

sslargs    SSL_version:TLSv12 SSL_cert_file:/opt/fhem/aws.cer SSL_key_file:/opt/fhem/aws.key SSL_use_cert:1


So habe ich es jedenfalls drin stehen und bei mir klappt's.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

rudolfkoenig

Zwischen den ersten beiden Varianten duerfte kein Unterschied geben, wenn meine Kernelprogrammierkenntnisse noch halbwegs valide sind. Auch die dritte Variante sollte keinen Unterschied machen, da "current working directory" fuer FHEM /opt/fhem ist. Es sei denn, die /opt Rechte wurden nach dem FHEM Start entzogen, aber das wird esoterisch.

Otto123

@Ralli mMn sind alle 3 Schreibweisen funktional identisch, es sei denn es stimmt etwas am allgemeinen Setup nicht.

@Rudi
ich habe gerade mal meinen CLIENT auf eine zweite Instanz umgezogen. Also den ersten MQTT_Worx disconnected Zertifikate kopiert und die Raw Def kopiert. Funktioniert auf Anhieb, allerdings fällt mir auf:
2021.06.10 09:58:24 3: Opening MQTT_Worx device a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883
2021.06.10 09:58:24 3: MQTT_Worx device opened
2021.06.10 09:58:24 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 09:58:24 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 09:58:26 2: autocreate: define MQTT2_android_da8a27fb_15bf_4450_a4d6_036c0902b83b MQTT2_DEVICE android_da8a27fb_15bf_4450_a4d6_036c0902b83b MQTT_Worx
2021.06.10 09:58:26 2: autocreate: define FileLog_MQTT2_android_da8a27fb_15bf_4450_a4d6_036c0902b83b FileLog ./log/MQTT2_android_da8a27fb_15bf_4450_a4d6_036c0902b83b-%Y.log MQTT2_android_da8a27fb_15bf_4450_a4d6_036c0902b83b

Einmal kurzes "husten" passiert hierbei - mag nicht schlimm sein aber warum eigentlich? Ein zweites manuelles disconnect / open verläuft "glatt" mit eine Meldung
2021.06.10 10:06:54 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
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: hoppel118 am 10 Juni 2021, 09:24:35


EDIT: Achja, wenn ich nur die erste Zeile des defines ohne attr in FHEM konfiguriere, steht das Device auf "open". Wenn ich dann den Rest per RAW definition hinzufüge, geht es los mit den Statuswechseln. Könnte in den Attributen noch irgendwo ein Fehler liegen? Oder liegts an dem neuen Modell?

Danke euch und Gruß Hoppel

Bei mir funktioniert es ohne Pfadangabe.

Lösche Mal alle Attribute und lege diese manuell an, ohne Copy&paste.
Evtl. kopierte du, nicht sichtbar, Leerzeichen o.ä. mit rein.
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...

rudolfkoenig

ZitatEinmal kurzes "husten" passiert hierbei - mag nicht schlimm sein aber warum eigentlich?
Kann es Dir leider ohne nachstellen / debuggen / etc nicht sagen.

Otto123

#190
Zitat von: hoppel118 am 10 Juni 2021, 09:24:35
EDIT: Achja, wenn ich nur die erste Zeile des defines ohne attr in FHEM konfiguriere, steht das Device auf "open". Wenn ich dann den Rest per RAW definition hinzufüge, geht es los mit den Statuswechseln. Könnte in den Attributen noch irgendwo ein Fehler liegen? Oder liegts an dem neuen Modell?
Naja mit der ersten Zeil passiert wahrscheinlich "noch gar nichts". "PRM100" ist auch mein Modell - also scheinbar ist da nicht soviel neu.

Ich habe jetzt festgestellt, ein Wechsel der (selbstgewählten/erzeugten) ID bewirkt sofort den hektischen Wechsel disconnected/reappeared.
Ein Wechsel auf die ID die die DeskApp verwendet funktioniert auch nicht.

@Hoppel ich denke deine heutige Neuanlage von "allem" war vielleicht sogar kontraproduktiv. Ich habe irgendwie den Eindruck, als ob der Cloudserver, erst mal skeptisch reagiert und am zweiten Tag akzeptiert?
Meine Versuche führen definitiv zur "Verwirrung"
Nach allen Versuchen in der zweiten FHEm Instanz hat er mir jetzt in meiner Hauptinstanz ein erneutes open (alle anderen geschlossen) mit einem 8 sekündigen hektischen Wechsel (2 Wechsel pro sekunde, also 4 Einträge) ein dauerhaftes open geliefert.  ???
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

Otto123

#191
Zitat von: rudolfkoenig am 10 Juni 2021, 10:43:43
Kann es Dir leider ohne nachstellen / debuggen / etc nicht sagen.
was kann ich tun? Ich habe gerade mal mit einem zweiten Account probiert, damit kann man per mqtt nichts machen, man braucht einen registrierten Mäher.
Also mir fällt kein Scenario ein, wie ich Dir eine Umgebung liefern kann. Die Anmeldung mit einer zweiten Instanz DeskApp hat mich jetzt erstmal wieder komplett rausgeworfen. Ich habe jetzt einen Tag pause  :-[

Edit: gesperrt wird offenbar der Account, die App geht auch nicht mehr, andere IP spielt auch keine Rolle.
Edit2: Interessanterweise empfängt die App aktuelle Daten wenn man ihn am Gerät startet. Aber jegliche Konfiguration oder Steuerung wird unterbunden.

Also die Ablehnung und deren zu schnelle Frequenz kann ich jetzt beliebig sniffen.
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

rudolfkoenig

Einen Maeher kaufe ich jetzt dafuer nicht.

Wenn Du das Problem erzeugen kannst: bitte es mit "attr MQTT2_CLIENT verbose 5" protokollieren, die Daten hier anhaengen, oder mir schicken. Es reichen 2-3 disconnect Versuche, aber aus dem Abschnitt, wo es schnell hintereinander kommt.

Otto123

Naja viel passiert da nicht  ::) aber derzeit bin ich ja auch dauerhaft blockiert. Kann morgen einen zweiten Test machen.
2021.06.10 11:55:04 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/
2021.06.10 11:55:04 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 34.251.59.199
2021.06.10 11:55:05 5: MQTT_Worx: sending SUBSCRIBE (130)#(0)(145)(0)(30)PRM100/98D86331CB24/commandOut(0)
2021.06.10 11:55:05 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 11:55:05 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 11:55:05 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/
2021.06.10 11:55:05 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 34.251.59.199
2021.06.10 11:55:05 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 11:55:05 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 11:55:05 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 11:55:05 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
2021.06.10 11:55:06 5: HttpUtils url=https://a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883/
2021.06.10 11:55:06 4: IP: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com -> 34.251.59.199
2021.06.10 11:55:06 5: MQTT_Worx: sending CONNECT (16)8(0)(4)MQTT(4)(2)(2)X(0),android-da8a27fb-15bf-4450-a4d6-036c0902b83b
2021.06.10 11:55:06 5: SW: 103800044d51545404020258002c616e64726f69642d64613861323766622d313562662d343435302d613464362d303336633039303262383362
2021.06.10 11:55:06 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 reappeared (MQTT_Worx)
2021.06.10 11:55:06 1: a1optpg91s0ydf-ats.iot.eu-west-1.amazonaws.com:8883 disconnected, waiting to reappear (MQTT_Worx)
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

rudolfkoenig

Da ist die Reihenfolge falschrum, als ob FHEM versuchen wuerde zwei Verbindungen aufzubauen. Damit waere es nachvollziehbar, dass der Server die jeweils andere Verbindung schliesst.

Kannst Du bitte das Log nochmal erstellen, und dabei nur den "Anfang" anhaengen? D.h. entweder nach FHEM Start, oder wo die MQTT Instanz "gestartet" wird (was auch immer das bedeutet).