Roomba Staubsaugerroboter

Begonnen von Prof. Dr. Peter Henning, 10 September 2020, 16:40:34

Vorheriges Thema - Nächstes Thema

MikeR

Bin noch nicht so 100%ig zufrieden...

Am Anfang, nach beachten des Anfänger-WIKIs zum Thema, konnte ich meinen Roomba starten, pausieren und ins Dock fahren.
Jetzt nach dem hin und her Kopieren der "99_RoombaUtils.pm" funktionieren die "set"-Befehle nicht mehr. Connectet ist er, sieht man an den regelmäßigen Aktualisierungen der WLAN-Feldstärken (RSSI, SNR,...). Auch das herstellen der Original "99_RoombaUtils.pm" bringt keine Verbesserung. Was ich seitdem gemacht haben ist ein SetList weiter unten aus dem WIKI:
attr Roomba setList start:noArg {roomba::command($NAME,"start",$EVENT)} \
stop:noArg {roomba::command($NAME,"stop",$EVENT)} \
dock:noArg {roomba::command($NAME,"dock",$EVENT)} \
resume:noArg {roomba::command($NAME,"resume",$EVENT)} \
pause:noArg {roomba::command($NAME,"pause",$EVENT)} \
CarpetBoost:true,false {roomba::setting($NAME,"carpetBoost",$EVENT)} \
TwoPass:true,false {roomba::setting($NAME,"twoPass",$EVENT)} \
NoAutoPasses:true,false {roomba::setting($NAME,"noAutoPasses",$EVENT)} \
NoPP:true,false {roomba::setting($NAME,"noPP",$EVENT)} \
VacHigh:true,false {roomba::setting($NAME,"vacHigh",$EVENT)} \
BinPause:true,false {roomba::setting($NAME,"binPause",$EVENT)} \
OpenOnly:true,false {roomba::setting($NAME,"openOnly",$EVENT)} \
maplist:noArg {roomba::setting($NAME,"local:cmMapList={listmaps('$NAME')}",$EVENT)} \
mapdel {roomba::setting($NAME,"local:cmMapList={delmap('$NAME','$EVENT')}",$EVENT)}


habe aber auch das mit diesem setList ganz oben aus dem WIKI wieder rückgängig gemacht (hoffe ich):
attr Roomba setList start cmd {"command": "start", "time": 1, "initiator": "localApp"} \
dock cmd  {"command": "dock", "time": 1, "initiator": "localApp"} \
resume cmd  {"command": "resume", "time": 1, "initiator": "localApp"} \
pause cmd  {"command": "pause", "time": 1, "initiator": "localApp"}



Im Log steht:
2021.10.05 14:20:16 3: MQTT2_DEVICE set Roomba start
2021.10.05 14:20:16 1: ERROR evaluating my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $NAME=   $evalSpecials->{'%NAME'};{roomba::command($NAME,"start",$EVENT)}: Undefined subroutine &roomba::command called at (eval 372) line 1.


