MQTT2 für Worx Landroid Mähroboter

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

Vorheriges Thema - Nächstes Thema

frober

Zitat von: Otto123 am 29 Juni 2021, 22:31:02
ach so und ich glaube der trigger muss so aussehen mowerActiveZone:dat_lz:.*

Laut Eventmanager ohne Doppelpunkt, ich kann es aber trotzdem Mal probieren.
Diesbezgl. hatte ich mit trigger schon meinen Spaß, der generiert die Events IMMER ohne. Auch wenn das Device diese mit generiert...

Ich werde das morgen nochmal angehen, danke.
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...

Otto123

#271
ja sorry ich liege falsch. geht auch ohne :
Ich hatte noch im Kopf da wurde was geändert, aber "heute" ist der trigger einfach ein regExp, also es würde funktionieren:
mowerActiveZone:dat.*
mowerActiveZone:dat_lz.*
mowerActiveZone:dat_lz:.*

Der letzte Ausdruck ist der präziseste, der Event dazu sieht so aus mowerActiveZone dat_lz: 2
Man beachte dabei: Hinter dem Device steht kein Doppelpunkt hinter dem Reading schon! Der zweite Doppelpunkt ist also kein Trenner sondern Bestandteil des regExp.
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

Zitat von: frober am 29 Juni 2021, 22:41:35
Ich werde das morgen nochmal angehen, danke.
Die Frage ist noch, was wird bei deinem Versuch heute anders sein als gestern?
Aus meiner Erfahrung kann man die Sperre verhindern wenn man den MQTT_Worx manuell disconnected/disabled hat, connect macht, beobachtet und falls der state wechselt dann sofort zweimal ein disconnect absetzt!
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 30 Juni 2021, 10:02:13
Die Frage ist noch, was wird bei deinem Versuch heute anders sein als gestern?
Aus meiner Erfahrung kann man die Sperre verhindern wenn man den MQTT_Worx manuell disconnected/disabled hat, connect macht, beobachtet und falls der state wechselt dann sofort zweimal ein disconnect absetzt!

Da liegst du wieder verkehrt  ;)
Ich habe keine Verbindungsprobleme, bei mir geht es nur ums userreading...und da teste ich heute nochmal.
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...

frober

Jetzt bin ich platt, hmm. :o

Das userreading funktioniert, so wie ich es gestern hatte. Nach dem Mähen heute wurde es angelegt, bei Änderungen von dat_lz.

Dieses steht jetzt auf 0, d.h. die letzten 10% werden als 0 und nicht als 10 angezeigt.
Das muss ich beobachten, nicht dass alles um eins versetzt ist.

Jetzt stellt sich die Frage warum es beim testen mit trigger und setreading nicht funktioniert hat.
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...

Otto123

Zitat von: frober am 30 Juni 2021, 20:15:34
Da liegst du wieder verkehrt  ;)
Ich habe keine Verbindungsprobleme, bei mir geht es nur ums userreading...und da teste ich heute nochmal.
Ja die Frage ging an remo - sorry :)
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

remo

#276
Zitat von: Otto123 am 30 Juni 2021, 20:59:47
Ja die Frage ging an remo - sorry :)

SUCCESS!

Habe vorhin nochmal den Debian frisch gemacht,
mir nochmal Zeile für Zeile des MQTT_CLIENT angesehen (keine Fehler gefunden).

Das mit dem schnellen DISCONNECT hatte ich mir auch schon als Plan zurecht gelegt, falls es wieder hin und her springt.

Aber diesmal sofort OPENED und dabei blieb es auch (seit ca. 2h).

Keine Ahnung woran es lag. Vielleicht doch etwas mit der ID ...

Jedenfalls passt es jetzt. Vorerst.

Dankeschön erstmal  :)

frober

@Otto schon ok  :)

Zitat von: frober am 30 Juni 2021, 20:30:28
Jetzt stellt sich die Frage warum es beim testen mit trigger und setreading nicht funktioniert hat.

Das Verhalten ist seltsam, ich habe nun doch den : eingefügt, da mit setreading ein : vorhanden ist.
Das Testen mit setreading funktioniert nur, wenn ich die Reihenfolge einhalte. D.h. dat_lz muss ich immer von 1-10 (0) durchsetzen, eine Zufallszahl setzen erzeugt kein userreading. ::)

Da ich die Reihenfolge durch habe und die Zonen dabei verglichen habe. dat_lz 0 bedeutet 100%, leider bekomme ich hier das userreading nicht hin, 1-9 funktioniert nur die 0 (10) will nicht.

