MQTT2 für Worx Landroid Mähroboter

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

Vorheriges Thema - Nächstes Thema

frober

Alternativ:

attr <Device> stateFormat Active: mowerActive, Status: mowerStatusTxt, Error: mowerErrorTxt


Ist zwar nicht bunt, aber man sieht den kompletten Status im Überblick.
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

Hallo Otto,

könntest du bitte noch
deletereading -q DEVICE (?!associatedWith).*

ins Templates mit aufnehmen?

Wird bei den Shellys auch so gehandhabt.

Damit werden alle Readings, bis auf DevIO, beim übernehmen des Templates gelöscht.

Ich habe lange gesucht, warum jsonMap bei mir nicht greift, bis mir eingefallen ist, dass beim Autograde die Readings schon vorhandene sind. Erst als ich diese gelöscht habe, hat's dann funktioniert.
Logisch, wenn man gleich daran denkt 8) :D ;)

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

Skusi

Ich vermisse noch die Möglichkeit den Startpunkt festzulegen. Also die Zonen Funktion.
In Axels Modul gab es dazu folgende readings:

areasArea1         5
areasArea2        47
areasArea3        64
areasArea4        82
areasAreaAct       0
areasAreaActInd  0
areasStartSequence  0,0,0,0,0,0,0,0,0,0


Die areasArea1-4 sind da die Meter am Begrenzungsdraht gewesen und über die Sequence konnte man die Prozentuale Verteilung der Zonen angeben.

Ich startete den Mäher über das setzten des areasStartSequence Befehls auf z.B 3,3,3,3,3,3,3,3,3,3,in der Zone 3, also bei Meter 64 am Draht.

Wie kann ich das nun per MQTT realisieren ?
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Otto123

#138
Hi Skusi,

schau doch mal mit der desktop App in den mqtt String ob Du da Deine Areas wiederfindest - müsste mz sein.
Von der Anzahl der Felder her kann das mit der Start Sequenz nur cfg mvz sein.
Mal mit x-raw-payload versuchen in dem Format?

{"mzv":[3,3,3,3,3,3,3,3,3,3],}
oder
{"mz":[0,0,0,0],"mzv":[0,0,0,0,0,0,0,0,0,0],}

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

Stefan_Hvr

Zitat von: Otto123 am 13 Mai 2021, 10:53:47
Hallo Otto,

mzv ist richtig --> {"mzv":[1,1,1,1,1,1,1,1,1,1]} OHNE das letzte Komma klappt's auch

Gruß Stefan
Viele Grüße aus Hannover
EnOcean, Zigbee, Shelly MQTT, Homebridge, Fritzbox, Harmonyhub, Alexa, Worx MQTT, Sonos MQTT, Tahoma, Telegram, Vorwerk,IRoomba MQTT, Buderus Km200,
seit 08/2019 Hausautomation mit FHEM

golem

Zitat von: frober am 13 Mai 2021, 09:22:37
Alternativ:

attr <Device> stateFormat Active: mowerActive, Status: mowerStatusTxt, Error: mowerErrorTxt


Ist zwar nicht bunt, aber man sieht den kompletten Status im Überblick.

Danke, das ist schon super, nur jetzt fehlt noch der Party modus...
Pi - Max-Lan - 8x max Ht -3x Max WT - Max Fk -modbus umg103- 2x Arduino mit Firmata Ethernet- ws300 - 433Mhz Sender Empfänger - 7x 1wire ds1820

Otto123

startParty ist doch implementiert? Oder wie ist Deiner Frage zu verstehen?
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

Stefan_Hvr

#142
Zitat von: Otto123 am 20 Mai 2021, 14:20:40
startParty ist doch implementiert? Oder wie ist Deiner Frage zu verstehen?

Hallo Otto, Hallo zusammen,
startParty mit der Angabe einer Minutenanzahl funktioniert.
Wie kann ich den Partymodus dauerhaft (Urlaub) einstellen?

Ausschalten mache ich immer indem ich startParty auf eine Minute setze. Gibt es da einen besseren/direkten Weg?

ggf. mit direktem publish?

VG Stefan
Viele Grüße aus Hannover
EnOcean, Zigbee, Shelly MQTT, Homebridge, Fritzbox, Harmonyhub, Alexa, Worx MQTT, Sonos MQTT, Tahoma, Telegram, Vorwerk,IRoomba MQTT, Buderus Km200,
seit 08/2019 Hausautomation mit FHEM