Jetzt stehe ich doch wieder da und bräuchte mal Hilfe...  :(

Prof. Dr. Peter Henning

Steht doch im Log. Das Package "roomba", also der Inhalt der Datei 99_RoombaUtils.pm, ist nicht bekannt.

Merke: "Hin- und herkopieren" führt in die Irre, wenn man sich nicht an die Anleitung hält.


LG

pah

MikeR

#392
Also eigentlich habe ich es da gelassen, wo ich es auch gefunden hatte:
drwxr-xr-x 2 fhem dial out 4096 Okt 5 14:17 .
drwxr-xr-x 52 fhem dial out 12288 Okt 4 12:14
-rw-r--r-- 1 fhem dial out 56937 Okt 5 14:17 99_RoombaUtils.pm
pi@raspberry:/opt/fhem/contrib/Roomba $


Also unter: /opt/fhem/contrib/Roomba

OK, an "Wer lesen kann ist klar im Vorteil" ist wohl doch was dran!
Hab die "99_RoombaUtils.pm" jetzt wie in der Anleitung beschrieben nach fhem/FHEM kopiert und es geht. Selztsam ist nur, das ich da gar nicht drin rum geleuchtet hatte und es am Anfang trotzdem mal funktioniert hat...

MikeR

Ich bin nun an der Map-Integration dran...
...aber anscheinend bin ich wirklich zu blöde um eine einfach Anleitung zu befolgen?
Ich habe den Abschnitt "Reinigungskarten" meiner Meinung nach Step-by-Step komplett durchgearbeitet. Und weil da steht, dass der Bereich noch in Arbeit ist, habe ich die aktuelle (?) Version der "99_RoombaUtils.pm" aus dem SVN genommen.

Meine Attribute sehen aus, wie im Anhang, hier als Text:
Attributes:
IODev      RoombaClient
SVG_collect SVG_Roomba.xml
SVG_color1 green:lightgreen
SVG_color2 orange:yellow
SVG_color3 red:pink
SVG_color4 blue:lightblue
SVG_final  SVG_Roomba.svg
SVG_room   floorplan.svg
devicetopic 33C5CFE4551D4DCBA5F8BB89519869EA
noMap      false
readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
room       _Haushaltsgeräte
setList    start:noArg {roomba::command($NAME,"start",$EVENT)}
           stop:noArg {roomba::command($NAME,"stop",$EVENT)}
           dock:noArg {roomba::command($NAME,"dock",$EVENT)}
           resume:noArg {roomba::command($NAME,"resume",$EVENT)}
           pause:noArg {roomba::command($NAME,"pause",$EVENT)}
           CarpetBoost:true,false {roomba::setting($NAME,"carpetBoost",$EVENT)}
           TwoPass:true,false {roomba::setting($NAME,"twoPass",$EVENT)}
           NoAutoPasses:true,false {roomba::setting($NAME,"noAutoPasses",$EVENT)}
           NoPP:true,false {roomba::setting($NAME,"noPP",$EVENT)}
           BinPause:true,false {roomba::setting($NAME,"binPause",$EVENT)}
           OpenOnly:true,false {roomba::setting($NAME,"openOnly",$EVENT)}
           maplist:noArg {roomba::setting($NAME,"local:cmMapList={listmaps('$NAME')}",$EVENT)}
           mapdel {roomba::setting($NAME,"local:cmMapList={delmap('$NAME','$EVENT')}",$EVENT)}
           startdir   north
           startx     0
           starty     0
           stateFormat state_reported_batPct% (Batterieladung)
           userattr   startdir:north,west,south,east startx starty LOG_dir SVG_dir SVG_room SVG_collect SVG_final SVG_color1 SVG_color2 SVG_color3 SVG_color4 noMap:true,false


Für die Template-SVG habe ich aus dem Wiki als ersten Versuch die erste leere Variante genommen:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="-30 -30 1200 800">
</svg>


Start- und Endpunkt erstmal auf 0, Ausrichtung Norden

Mit set Roomba maplist bekomme ich aber kein Reading maplist. Egal ob ich es vor oder nach einem Reinigungslauf absetze.
Ebenso wird auch keine XML-Datei mit dem angegebenen Namen erzeugt. (wo müsste die den sein? Habe rekursiv die ganze /opt/fhem-Struktur durchsucht)
Im Log (Verbose=5) steht auch nichts Auffälliges in Richtung Map-Generierung

Und was mir zusätzlich fehlt: Wie mache ich denn eine erstellte Karte im FHEM sichtbar?



LG
Mike


MikeR

Vielleicht eine Sache noch:
autocreate ist bei mir disabled, weil ich sonst hunderte von KNX-Objekten bekomme.
Hoffe damit hat es nix zu tun!

Prof. Dr. Peter Henning

Bitte das hier befolgen.
Zitat
      <li><code><b>noMap</b> true|false</code>&nbsp;&nbsp;-&nbsp;&nbsp; if set to true, no map data will be collected</li>
      <li><code><b>LOG_dir</b> <directory name> </code>&nbsp;&nbsp;-&nbsp;&nbsp; directory for writing a log file (in perl format!) of each cleaning mission.
         If this attribute is omitted, no such file will be written</li>
      <li><code><b>SVG_dir</b> <directory name> </code>&nbsp;&nbsp;-&nbsp;&nbsp; directory for reading a graphical room map in SVG format and reading/writing intermediate XML files of each cleaning mission.
         If this attribute is omitted, the default <code>/opt/fhem/www/images</code> will be used</li>. Note: In order to display the files via FHEMWEB frontend, they must reside in the working space of the web server.
      <li><code><b>SVG_room</b> <file name> </code>&nbsp;&nbsp;-&nbsp;&nbsp; filename for reading a graphical room map in SVG format.
         If this attribute is missing, no such file will be written</li>
      <li><code><b>SVG_collect</b> <file name> </code>&nbsp;&nbsp;-&nbsp;&nbsp; filename for reading/writing intermediate XML file of each cleaning mission.
         If this attribute is missing, the default <code>SVG_<device>.xml</code> will be used</li>
      <li><code><b>SVG_final</b> <file name> </code>&nbsp;&nbsp;-&nbsp;&nbsp; filename for writing final SVG file of each cleaning mission.
         If this attribute is missing, the default <code>SVG_<device>.svg</code> will be used</li>


ZitatSelztsam ist nur, das ich da gar nicht drin rum geleuchtet hatte und es am Anfang trotzdem mal funktioniert hat...
Endlich, die Magie ist entdeckt! Programme funktionieren, ohne dass sie geladen und gestartet werden...

LG pah

MikeR

Zitat von: Prof. Dr. Peter Henning am 06 Oktober 2021, 18:24:10
Bitte das hier befolgen.
Endlich, die Magie ist entdeckt! Programme funktionieren, ohne dass sie geladen und gestartet werden...

Also, ich bin Dipl.-Inform. und seit über 40 Jahren "im Geschäft", und hab schon so ziemlich alles erlebt. Von Reinigungskräften die den Schukostecker so in die Steckdose stecken, das es nur so aussieht als wäre er drinne, über Seiteneffekte, die Sicherheitseinstellungen außer kraft setzen, bis hin zu Programmen die laufen obwohl sie gar nicht da sind (z.B. Netzwerkpfade im User-Path-Env) und und und

SebastianStorb

 Ich komme mit der Anleitung nicht klar, weil diese bereits im 2 FHEM System nicht funktionieren und zu Fehlermeldungen führen.

Als Benutzer lässt sich bei meinen Systemen die Anleitung in keine Weise umsetzen. Was funktioniert hat, damit die Installation überhaupt funktioniert ist:

zu su - mit Passwort wechseln dann:
pip3 install paho-mqtt   (klappt nicht (ohne su /pip3)
pip3 install aiohttp      (klappt nicht (ohne su /pip3)
pip3install pillow      (klappt nicht (ohne su /pip3)
pip3 install six

In welches Verzeichnis muss dorita980 kopiert werden? Oder ist das nicht wichtig?

git clone https://github.com/koalazak/dorita980.git
cd dorita980
npm install
npm audit fix --force      

Passwort bekomme ich und Verbindung steht - leider auch der Roboter - keine Reaktion auf nichts!


2021.10.12 15:24:16 3: MQTT2_DEVICE set RoombaFeger start
2021.10.12 15:24:16 5: HttpUtils url=https://192.168.0.32:8883/ NonBlocking via https
2021.10.12 15:24:16 4: IP: 192.168.0.32 -> 192.168.0.32
2021.10.12 15:24:20 5: RoombaFegerClient: sending CONNECT (16)N(0)(4)MQTT(4)(194)(0)(30)(0)(16)3192C22060734880(0)(16)3192C22060734880(0)(30)XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2021.10.12 15:24:20 5: DevIo_SimpleWrite RoombaFegerClient: 104e00044d51545404c2001e001033313932433232303630373334383830001033313932433232303630373334383830001e3a313a313536363330383331323a6b454744577250536d4148534b326e74
2021.10.12 15:24:20 5: 192.168.0.32:8883 reappeared (RoombaFegerClient)
2021.10.12 15:24:20 5: RoombaFegerClient: received CONNACK (0)(0)
2021.10.12 15:24:20 5: RoombaFegerClient: sending SUBSCRIBE (130)(6)(0)(12)(0)(1)#(0)
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"wifistat":{"wifi":1,"uap":false,"cloud":1}}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"wifistat":{"wifi":1,"uap":false,"cloud":1}}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"wlcfg":{"sec":7,"ssid":"404040"}}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"wlcfg":{"sec":7,"ssid":"404040"}}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received SUBACK (0)(12)(0)
2021.10.12 15:24:20 5: RoombaFegerClient: sending PUBLISH 0?(0)(3)cmd{"command": "start", "time": 1, "initiator": "localApp"} \
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"mac":"dc:f5:05:90:83:0b"}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"mac":"dc:f5:05:90:83:0b"}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"country": "DE"}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"country": "DE"}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"cloudEnv": "prod"}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"cloudEnv": "prod"}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"svcEndpoints":{"svcDeplId": "v007"}}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"svcEndpoints":{"svcDeplId": "v007"}}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"wifiAnt":1}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"wifiAnt":1}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"mapUploadAllowed":true}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"mapUploadAllowed":true}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"signal":{"rssi":-47,"snr":42}}}}
2021.10.12 15:24:20 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"signal":{"rssi":-47,"snr":42}}}}
2021.10.12 15:24:20 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:20 5: 192.168.0.32:8883 disconnected, waiting to reappear (RoombaFegerClient)
2021.10.12 15:24:22 5: HttpUtils url=https://192.168.0.32:8883/ NonBlocking via https
2021.10.12 15:24:22 4: IP: 192.168.0.32 -> 192.168.0.32
2021.10.12 15:24:26 5: RoombaFegerClient: sending CONNECT (16)N(0)(4)MQTT(4)(194)(0)(30)(0)(16)3192C22060734880(0)(16)3192C22060734880(0)(30)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2021.10.12 15:24:26 5: DevIo_SimpleWrite RoombaFegerClient: 104e00044d51545404c2001e001033313932433232303630373334383830001033313932433232303630373334383830001e3a313a313536363330383331323a6b454744577250536d4148534b326e74
2021.10.12 15:24:26 5: 192.168.0.32:8883 reappeared (RoombaFegerClient)
2021.10.12 15:24:26 5: RoombaFegerClient: received CONNACK (0)(0)
2021.10.12 15:24:26 5: RoombaFegerClient: sending SUBSCRIBE (130)(6)(0)(11)(0)(1)#(0)
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"wifistat":{"wifi":1,"uap":false,"cloud":1}}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"wifistat":{"wifi":1,"uap":false,"cloud":1}}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"netinfo":{"dhcp":true,"addr":3232235552,"mask":4294967040,"gw":3232235521,"dns1":3232235521,"dns2":0,"bssid":"3c:a6:2f:1e:9e:c4","sec":4}}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received SUBACK (0)(11)(0)
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"wlcfg":{"sec":7,"ssid":"404040"}}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"wlcfg":{"sec":7,"ssid":"404040"}}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"mac":"dc:f5:05:90:83:0b"}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"mac":"dc:f5:05:90:83:0b"}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"country": "DE"}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"country": "DE"}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"cloudEnv": "prod"}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"cloudEnv": "prod"}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"svcEndpoints":{"svcDeplId": "v007"}}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"svcEndpoints":{"svcDeplId": "v007"}}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"wifiAnt":1}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"wifiAnt":1}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"mapUploadAllowed":true}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"mapUploadAllowed":true}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:26 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"localtimeoffset":120,"utctime":1634045065,"pose":{"theta":99,"point":{"x":34,"y":-15}}}}}
2021.10.12 15:24:26 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"localtimeoffset":120,"utctime":1634045065,"pose":{"theta":99,"point":{"x":34,"y":-15}}}}}
2021.10.12 15:24:26 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:27 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"batPct":100,"dock":{"known":true},"bin":{"present":true,"full":false},"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":0,"mssnStrtTm":0,"expireTm":0,"rechrgTm":0,"sqft":0,"initiator":"localApp","nMssn":156},"language":4,"noAutoPasses":true,"noPP":false,"ecoCharge":false,"vacHigh":false,"binPause":true,"carpetBoost":true,"openOnly":false,"twoPass":true,"schedHold":false}}}
2021.10.12 15:24:27 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"batPct":100,"dock":{"known":true},"bin":{"present":true,"full":false},"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":0,"mssnStrtTm":0,"expireTm":0,"rechrgTm":0,"sqft":0,"initiator":"localApp","nMssn":156},"language":4,"noAutoPasses":true,"noPP":false,"ecoCharge":false,"vacHigh":false,"binPause":true,"carpetBoost":true,"openOnly":false,"twoPass":true,"schedHold":false}}}
2021.10.12 15:24:27 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:27 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"lastCommand":{"command":"dock","time":1634044399,"initiator":"localApp"},"langs":[{"en-UK":0},{"fr-FR":1},{"es-ES":2},{"it-IT":3},{"de-DE":4},{"ru-RU":5}],"bbnav":{"aMtrack":13,"nGoodLmrks":21,"aGain":12,"aExpo":18},"bbpanic":{"panics":[1,8,8,8,8]},"bbpause":{"pauses":[2,2,17,17,0,6,2,0,0,6]},"bbmssn":{"nMssn":156,"nMssnOk":87,"nMssnC":54,"nMssnF":15,"aMssnM":40,"aCycleM":39},"bbrstinfo":{"nNavRst":31,"nMobRst":0,"causes":"0000"}}}}
2021.10.12 15:24:27 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"lastCommand":{"command":"dock","time":1634044399,"initiator":"localApp"},"langs":[{"en-UK":0},{"fr-FR":1},{"es-ES":2},{"it-IT":3},{"de-DE":4},{"ru-RU":5}],"bbnav":{"aMtrack":13,"nGoodLmrks":21,"aGain":12,"aExpo":18},"bbpanic":{"panics":[1,8,8,8,8]},"bbpause":{"pauses":[2,2,17,17,0,6,2,0,0,6]},"bbmssn":{"nMssn":156,"nMssnOk":87,"nMssnC":54,"nMssnF":15,"aMssnM":40,"aCycleM":39},"bbrstinfo":{"nNavRst":31,"nMobRst":0,"causes":"0000"}}}}
2021.10.12 15:24:27 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:27 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"cap":{"pose":1,"ota":2,"multiPass":2,"pp":1,"binFullDetect":1,"langOta":1,"maps":1,"edge":1,"eco":1,"svcConf":1},"hardwareRev":3,"sku":"R96----","batteryType":"li26","soundVer":"32","uiSwVer":"4582","navSwVer":"01.12.01#1","wifiSwVer":"21045","mobilityVer":"5938","bootloaderVer":"4042","umiVer":"6","softwareVer":"v2.4.16-126","tz":{"events":[{"dt":1633089600,"off":120},{"dt":1635642001,"off":60},{"dt":1648342801,"off":120}],"ver":12},"timezone":"Europe/Berlin","name":"Baltrum"}}}
2021.10.12 15:24:27 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"cap":{"pose":1,"ota":2,"multiPass":2,"pp":1,"binFullDetect":1,"langOta":1,"maps":1,"edge":1,"eco":1,"svcConf":1},"hardwareRev":3,"sku":"R96----","batteryType":"li26","soundVer":"32","uiSwVer":"4582","navSwVer":"01.12.01#1","wifiSwVer":"21045","mobilityVer":"5938","bootloaderVer":"4042","umiVer":"6","softwareVer":"v2.4.16-126","tz":{"events":[{"dt":1633089600,"off":120},{"dt":1635642001,"off":60},{"dt":1648342801,"off":120}],"ver":12},"timezone":"Europe/Berlin","name":"Baltrum"}}}
2021.10.12 15:24:27 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:27 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"cleanSchedule":{"cycle":["none","none","none","none","none","none","none"],"h":[11,11,11,11,11,11,11],"m":[0,0,0,0,0,0,0]},"bbchg3":{"avgMin":220,"hOnDock":2190,"nAvail":985,"estCap":7451,"nLithChrg":124,"nNimhChrg":0,"nDocks":79},"bbchg":{"nChgOk":123,"nLithF":0,"aborts":[4,0,0]},"bbswitch":{"nBumper":40160,"nClean":246,"nSpot":11,"nDock":79,"nDrops":103}}}}
2021.10.12 15:24:27 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"cleanSchedule":{"cycle":["none","none","none","none","none","none","none"],"h":[11,11,11,11,11,11,11],"m":[0,0,0,0,0,0,0]},"bbchg3":{"avgMin":220,"hOnDock":2190,"nAvail":985,"estCap":7451,"nLithChrg":124,"nNimhChrg":0,"nDocks":79},"bbchg":{"nChgOk":123,"nLithF":0,"aborts":[4,0,0]},"bbswitch":{"nBumper":40160,"nClean":246,"nSpot":11,"nDock":79,"nDrops":103}}}}
2021.10.12 15:24:27 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:27 5: RoombaFegerClient: received PUBLISH (0)*$aws/things/3192C22060734880/shadow/update{"state":{"reported":{"bbrun":{"hr":114,"min":38,"sqft":453,"nStuck":47,"nScrubs":101,"nPicks":418,"nPanics":82,"nCliffsF":1508,"nCliffsR":3129,"nMBStll":4,"nWStll":1,"nCBump":0},"bbsys":{"hr":2366,"min":0}}}}
2021.10.12 15:24:27 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000$aws/things/3192C22060734880/shadow/update\000{"state":{"reported":{"bbrun":{"hr":114,"min":38,"sqft":453,"nStuck":47,"nScrubs":101,"nPicks":418,"nPanics":82,"nCliffsF":1508,"nCliffsR":3129,"nMBStll":4,"nWStll":1,"nCBump":0},"bbsys":{"hr":2366,"min":0}}}}
2021.10.12 15:24:27 4: MQTT2_DEVICE_Parse: RoombaFeger $aws/things/3192C22060734880/shadow/update => { json2nameValue($EVENT) }
2021.10.12 15:24:31 5: RoombaFegerClient: received PUBLISH (0)(8)wifistat{"state":{"reported":{"signal":{"rssi":-48,"snr":40}}}}
2021.10.12 15:24:31 5: RoombaFegerClient: dispatch autocreate=no\0003192C22060734880\000wifistat\000{"state":{"reported":{"signal":{"rssi":-48,"snr":40}}}}
2021.10.12 15:24:31 4: MQTT2_DEVICE_Parse: RoombaFeger wifistat => { json2nameValue($EVENT) }
2021.10.12 15:24:36 5: RoombaFegerClient: sending DISCONNECT (224)(0)
2021.10.12 15:24:36 5: DevIo_SimpleWrite RoombaFegerClient: e000
2021.10.12 15:24:54 1: RMDIR: ./restoreDir/save/2021-04-05