mowerActiveZone:dat_lz:.* {my $evt = ReadingsVal($name,"dat_lz",0); if ($evt == 0) {$evt = 10} else {$evt = $evt}; my $evt1 = 'cfg_mzv_'.$evt; ReadingsVal($name,$evt1,0)}

Das "else {$evt = $evt}" habe ich eingefügt, weil ich nicht sicher bin, ob ein if false das userreading stört.

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...

Otto123

versteh ich nicht. Mit (beliebigen Werten)
setreading Mower cfg_mzv_10 99;setreading Mower dat_lz 0
und dem userReadings in der DEF ergänzt
mowerActiveZone:dat_lz:.* {
  my $evt = ReadingsNum($name,"dat_lz",0);
  if ($evt == 0) {$evt = 10};
  my $evt1 = 'cfg_mzv_'.$evt; ReadingsNum($name,$evt1,0)
  },
funktioniert das. Ich habe ReadingsNum genommen, das sollte aber egal sein.
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 30 Juni 2021, 22:22:22
versteh ich nicht. Mit (beliebigen Werten)
setreading Mower cfg_mzv_10 99;setreading Mower dat_lz 0
und dem userReadings in der DEF ergänzt
mowerActiveZone:dat_lz:.* {
  my $evt = ReadingsNum($name,"dat_lz",0);
  if ($evt == 0) {$evt = 10};
  my $evt1 = 'cfg_mzv_'.$evt; ReadingsNum($name,$evt1,0)
  },
funktioniert das. Ich habe ReadingsNum genommen, das sollte aber egal sein.

Du nimmst das Alias als Name? Wusste nicht, dass das auch geht.
Ich habe den Devicename benutzt. Sollte auch egal sein.

Ich starte mal Fhem neu, vielleicht klemmt irgendwo etwas...
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...

Otto123

ich habe rename gemacht :) aber alias geht mit devspec auch. So arbeite ich bei meinem sonos2mqtt Geräten durchgängig. Allerdings muss der alias nicht eindeutig sein, aber das hat man ja selbst im Griff ;)
setreading alias=Mower dat_lz 0
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

hanswerner1

#281
Hallo,

ich habe das Problem, das seit einen MQTT Client update die Readings vom Worx nicht mehr aktualisiert werden. Beim ersten connect werden die Readings aktualisiert und dann nicht mehr.

Mit der alten MQTT Client Version von 2021-04-28 funktioniert das update der Reading.

Hier noch das List vom Worx Client:


Internals:
   BUF       
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        a1***********************.amazonaws.com:8883
   DeviceName a1**********************1.amazonaws.com:8883
   FD         102
   FUUID      *******************************
   NAME       MQTT_Worx
   NR         1047
   PARTIAL   
   SSL        1
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   android-****************************

   lastMsgTime 1625208212.0397
   nextOpenDelay 5
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2021-07-02 08:22:56   state           opened
   sslargs:
     SSL_cert_file aws.cer
     SSL_key_file aws.key
     SSL_use_cert 1
     SSL_version TLSv12
Attributes:
   SSL        1
   autocreate simple
   clientId   android-**********************************
   icon       scene_robo_lawnmower
   keepaliveTimeout 600
   mqttVersion 3.1.1
   msgAfterConnect PRM100/*************/commandIn {}
   room       90_System,MQTT2_DEVICE
   sslargs    SSL_version:TLSv12 SSL_cert_file:aws.cer SSL_key_file:aws.key SSL_use_cert:1
   subscriptions PRM100/**************/commandOut
   username   *********************


VG HW1

rudolfkoenig

ZitatMit der alten MQTT Client Version von 2021-04-28 funktioniert das update der Reading.
Ich habe gerade die Unterschiede angeschaut: diese sollten nur beim gesetzten disabled Attribut, oder beim geaenderten state Reading eine Rolle spielen. Ich sehe kein disabled Attribut, und ich habe jetzt mehrere Experimente mit komischen state Werten durchgefuehrt, und sehe keine Probleme. Ich stehe vor einem Raetsel.

Otto123

Moin,

ich habe das gerade meine prod. Instanz aktualisiert und habe jetzt 3 MQTT Aktualisierungen abgewartet. Beim mir funktioniert das mit der Version
00_MQTT2_CLIENT.pm 24617 2021-06-12 10:04:13Z
scheinbar wie vorher.

@hanswerner1 Was ich in Deiner Definition unnütz finde: username   *********************
Die Authorisierung funktioniert mMn nur mit dem Zertifikat.

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

hanswerner1

Nachdem ich jetzt auch mal den rasberry geupdatet und neu gebootet habe werden jetzt auch die readings mit der aktuellen Version geupdatet.
Irgendwas scheint sich da bei mir verhakt zu haben.