Otto123

Hallo Stefan,

ok das sind bestimmt zwei "Sonderfälle" die sich in einem speziellen Eintrag im json wiederfinden.
Müsste man mal über die App setzen und schauen was im dann in MQTT zurückbekommt.
Party aus ist sicher einfach distm=0
Ich vermute mal ein -1 oder ein Wert größer als xx wird den Party Modus dauerhaft aktivieren.

Abseits davon, dass es jetzt den Slider gibt, darfst Du jederzeit einen set Befehl absetzen: set mower startParty 0

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

efyzz

Moin,

ich habe ein Problem mit "mowerActive": es steht immer auf true. Eigentlich sollte es doch nur true sein, während der Mäher unterwegs ist?! Aber bei mir steht es scheinbar seit Beginn der Saison auf true. Ebenso über die nodejs-Verbindung hängt es auf true fest.

Hat das noch jemand beobachtet? Liegt es womöglich an der FW 3.x?
RaspberryPi3B, Bookworm Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

Otto123

#145
Nein das könnte am geänderten Verhalten des triggers der userReadings liegen.
Versuch mal
mowerErrorTxt:mowerErrorIndex.* -> mowerErrorTxt:mowerErrorIndex:.*
mowerActive:mowerActiveIndex.* -> mowerActive:mowerActiveIndex:.*


Da hatte sich ev. was geändert. Das userReading hast Du so?
mowerActive:mowerActiveIndex:.* {my %activeState = (
0 => "No",
1 => "Yes",
2 => "Party"
); $activeState{ReadingsVal($name,"mowerActiveIndex","0")}},


Aber das zeigt nur an ob er "da" ist.
"Unterwegs" zeigt das Reading mowerStatusTxt:mowerStatusIndex an.
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

efyzz

Hallo Otto,

noch sieht es so aus:
mowerActive:mowerActiveIndex.* {ReadingsVal($name,"mowerActiveIndex","0") ? "true" : "false"}

Aber auch mowerActiveIndex steht dauerhaft auf 1. Daher hat es wohl nichts mit dem UserReading zu tun.

jsonMap dazu:
cfg_sc_m:mowerActiveIndex
RaspberryPi3B, Bookworm Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

Otto123

Ja aber was erwartest Du? Ich meine  mowerActive:mowerActiveIndex zeigt an: er ist da oder er hat "Party" oder er ist "weg".

Das was Du suchst steht im Status?

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

Otto123

Zitat von: Stefan_Hvr am 24 Mai 2021, 03:24:50
startParty mit der Angabe einer Minutenanzahl funktioniert.
Wie kann ich den Partymodus dauerhaft (Urlaub) einstellen?

Ausschalten mache ich immer indem ich startParty auf eine Minute setze. Gibt es da einen besseren/direkten Weg?
Hallo Stefan,

ich habe nochmal geschaut:
{"sc":{"distm":120}} setzt Party für 120 min. löscht sich nach der zeit automatisch, kann man aber auch mit {"sc":{"distm":0}} jederzeit abschalten
{"sc":{"m":2}} setzt Party dauerhaft, {"sc":{"m":1}} schaltet Party dauerhaft aus.

Jetzt muss ich mal schauen, wie ich das in die Bedienung einbaue.

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

efyzz

Hallo Otto,

was meinst Du denn genau mit "da" und "weg"?

Ich habe ein Notify, dass das WLAN im Garten deaktiviert, wenn mowerActive auf false geht. Das hat letztes Jahr hervorragend funktioniert: Wenn der Mäher mit mähen fertig war und in der Station ankam, ging das WLAN aus (eingeschaltet wird es 15min vor Beginn des Mähplans).

Da scheint sich mit der FW 3.x etwas geändert zu haben, denn es steht bei mir wie gesagt seit Beginn der Saison (und dabei Update auf 3.x) dauerhaft auf true, bzw. mowerActiveIndex dauerhaft auf 1. Gerade mal den Partymodus aktiviert, dann geht mowerActiveIndex auf 2. Partymodus deaktiviert > wieder zurück auf 1.

Aber wann ist es denn 0?
RaspberryPi3B, Bookworm Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.