Prof. Dr. Peter Henning

Die Darstellung, irgendetwas "würde nicht klappen", steht im Widerspruch zum Log. Es klappt eben doch.

FHEM verbindet sich mit dem Roboter und empfängt auch Daten. Jetzt muss man "nur" das Richtige senden, dann steuert man ihn auch. Wie das geht, ist im Wiki beschrieben - und das hat _gar nichts_ mit den Installationen zu tun.

Natürlich muss man im RoombaFegerClient "autocreate" auf "simple" stellen, sonst wird das Device eben nicht angelegt.

LG

pah

SebastianStorb

#399
Ich habe mein (gemäß dem Wiki) angelegten Device also wieder gelöscht und bin durch Ihren Hinweis darauf gekommen, dass ich es gar nicht hätte anlegen müssen. Stattdessen sollte ich Autocreate Simple einstellen damit sich das Device erste einmal selber anlegt. Falls das jetzt so korrekt ist hierr nochmals die Auszüge aus dem Wiki:

zu 1.) im Wiki steht:
Einrichten eines MQTT Device
Definieren Sie in FHEM

define RoombaFeger MQTT2_DEVICE 3###########0
attr RoombaFeger IODev RoombaFegerClient
attr RoombaFeger devicetopic 3###########0
attr RoombaFeger readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
attr RoombaFeger setList start cmd {"command": "start", "time": 1, "initiator": "localApp"} \
dock cmd  {"command": "dock", "time": 1, "initiator": "localApp"} \
resume cmd  {"command": "resume", "time": 1, "initiator": "localApp"} \
pause cmd  {"command": "pause", "time": 1, "initiator": "localApp"}
wobei natürlich wieder die oben erhaltene blid für die fett hervorgehobenen Strings eingesetzt wird. Sie erhalten dadurch ein Device, dass Sie mit FHEM-Kommandos starten und anhalten können. Wenn der Roboter läuft, meldet er eine Vielzahl von Daten an FHEM - und nicht alle davon sind informativ.



