MQTT2 für Worx Landroid Mähroboter

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

Vorheriges Thema - Nächstes Thema

Otto123

Zitat von: Peteruser am 28 April 2021, 14:08:35
Ich habe die Zeile nochmal ausgeführt und einen Restart gemacht.
Ich war der Meinung meine Zeile sollte greifen, aber Du hast das Gerät umbenannt. Damit geht MQTT2_.*:FILTER=IODev=MQTT_Worx ins Leere.
Da hatte ich zu kurz gedacht. Ich hätte es allgemeiner fassen sollen. Oder ich schreibe in die Anleitung den Satz mit der Auswahl. Man kann eben nicht alle Eventualitäten vordenken. :D
Schön das es funktioniert.
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

fred_feuerstein

Gibt es eigentlich auch eine Möglichkeit, das Intervall der Anrufe einzustellen oder explizit per Befehl eine Art statusrequest zu starten?
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

Otto123

MQTT ist wie Radio: Wenn der Nachrichtensprecher das Mikro in die Hand nimmt kann man zuhören oder abschalten.
Das MQTT2 Device hört die ganze Zeit nur zu. Nachrichten mit retain Flag kann der Client jederzeit "abhören".
Sicher kann man dem Rasenmäher irgendwas schicken und er wird es quittieren.
Einen Befehl als Statusrequest kenn ich nicht. Das man den Mäher in seiner Sendefrequenz einstellen könnte, habe ich nirgends gesehen.
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

fred_feuerstein

Danke für die Info.

So nach der bisherigen Zeit seit der Einrichtung über MQTT2 muss ich sagen, läuft es ziemlich gut damit. Musste bei meinen DOIFs für das Setzen der Kalendereinträge noch etwas mit den "Wait"-Zeiten spielen. Aber nun läuft es denke ich.

Dann kam noch hinzu, dass ich bei meinem Mäher aus 2018 dieses Jahr einen neuen Akku (den etwas stärkeren 2,9Ah Akku, statt 2,0Ah) eingebaut habe. Da der Mäher bei nichtgebrauch ohne Strom ist, musste ich wegen der längeren Ladezeit für den 2,9Ah Akku auch hier die Zeit vom Einschalten des Stroms vor einem Mähtermin bis zum Start des Mähvorgangs noch etwas verlängern.
Aber auch das passt nun.

Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

Skusi

Ich hab das auch nun testweise auf MQTT laufen. Aber ich komme mit der Befehls Syntax noch nicht klar.
Wie setzte ich denn zB. die Kalender Einträge ???
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

#125
Zitat von: Skusi am 07 Mai 2021, 11:19:49
Wie setzte ich denn zB. die Kalender Einträge ???
1. Im Kalender :) - aber Du meinst für den Mäher?
2. in der App
3. so wie hier beschrieben https://forum.fhem.de/index.php/topic,111959.msg1151156.html#msg1151156
4. diesen String bauen und über x_raw_payload schicken
{"m":1,"p":0,"sc":{"d":[["00:00",0,0],["09:00",10,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0]],"dd":[["00:00",0,0],["09:00",10,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0]]}}

Das war natürlich nur ein rudimentärer Ansatz.

Alternativ nutzt man einfach ein Calendar Device und startet Event gesteuert den Mäher von FHEM. Das  macht aus meiner Sicht mehr Sinn, als etwas nachzubauen was über die App ganz easy realisiert ist?

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

kjmEjfu

Zitat von: fred_feuerstein am 23 April 2021, 16:32:06
bei meinem 2018er Worx funktioniert ja seit Firmware 3.52 der Befehl zum BorderCut nicht mehr. Er reagiert da einfach nicht drauf.
Hatte aber auch bevor es diese Funktion gab schon eine manuell Funktion dazu in Betrieb.
Ich setze einen Dummy (Shaun_HomeBorderCut) auf "on". Darauf triggert dann ein Doif:


([Shaun_HomeBorderCut:state] eq "on" and ([ShaunDasSchaf:mowerStatusTxt] eq "Home" or [ShaunDasSchaf:mowerStatusTxt] eq "Idle")
(set ShaunDasSchaf startMower)
(set ShaunDasSchaf pauseMower)
(set ShaunDasSchaf stopMower)
(set Shaun_HomeBorderCut off)


Wichtig sind dann die Attribute:
wait      0,4,2,30
do        always


damit klappt der Bordercut perfekt. Ergentlich macht die Funktion bei Worx ja auch nix anderes.
Hatte auch früher damit funktioniert.

Naja. Muss man sich halt nur zu helfen wissen :)

wenn man das so umsetzt, dann wird für den Landroid aber die ganze Zeit "Searching wire" als mowerStatusTxt angezeigt. Ist nicht kritisch, aber noch ein kleiner Schönheitsfehler.
Migriere derzeit zu Home Assistant