zu 2. Außerdem steht im Wiki steht:
attr RoombaFegerClient    autocreate no


Ich habe abermals das Wiki gelesen - ohne hiermit in irgend einer Form weiter gekommen zu sein.

Ist es vielleicht das falsche Wiki?
https://wiki.fhem.de/wiki/Roomba


P.S Sobald mein Gerät mal funktioniert bin ich gerne Bereit eine Anleitung zu veröffentlichen, mit der dann auch Anfänger den Roboter zum laufen bringt. Ich wäre sehr froh, wenn Sie mir noch mal einen (hoffentlich letzten) Tipp geben könnten - oder die entscheidende Stelle aus dem Wiki hierhin kopieren.


Vielen Dank und beste Grüße

Internals:
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        192.168.0.32:8883
   DeviceName 192.168.0.32:8883
   FUUID      61646ac5-f33f-5bdf-fdac-f79b518718899633
   FVERSION   00_MQTT2_CLIENT.pm:0.249820/2021-09-16
   NAME       RoombaFegerClient
   NR         28
   SSL        1
   STATE      disconnected
   TIMEOUT    6
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   3192C22060734880
   devioLoglevel 5
   disconnectAt 2021-10-13 17:09:30
   lastMsgTime 1634137765.79081
   nextOpenDelay 5
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2021-10-13 17:09:30   state           disconnected
   sslargs:
     SSL_version SSLv23
Attributes:
   SSL        1
   autocreate simple
   clientId   3XXXXXXXXXXXXXX0
   connectTimeout 6
   disconnectAfter 5
   mqttVersion 3.1.1
   room       Roomba
   sslargs    SSL_version:SSLv23
   username   3XXXXXXXXXXXXXX0
   verbose    0


Das Gerät was angelegt wurde habe ich dann wieder umbenannt, was die Funktion auch nicht zum Leben erweckt hat. Vorher war der Name MQTT2_3XXXXXXXXXX

Internals:
   CID       
   DEF       
   DEVICETOPIC
   FUUID      6166f216-f33f-5bdf-756d-42f26b3770f45c74
   FVERSION   10_MQTT2_DEVICE.pm:0.248610/2021-08-20
   IODev      RoombaFegerClient
   LASTInputDev RoombaFegerClient
   MSGCNT     103
   NAME       RoombaFeger
   NR         29
   RoombaFegerClient_MSGCNT 103
   RoombaFegerClient_TIME 2021-10-13 17:09:25
   STATE      start
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-10-13 17:02:50   IODev           RoombaFegerClient
     2021-10-13 17:09:08   state           start
     2021-10-13 17:09:17   state_reported_batPct 100
     2021-10-13 17:09:17   state_reported_batteryType li26
     2021-10-13 17:09:17   state_reported_bbchg3_avgMin 196
     2021-10-13 17:09:17   state_reported_bbchg3_estCap 7451
     2021-10-13 17:09:17   state_reported_bbchg3_hOnDock 2191
     2021-10-13 17:09:17   state_reported_bbchg3_nAvail 988
     2021-10-13 17:09:17   state_reported_bbchg3_nDocks 82
     2021-10-13 17:09:17   state_reported_bbchg3_nLithChrg 126
     2021-10-13 17:09:17   state_reported_bbchg3_nNimhChrg 0
     2021-10-13 17:09:17   state_reported_bbchg_aborts_1 4
     2021-10-13 17:09:17   state_reported_bbchg_aborts_2 0
     2021-10-13 17:09:17   state_reported_bbchg_aborts_3 0
     2021-10-13 17:09:17   state_reported_bbchg_nChgOk 124
     2021-10-13 17:09:17   state_reported_bbchg_nLithF 0
     2021-10-13 17:09:17   state_reported_bbmssn_aCycleM 39
     2021-10-13 17:09:17   state_reported_bbmssn_aMssnM 41
     2021-10-13 17:09:17   state_reported_bbmssn_nMssn 157
     2021-10-13 17:09:17   state_reported_bbmssn_nMssnC 54
     2021-10-13 17:09:17   state_reported_bbmssn_nMssnF 15
     2021-10-13 17:09:17   state_reported_bbmssn_nMssnOk 88
     2021-10-13 17:09:17   state_reported_bbnav_aExpo 8
     2021-10-13 17:09:17   state_reported_bbnav_aGain 11
     2021-10-13 17:09:17   state_reported_bbnav_aMtrack 17
     2021-10-13 17:09:17   state_reported_bbnav_nGoodLmrks 20
     2021-10-13 17:09:17   state_reported_bbpanic_panics_1 8
     2021-10-13 17:09:17   state_reported_bbpanic_panics_2 1
     2021-10-13 17:09:17   state_reported_bbpanic_panics_3 8
     2021-10-13 17:09:17   state_reported_bbpanic_panics_4 8
     2021-10-13 17:09:17   state_reported_bbpanic_panics_5 8
     2021-10-13 17:09:17   state_reported_bbpause_pauses_1 2
     2021-10-13 17:09:17   state_reported_bbpause_pauses_10 6
     2021-10-13 17:09:17   state_reported_bbpause_pauses_2 2
     2021-10-13 17:09:17   state_reported_bbpause_pauses_3 17
     2021-10-13 17:09:17   state_reported_bbpause_pauses_4 17
     2021-10-13 17:09:17   state_reported_bbpause_pauses_5 0
     2021-10-13 17:09:17   state_reported_bbpause_pauses_6 6
     2021-10-13 17:09:17   state_reported_bbpause_pauses_7 2
     2021-10-13 17:09:17   state_reported_bbpause_pauses_8 0
     2021-10-13 17:09:17   state_reported_bbpause_pauses_9 0
     2021-10-13 17:09:17   state_reported_bbrstinfo_causes 0000
     2021-10-13 17:09:17   state_reported_bbrstinfo_nMobRst 0
     2021-10-13 17:09:17   state_reported_bbrstinfo_nNavRst 31
     2021-10-13 17:09:17   state_reported_bbrun_hr 115
     2021-10-13 17:09:17   state_reported_bbrun_min 27
     2021-10-13 17:09:17   state_reported_bbrun_nCBump 0
     2021-10-13 17:09:17   state_reported_bbrun_nCliffsF 1513
     2021-10-13 17:09:17   state_reported_bbrun_nCliffsR 3132
     2021-10-13 17:09:17   state_reported_bbrun_nMBStll 4
     2021-10-13 17:09:17   state_reported_bbrun_nPanics 83
     2021-10-13 17:09:17   state_reported_bbrun_nPicks 418
     2021-10-13 17:09:17   state_reported_bbrun_nScrubs 101
     2021-10-13 17:09:17   state_reported_bbrun_nStuck 47
     2021-10-13 17:09:17   state_reported_bbrun_nWStll 1
     2021-10-13 17:09:17   state_reported_bbrun_sqft 456
     2021-10-13 17:09:17   state_reported_bbswitch_nBumper 41044
     2021-10-13 17:09:17   state_reported_bbswitch_nClean 248
     2021-10-13 17:09:17   state_reported_bbswitch_nDock 82
     2021-10-13 17:09:17   state_reported_bbswitch_nDrops 103
     2021-10-13 17:09:17   state_reported_bbswitch_nSpot 13
     2021-10-13 17:09:17   state_reported_bbsys_hr 2387
     2021-10-13 17:09:17   state_reported_bbsys_min 57
     2021-10-13 17:09:17   state_reported_binPause true
     2021-10-13 17:09:17   state_reported_bin_full false
     2021-10-13 17:09:17   state_reported_bin_present true
     2021-10-13 17:09:17   state_reported_bootloaderVer 4042
     2021-10-13 17:09:17   state_reported_cap_binFullDetect 1
     2021-10-13 17:09:17   state_reported_cap_eco 1
     2021-10-13 17:09:17   state_reported_cap_edge 1
     2021-10-13 17:09:17   state_reported_cap_langOta 1
     2021-10-13 17:09:17   state_reported_cap_maps 1
     2021-10-13 17:09:17   state_reported_cap_multiPass 2
     2021-10-13 17:09:17   state_reported_cap_ota 2
     2021-10-13 17:09:17   state_reported_cap_pose 1
     2021-10-13 17:09:17   state_reported_cap_pp 1
     2021-10-13 17:09:17   state_reported_cap_svcConf 1
     2021-10-13 17:09:17   state_reported_carpetBoost true
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_cycle none
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_error 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_expireM 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_expireTm 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_initiator rmtApp
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_mssnM 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_mssnStrtTm 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_nMssn 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_notReady 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_phase charge
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_rechrgM 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_rechrgTm 0
     2021-10-13 17:09:17   state_reported_cleanMissionStatus_sqft 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_1 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_2 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_3 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_4 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_5 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_6 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_cycle_7 none
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_1 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_2 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_3 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_4 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_5 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_6 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_h_7 11
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_1 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_2 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_3 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_4 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_5 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_6 0
     2021-10-13 17:09:17   state_reported_cleanSchedule_m_7 0
     2021-10-13 17:09:16   state_reported_cloudEnv prod
     2021-10-13 17:09:16   state_reported_country DE
     2021-10-13 17:09:17   state_reported_dock_known false
     2021-10-13 17:09:22   state_reported_echo true
     2021-10-13 17:09:17   state_reported_ecoCharge false
     2021-10-13 17:09:17   state_reported_hardwareRev 3
     2021-10-13 17:09:17   state_reported_langs_1_en-UK 0
     2021-10-13 17:09:17   state_reported_langs_2_fr-FR 1
     2021-10-13 17:09:17   state_reported_langs_3_es-ES 2
     2021-10-13 17:09:17   state_reported_langs_4_it-IT 3
     2021-10-13 17:09:17   state_reported_langs_5_de-DE 4
     2021-10-13 17:09:17   state_reported_langs_6_ru-RU 5
     2021-10-13 17:09:17   state_reported_language 4
     2021-10-13 17:09:17   state_reported_lastCommand_command dock
     2021-10-13 17:09:17   state_reported_lastCommand_initiator rmtApp
     2021-10-13 17:09:17   state_reported_lastCommand_time 1634135991
     2021-10-13 17:09:16   state_reported_localtimeoffset 120
     2021-10-13 17:09:16   state_reported_mac dc:f5:05:90:83:0b
     2021-10-13 17:09:16   state_reported_mapUploadAllowed true
     2021-10-13 17:09:17   state_reported_mobilityVer 5938
     2021-10-13 17:09:17   state_reported_name Roomba
     2021-10-13 17:09:17   state_reported_navSwVer 01.12.01#1
     2021-10-13 17:09:16   state_reported_netinfo_addr 3232235552
     2021-10-13 17:09:16   state_reported_netinfo_bssid 3c:a6:2f:1e:9e:c4
     2021-10-13 17:09:16   state_reported_netinfo_dhcp true
     2021-10-13 17:09:16   state_reported_netinfo_dns1 3232235521
     2021-10-13 17:09:16   state_reported_netinfo_dns2 0
     2021-10-13 17:09:16   state_reported_netinfo_gw 3232235521
     2021-10-13 17:09:16   state_reported_netinfo_mask 4294967040
     2021-10-13 17:09:16   state_reported_netinfo_sec 4
     2021-10-13 17:09:17   state_reported_noAutoPasses true
     2021-10-13 17:09:17   state_reported_noPP false
     2021-10-13 17:09:17   state_reported_openOnly false
     2021-10-13 17:09:16   state_reported_pose_point_x 0
     2021-10-13 17:09:16   state_reported_pose_point_y 0
     2021-10-13 17:09:16   state_reported_pose_theta 0
     2021-10-13 17:09:17   state_reported_schedHold false
     2021-10-13 17:09:25   state_reported_signal_rssi -51
     2021-10-13 17:09:25   state_reported_signal_snr 38
     2021-10-13 17:09:17   state_reported_sku R960040
     2021-10-13 17:09:17   state_reported_softwareVer v2.4.16-126
     2021-10-13 17:09:17   state_reported_soundVer 32
     2021-10-13 17:09:16   state_reported_svcEndpoints_svcDeplId v007
     2021-10-13 17:09:17   state_reported_timezone Europe/Berlin
     2021-10-13 17:09:17   state_reported_twoPass true
     2021-10-13 17:09:17   state_reported_tz_events_1_dt 1633089600
     2021-10-13 17:09:17   state_reported_tz_events_1_off 120
     2021-10-13 17:09:17   state_reported_tz_events_2_dt 1635642001
     2021-10-13 17:09:17   state_reported_tz_events_2_off 60
     2021-10-13 17:09:17   state_reported_tz_events_3_dt 1648342801
     2021-10-13 17:09:17   state_reported_tz_events_3_off 120
     2021-10-13 17:09:17   state_reported_tz_ver 12
     2021-10-13 17:09:17   state_reported_uiSwVer 4582
     2021-10-13 17:09:17   state_reported_umiVer 6
     2021-10-13 17:09:16   state_reported_utctime 1634137755
     2021-10-13 17:09:17   state_reported_vacHigh false
     2021-10-13 17:09:16   state_reported_wifiAnt 1
     2021-10-13 17:09:17   state_reported_wifiSwVer 21045
     2021-10-13 17:09:16   state_reported_wifistat_cloud 1
     2021-10-13 17:09:16   state_reported_wifistat_uap false
     2021-10-13 17:09:16   state_reported_wifistat_wifi 1
     2021-10-13 17:09:16   state_reported_wlcfg_sec 7
     2021-10-13 17:09:16   state_reported_wlcfg_ssid 404040