fred_feuerstein

Nur leider funktioniert bei mir die Default bordercut Funktion nicht mehr..
Das hat aber auch nix mit mqtt2 zu tun. Auch beim modul von Axel ging es nicht mehr mit der neuen Firmware.

Mit meinem weg als workaround schon. Von daher, alles gut.
Ich könnte ja einen erweiterten StatusTxt als userreading bauen, der dann entsprechend mit bordercut gefüllt wird, aber es stört mich aktuell nicht.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

Otto123

@fred_feuerstein Kannst Du mal den kompletten json String posten den die DeskApp liefert?
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

Allgaeuer

Hallo, seit dieser Saison bekomme ich Nachts für ca. 1 h keine MQTT-Nachrichten übermittelt. Der Beginn der "Totzeit" schwankt von 1/2 h vor Mitternacht bis ca. 1 Uhr. Habt Ihr das auch?

Vielleicht könnt Ihr mal Eure Log's (z.B. batteryVoltage) diesbezüglich prüfen. - Das würde mir bei der Ursachensuche helfen.
Danke schon mal in Voraus. 

PS: Mein Mäher muss nachts nicht raus, ich verwende diese Daten von Batteriestand aber als "Lebenszeichen" des Robby und ermittle damit den optimalen Startzeitpunkt.

Otto123

@Allaeuer Bei mir kommt etwa alle 10 min eine Nachricht. Kann die Totzeit nicht bestätigen.
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

fred_feuerstein

Zitat von: Otto123 am 07 Mai 2021, 21:38:53
@fred_feuerstein Kannst Du mal den kompletten json String posten den die DeskApp liefert?

Du meinst die Ausgabe der MQTT Seite der DeskApp?

{
  "cfg":{"id":1,
    "lg":"it",
    "tm":"11:56:28",
    "dt":"10/05/2021",
    "sc":{"m":1,"p":0,"d":[
      ["00:00",0,0],
      ["00:00",0,0],
      ["00:00",0,0],
      ["00:00",0,0],
      ["00:00",0,0],
      ["00:00",0,0],
      ["00:00",0,0]]},
    "cmd":0,
    "mz":[0,0,0,0],
    "mzv":[0,0,0,0,0,0,0,0,0,0],
    "rd":0,
    "sn":"20183019090200XXXXXX"},
  "dat":{
    "mac":"F0FE6B8XXXXX",
    "fw":3.52,
    "bt":{"t":21.7,"v":18.88,"p":70,"nr":1697,"c":1,"m":0},
    "dmp":[-8.7,-1.1,227.5],
    "st":{"b":23748,"d":391353,"wt":24697},
    "ls":1,
    "le":0,
    "lz":1,
    "rsi":-69,
    "lk":1}
}


Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

Otto123

Ja genau,

da fehlen in Deiner Firmware aber wirklich die notwendigen Elemente für BorderCut  :o
"distm":0,"ots":{"bc":1,"wtm":0},
Lustig ist ja das die Sprache offenbar immer italienisch ist "lg":"it",

Kann man nix machen...
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

golem

Hallo,

mal eine bescheidene Frage. Was mus ich einstellen, das der moverStatusText als State angezeigt wird? Und wenn möglich das Icon seine Farbe anpasst grün wenn er föhrt, rot bei Fehlter, gelb bei Border cut und ansonsten grau.

gruß Gol
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

#134
Ich vermute mal, Du willst das hier:
attr a:model=worx_landroid_mover stateFormat mowerStatusTxt
Das würde den STATE setzen.
Wenn Du wirklich State willst, müsstest Du ein zusätzliches userReadings mit diesem Inhalt setzen :)
State:mowerStatusTxt {ReadingsVal($name,'mowerStatusTxt','')}
Das icon vorn in der Farbe zu schalten ist jedes mal einen Config Änderung, Du müsstest also was bauen was in Abhängigkeit von mowerStatusIndex und mowerErrorIndex die Farbe ändert.
attr a:model=worx_landroid_mover icon scene_robo_lawnmower@red

Was Du aber sicher willst ist ein devStateIcon, das könntest Du Dir zusammenbauen, am Besten mit einer Sub in der 99_myUtils. Eine Anregung dazu könntest Du z.B. hier finden.

Man kann auch was im stateFormat machen, das wird aber schnell unübersichtlich. Ein Teil Deiner Forderung als Beispiel:
{ReadingsNum($name,'mowerErrorIndex',99) > 0?'scene_robo_lawnmower@red':ReadingsNum($name,'mowerStatusIndex',99) > 1?'scene_robo_lawnmower@green':'scene_robo_lawnmower@grey'}

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