Attributes:
   IODev      RoombaFegerClient
   devicetopic 
   readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
   room       Roomba
   setList    start cmd {"command": "start", "time": 1, "initiator": "localApp"} \
dock cmd {"command": "dock", "time": 1, "initiator": "localApp"} \
resume cmd {"command": "resume", "time": 1, "initiator": "localApp"} \
pause cmd {"command": "pause", "time": 1, "initiator": "localApp"}

MikeR

Das Wiki ist schon das richtige. Bei mir hat es auch mit autocreate no geklappt, habe die Devices manuell angelegt, so wie Du ja anscheinend auch.

Hast Du für das MQTT Device die SetList angelegt?
Dann müsstest Du doch in der Weboberfläche oben bei den Set-Kommandos ein "Start" und ein "Stop" (zum Beispiel) haben!?!


MikeR

Ich komme selber aber mit den Maps immer noch nicht weiter.
Ich habe jetzt alle (hoffe ich) fehlenden Attribute nachgezogen :
Attributes
IODev RoombaClient
LOG_dir /opt/fhem/log/roomba
SVG_collect /opt/fhem/log/roomba/SVG_Roomba.xml
SVG_color1 green:lightgreen
SVG_color2 orange:yellow
SVG_color3 red:pink
SVG_color4 blue:lightblue
SVG_dir /opt/fhem/www/images/roomba
SVG_final /opt/fhem/www/images/roomba/SVG_Roomba.svg
SVG_room /opt/fhem/www/images/roomba/floorplan.svg
event-aggregator state_reported_signal_rssi:300:none:v
noMap false
readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
startdir north
startx 0
starty 0

Ich starte den Reinigungslauf aus FHEM heraus und mache vorher und hinterher ein "set Maplist"
Es gibt weder im (siehe oben) Verzeichnis "/opt/fhem/log/roomba" irgendeine neue Datei (ich hätte hier die XML mit der Kartenliste erwartet), noch unter "/opt/fhem/www/images/roomba/" ein Ergebnis-SVG.

Vielleicht liegt es auch daran, dass die ich einen J7 (hier nochmal erwähnt) habe und die Karten bei dem anders funktionieren, als beim I7?
Beim J7 gibt es ja diese Zusatzfunktion mit "Hindernis-Fotos" durch die man Sperrzonen anlegen kann.

LG
Mike

Prof. Dr. Peter Henning

Zunächst einmal: Es ist vollkommen egal, ob man die Devices selbst anlegt und autocreate abschaltet. Oder sie per autocreate anlegen lässt. Beides führt (wenn man die korrekten Namen verwendet) zum selben Ergebnis.

Ich kann nur mutmaße, warum mit der angegebenen setList die Kommandos an den Roomba nicht befolgt werden. Tipp: verbose=5 im MQTT-Client setzen und prtokollieren, was wirklich herausgeht.

Das LOG_dir ist für eine textuelle (!) Ausgabe bestimmt - _nicht_ für die Bilder.

SVG_dir ist der Verzeichnisname für die Bilder - und ich denke, dass es nur logisch ist, dass dieser Verzeichnisname _nicht_ noch einmal in den Dateinamen SVG_collect, SVG_room und SVG_final auftaucht. Denn: Eine Datei
/opt/fhem/www/images/roomba//opt/fhem/www/images/roomba/floorplan.svg
gibt es einfach nicht...

Eigentlich sollte dies auch als Fehlermeldung im Log auftauchen.

Die Karten sind übrigens vollkommen unabhängig von der Kartierung in der App, weil nur die alle paar Sekunden übermittelten Positionsdaten verwendet werden.

LG

pah

MikeR

OK, hätte gedacht, dass ein absoluter Dateiname mit Pfad sicherer ist und das FHEM das "merkt", das es sich nicht um eine relative Pfadangabe (im Extremfall als nur der Dateiname), sondern um eine absolute (der "/" am Anfang) handelt. Bin aber auch auf unixoiden OSen nicht so zu Hause, muss ich zugeben.

Das LogDir, so dachte ich, ist für die Protokollierung der Wegpunkte UND für die erzeugte XML Datei. Bei letzterem kann man natürlich auch argumentieren, dass das ja im Kontext der erzeugten SVGs liegt, als in das SVG_Dir geschrieben wird. Ist das so? Werden die Protokolldateien für den Verfahrensweg nach dem Processing wieder gelöscht, das würde erklären wieso das dann leer ist.

Ich lass den J7 morgen wenn meine Frau weg ist, nochmal mit vollem Log-Gerödel laufen. Der J7 ist zwar im Vergleich zu unserem alten 980er eher unhörbar, aber Ehefrauen sind ja doch etwas sensibler als wir technikaffinen Männer. ;-)

SebastianStorb

Problem gelöst:
Die SetList muss bei mir so aussehen:

pause cmd {"command": "pause", "time": 1, "initiator": "localApp"}
start cmd {"command": "start", "time": 1, "initiator": "localApp"}
resume cmd {"command": "resume", "time": 1, "initiator": "localApp"}
dock cmd {"command": "dock", "time": 1, "initiator": "localApp"}


am Ende darf kein \ stehen (und nicht so wie es in der Anleitung dargestellt war)

Vielen vielen Dank für die große Mühe und Unterstützung!

;-))