Deebot Slim 2 - Integration möglich!

Begonnen von retikulum, 02 August 2018, 12:05:11

Vorheriges Thema - Nächstes Thema

schwatter

Hab schon 2 Tage an Bumper herumgespielt....Irgendwas passt immer nicht. Windows10 lief erst. Kein Kontakt möglich.
Raspi3 auf dem auch Pihole läuft. Fehlermeldung

[2020-05-26 20:33:02,935] :: WARNING :: hbmqtt.client :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('192.168.178.80', 8883)"))

Pizero kackt schon ab mit Fehlermeldungen beim erstellen von virtualenv... Jetzt wieder Windows10 getestet und er meckert plötzlich, das aiohttp nich da is...
Alles probiert um aio wieder zu flicken. Ist da, aber import klappt nich. Rufe ich die python-konsole auf wird es mit "import aiohttp" geladen  ::)

Pihole und die DNS-Umleitung war in 5min erledigt. Brauch mal ein paar Tage Abstand  :D Bumper is ne "Bitc*"

KölnSolar

 ;D ;D ;D Nicht bumper, python.
Zitatdas aiohttp nich da is...
Kommt mir bekannt vor. Ich glaube das Problem war, dass ich erst mit einem normalen user installiert hatte. Mit sudo ging es dann. (glaub ich :-\)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schwatter

#32
Gestern Abend habe ich etwas weiter probiert. Mein "aiohttp"-Problem konnte ich lösen.
Geholfen hat mir das Commit von hier

https://github.com/bmartin5692/bumper/commit/d28eac632ec33b8092a32d344e18ee76ea239dcd

- pipenv --python 3.7
- pipenv install --dev


Danach startet Bumper wieder normal auf dem Pi und erstellt Zertifikate. Nun hänge ich bei ConnectionRefusedError.

Einmal Start mit der IP auf dem Bumper läuft.
sudo pipenv run python -m bumper --listen 192.168.178.42 --announce 192.168.178.42

sudo pipenv run python -m bumper --listen 192.168.178.42 --announce 192.168.178.42
[2020-06-04 18:59:31,143] :: INFO :: bumper :: Starting Bumper
[2020-06-04 18:59:31,308] :: INFO :: mqttserver :: Starting MQTT Server at 192.168.178.42:8883
[2020-06-04 18:59:31,326] :: INFO :: xmppserver :: Starting XMPP Server at 192.168.178.42:5223
[2020-06-04 18:59:31,329] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed('192.168.178.42', 8883)")
[2020-06-04 18:59:31,330] :: WARNING :: hbmqtt.client :: Connection failed: ConnectException(ConnectionRefusedError(111,"Connect call failed ('192.168.178.42', 8883)"))
[2020-06-04 18:59:31,332] :: INFO :: hbmqtt.broker :: Listener 'tls1' bind to 192.168.178.42:8883 (max_connections=-1)
[2020-06-04 18:59:32,395] :: INFO :: hbmqtt.broker :: Listener 'tls1': 1 connections acquired
[2020-06-04 18:59:32,396] :: INFO :: hbmqtt.broker :: Connection from 192.168.178.42:51588 on listener 'tls1'
[2020-06-04 18:59:32,405] :: INFO :: mqttserver :: Bumper Authentication Success - Helperbot: helperbot@bumper/helperbot


Und einmal wie im Tut beschrieben.
pipenv run python -m bumper

pipenv run python -m bumper
[2020-06-04 19:17:12,860] :: INFO :: bumper :: Starting Bumper
[2020-06-04 19:17:13,051] :: INFO :: mqttserver :: Starting MQTT Server at 127.0.1.1:8883
[2020-06-04 19:17:13,068] :: INFO :: xmppserver :: Starting XMPP Server at 127.0.1.1:5223
[2020-06-04 19:17:13,070] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2020-06-04 19:17:13,071] :: WARNING :: hbmqtt.client :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2020-06-04 19:17:13,073] :: INFO :: hbmqtt.broker :: Listener 'tls1' bind to 127.0.1.1:8883 (max_connections=-1)
[2020-06-04 19:17:14,139] :: INFO :: hbmqtt.broker :: Listener 'tls1': 1 connections acquired
[2020-06-04 19:17:14,140] :: INFO :: hbmqtt.broker :: Connection from 127.0.0.1:58402 on listener 'tls1'
[2020-06-04 19:17:14,149] :: INFO :: mqttserver :: Bumper Authentication Success - Helperbot: helperbot@bumper/helperbot


Auf einem 2ten Pi mit Pihole habe ich die 02-custom.conf je nach IP angepasst.

nano /etc/dnsmasq.d/02-custom.conf

#address=/ecouser.net/127.0.1.1
#address=/ecovacs.com/127.0.1.1
#address=/ecovacs.net/127.0.1.1
address=/ecouser.net/192.168.178.42
address=/ecovacs.com/192.168.178.42
address=/ecovacs.net/192.168.178.42


Danach immer

sudo service pihole-FTL reload

Jetzt ist die Frage, Zertifikaterror oder was anderes...?

schwatter

#33
Pihole läuft auf 192.168.178.80
Domains von einem Windowsrechner anpingen klappt aber auch nicht.

C:\WINDOWS\system32>ping ecovacs.com
Ping-Anforderung konnte Host "ecovacs.com" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.

C:\WINDOWS\system32>ping ecouser.net
Ping-Anforderung konnte Host "ecouser.net" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.

C:\WINDOWS\system32>ping ecovacs.net
Ping-Anforderung konnte Host "ecovacs.net" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.

C:\WINDOWS\system32>ping 192.168.178.80

Ping wird ausgeführt für 192.168.178.80 mit 32 Bytes Daten:
Antwort von 192.168.178.80: Bytes=32 Zeit=1ms TTL=64
Antwort von 192.168.178.80: Bytes=32 Zeit=2ms TTL=64
Antwort von 192.168.178.80: Bytes=32 Zeit=2ms TTL=64
Antwort von 192.168.178.80: Bytes=32 Zeit=17ms TTL=64

Ping-Statistik für 192.168.178.80:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 1ms, Maximum = 17ms, Mittelwert = 5ms

C:\WINDOWS\system32>


edit:

Ich denke aber Pihole ist soweit I.O., da die EcovacsApp keine Verbindung mangelnder Zertifikate herstellen kann?

schwatter

Nur zum Verständnis. Brauche ich die App damit es funktioniert? Also Zertifikate installieren und ab geht es
oder ist Bumper erstmal stand-alone und nur wenn ich will muss ich die Zertifikate aufs Handy kopieren um
die App nutzen zu können? Wenn ich das Tut lese, würde ich sagen, stand-alone.

KölnSolar

ZitatJetzt ist die Frage, Zertifikaterror oder was anderes...?
den ping interessieren Zertifikate nicht. Muss an was anderem liegen.
Ich hätte drauf getippt, dass Du den rpi noch nicht als DNS im Netzerk aktiviert hast(bei ner Fritte hab ich den pi-hole unter Heimnetz als lokalen DNS-Server eingetragen), aber dann dürften die umgeleiteten Domains ja nicht blockiert werden.  :-\
Im pi-hole(admin-console) müsstest Du ja sehen, dass die Domains vom Win-Rechner angefragt wurden
ZitatBrauche ich die App damit es funktioniert?
Nein brauchst Du nicht. Aber angemeldet hast Du den Bot schon bei Ecovacs, oder ?(Kann sein, dass man auch das nicht braucht)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schwatter

Ja, die App ist eingerichtet mit dem Bot und Ecovacs.

Kleiner Erfolg...Auf dem Raspi gibt es Probleme mit den Abhängigkeiten. Ich hab mal bei MQTT geschaut.

pi@raspberrypi:~/bumper-master $ sudo apt-get install python3-hbmqtt
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-hbmqtt is already the newest version (0.9.2-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.


Also wieder ab zu Windows10-LinuxSub


pip install hbmqtt <--dort wird die Version 0.9.5 installiert.
pipenv --python 3.8
pipenv install --dev


Danach ist dort auch wieder aiohttp-error weg und bumper startet endlich mal.

C:\Users\schwatter.ZOTAC-ZBOX\Desktop\bumper-master\bumper>pipenv run python -m bumper --listen 192.168.178.40 --announce 192.168.178.40
[2020-06-04 22:53:41,652] :: INFO :: bumper :: Starting Bumper
[2020-06-04 22:53:41,699] :: INFO :: mqttserver :: Starting MQTT Server at 192.168.178.40:8883
[2020-06-04 22:53:41,715] :: INFO :: xmppserver :: Starting XMPP Server at 192.168.178.40:5223
[2020-06-04 22:53:41,715] :: INFO :: hbmqtt.broker :: Listener 'tls1' bind to 192.168.178.40:8883 (max_connections=-1)
[2020-06-04 22:53:42,231] :: INFO :: hbmqtt.broker :: Listener 'tls1': 1 connections acquired
[2020-06-04 22:53:42,231] :: INFO :: hbmqtt.broker :: Connection from 192.168.178.40:53511 on listener 'tls1'
[2020-06-04 22:53:42,247] :: INFO :: mqttserver :: Bumper Authentication Success - Helperbot: helperbot@bumper/helperbot


Endlich ist auch mal das Webinterface erreichbar unter http://192.168.178.40:8007/   :)

Bot ist noch nicht connected, also weiter gehts....

schwatter

Der Rest muss ein DNS Problem sein...

- Meine Fritzbox hat die IP vom PiholeServer. 192.168.178.80. Sie Bild unten.
- Mein WindowsPC hat die IP 192.168.178.40.
- Auf dem PiholeServer habe ich 02-custom.conf editiert

address=/ecouser.net/192.168.178.40
address=/ecovacs.com/192.168.178.40
address=/ecovacs.net/192.168.178.40

- danach sudo service pihole-FTL reload

ping vom FhemServer als unbeteiligter 4 im Bund klappt nicht  :o

root@raspi4fhem:~# ping ecouser.net
ping: ecouser.net: No address associated with hostname
root@raspi4fhem:~# ping ecovacs.com
ping: ecovacs.com: No address associated with hostname
root@raspi4fhem:~# ping ecovacs.net
ping: ecovacs.net: No address associated with hostname
root@raspi4fhem:~#

KölnSolar

Ich denke immer noch, dass es am pi-hole liegt. Was kommt denn dort so alles an ? Wie sind die settings ?(ich hab die fritte z.B. unter "Use conditional forwarding" eingetragen). Den "DNS Resolver" in pi-hole(admin-Weboberfläche: Tools) restartet ?

Den google(8.8.8.8) würd ich mal aus der Fritte rausnehmen und diese rebooten.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schwatter

So es läuft alles :)

Hab das tut hier angewendet.
https://heikorichter.name/post/129/fritzbox-mit-pi-hole-und-dns-over-htttps/

root@raspi4fhem:~# ping ecouser.net
PING ecouser.net (192.168.178.40) 56(84) bytes of data.
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=1 ttl=128 time=1.47 ms
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=2 ttl=128 time=2.39 ms
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=3 ttl=128 time=1.45 ms
^C
--- ecouser.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.448/1.767/2.389/0.440 ms
root@raspi4fhem:~# ping ecovacs.net
PING ecovacs.net (192.168.178.40) 56(84) bytes of data.
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=1 ttl=128 time=1.26 ms
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=2 ttl=128 time=1.51 ms
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=3 ttl=128 time=2.10 ms
^C
--- ecovacs.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.263/1.624/2.102/0.352 ms
root@raspi4fhem:~# ping ecovacs.com
PING ecovacs.com (192.168.178.40) 56(84) bytes of data.
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=1 ttl=128 time=5.87 ms
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=2 ttl=128 time=1.45 ms
64 bytes from ZOTAC-ZBOX.lan (192.168.178.40): icmp_seq=3 ttl=128 time=1.59 ms
^C
--- ecovacs.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.450/2.969/5.866/2.049 ms
root@raspi4fhem:~#



schwatter

#40
Ich hab versucht Post #17 umzusetzen.

2 Fragen

- Ich habe Probleme bei MQTT2_CLIENT mit mqttSubscribe. Wie setze ich das richtig?

attr myEcovacsClient mqttSubscribe iot/p2p/# iot/atr/# \$SYS

- Welches ist die serialId-des-Deebot? Leider geben die Logs noch nichts her. Oder Debug benutzen?

Ich finde nur folgende Infos
->clientid
->SN
->Class


Connected per MQTT2_CLIENT bin ich aber schon.

edit:

Ok,ok. Den Bot mal manuell starten und zack trudeln topics ein.....
z.B
'topic': 'iot/atr/onMapTrace/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j'

edit2:
per autocreate in fhem

bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:\x5c\x24SYS/broker/version:.* version
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onPos/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onMapTrace/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onMajorMap/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onMinorMap/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onStats/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onBattery/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onCachedMapInfo/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onSched/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onMapState/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/reportStats/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/reportPos/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/reportMajorMap/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/reportMinorMap/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/reportMapTrace/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onSpeed/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onCleanInfo/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onChargeState/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onRelocationState/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onEvt/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }

KölnSolar

Na prima, das erste Erfolgserlebnis. Du hast ja einen 950er, richtig ? Sieht ja im Detail doch ganz anders aus als bei mir. Immer JSON, keine lfd id....

Du hast ihn noch nicht rennen lassen, oder ? Würd ich mal machen. Und anstatt der  { json2nameValue($EVENT) } mal einfach jeweils einen Reading-Namen vergeben. Dann müsste das reading mit dem gesamten Inhalt angelegt werden, so dass man die Daten strukturierter und vollständig sieht.

Dann würd ich das mal beobachten, ob es "Redundanzen" gibt. Die müssten dann wie bei mir mit [^/]+  .* eingedämmt werden.

Und dann müssen wir mal überlegen, wie wir an die Befehle kommen. Meine Set-/GetList wird ja nicht funktionieren.  :'(
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schwatter

#42
Ja genau, ein 950. Doch rennen lassen habe ich ihn. Wenn ich nichts mache kommt auch nichts. Da die App nicht geht,
nutze ich immer den Start/Stop-Knopf kurz und er startet. Dann lasse ich einen paar Minuten laufen, dann Start/Stop-Knopf lange
und er fährt wieder zur Ladestation.


In etwa so

setstate Ozmo950 2020-06-05 20:32:39 onBattery {"header":{"pri":1,"tzm":480,"ts":"1591381958024","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"value":98,"isLow":0}}}
setstate Ozmo950 2020-06-05 20:33:27 onCachedMapInfo {"header":{"pri":1,"tzm":480,"ts":"1591382007241","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"enable":0,"info":[{"mid":"1180777719","status":0,"index":2,"using":0,"built":1,"name":""},{"mid":"409307405","status":0,"index":3,"using":1,"built":0,"name":""}]}}}
setstate Ozmo950 2020-06-05 20:33:08 onChargeState {"header":{"pri":1,"tzm":480,"ts":"1591381987508","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"isCharging":1,"mode":"slot"}}}
setstate Ozmo950 2020-06-05 20:33:28 onCleanInfo {"header":{"pri":1,"tzm":480,"ts":"1591382007243","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"trigger":"button","state":"idle"}}}
setstate Ozmo950 2020-06-05 20:33:27 onEvt {"header":{"pri":1,"tzm":480,"ts":"1591382005936","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"code":1065}}}
setstate Ozmo950 2020-06-05 20:33:28 onMajorMap {"header":{"pri":1,"tzm":480,"ts":"1591382007269","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50,"value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2218844699,4068694584,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2073600484,760289236,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1136934853,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
setstate Ozmo950 2020-06-05 20:33:27 onMapState {"header":{"pri":1,"tzm":480,"ts":"1591382006760","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"state":"building"}}}
setstate Ozmo950 2020-06-05 20:33:28 onMapTrace {"header":{"pri":1,"tzm":480,"ts":"1591382007245","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"625708","totalCount":0,"traceStart":0,"pointCount":0,"traceValue":""}}}
setstate Ozmo950 2020-06-05 20:33:28 onMinorMap {"header":{"pri":1,"tzm":480,"ts":"1591382007280","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABt/knVyiqghH9PV8y0q9BjgodG9ShOT3INliSg6ZZGZqiJohWYSdd5SArdR7Al32OA6AUKEdO0b1R+Ym778kW7Y6QRQATys5akWXkbF13Wpbb6yWgLU8XFy6Txp93T0U5vDFJ3sZy80577odv0+8MaGXdxBF1pws78A3B4XKSru7p2LtsufI1YpXttWJREs9zBVyEW/Ng9p4w02YHUYmLh3mqkHh5lRQ0IRE/LoscoNgBCQd4Q1HP0h06zrirs2g1oiT1FadlGejaR70CyImhTJndq20rIeRI="}}}
setstate Ozmo950 2020-06-05 20:33:28 onPos {"header":{"pri":1,"tzm":480,"ts":"1591382007245","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"chargePos":[{"x":102,"y":261,"a":-87}],"deebotPos":{"x":28,"y":-139,"a":-114,"invalid":1},"mid":"409307405"}}}
setstate Ozmo950 2020-06-05 20:33:27 onRelocationState {"header":{"pri":1,"tzm":480,"ts":"1591382005935","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mode":"recover","state":"fail","isHasMap":1}}}
setstate Ozmo950 2020-06-05 20:33:28 onSched {"header":{"pri":1,"tzm":480,"ts":"1591382007242","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":[]}}
setstate Ozmo950 2020-06-05 20:33:09 onSpeed {"header":{"pri":1,"tzm":480,"ts":"1591381988868","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"speed":0}}}
setstate Ozmo950 2020-06-05 20:32:29 onStats {"header":{"pri":1,"tzm":480,"ts":"1591381948067","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"area":3,"time":238,"cid":"111","start":"1591381716","type":"auto"}}}
setstate Ozmo950 2020-06-05 20:32:49 reportMajorMap {"header":{"pri":1,"tzm":480,"ts":"1591381967888","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1405437905","value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3228886661,3160956080,1295764014,1295764014,1295764014,1295764014,1295764014,3032557359,3844847604,3903064409,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1605340464,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50}}}
setstate Ozmo950 2020-06-05 20:32:49 reportMapTrace {"header":{"pri":1,"tzm":480,"ts":"1591381967933","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1405437905","tid":"992468","totalCount":304,"traceStart":0,"pointCount":304,"traceValue":"XQAABADwBQAAAAeAHnriTPgcaxCCS933yeOfVdBmugbhmtZDCofiKRnJBdXGBMmcVQN4iWohadXbgrkGGC8bnPYTZaijWUbeDIXSz/AyUw85/mSbsyfUIqMLAHs8B8/8yZJnzEH4+WlOrYRXp4lp9wvHuonaEVhjC1/9Fi62Uancrp4NAv2TnwnttHpvThXoImUS0aFyNicafZJD3ipvFJbU+/ZIuaLmgXOuf5vqii9LGgESQeaTWmOn2QWIHFZyDLhLwlOnP0MdLncSIkd0HE+/uAgGpGv6GK12Lu+lUH7aLkK7rKbB2ARzJlvxyNgG4NHbr2e3xBXIBDf0Q7Qx7arRqQ95WvyNKVvTnA5aAsG3+1iupaleZNfsDx2crd1JarmkQiXBZGcMn07eoP9w9owuCdSj5sUqVzvZQIHoTL9ez9v/VuxQzdUlMxWj0yF5yo+qWBlDFq1q/OmlAR0A8R7q70X4Xjv5It4HOWSD9VMGPW6A+Scd25xV28JzMJqvv3Qz2WMRWgJ+aR455sgzmP/jc+BPTygt0uE8RyY5uAKxAQHYMyekucfn75+JbYKSAVecIh6ThoZCfgTUswhG6WAO3ejxfcdAMjbtC05xh8q1/kic2gzC2soJa2kdtNA9MXcz2UKXB63qRMMeGzgNeahOWVcI26MBbWfjAx6P3R33nYQQIYy3ayoi2Xk2weZmeL8JxZmTGxlu1R+9DXSRHNibiaXGJnzg2BTL7Y9I7pRypX+InrwboCtKWFXErsHZo3qBLPVJMd8cuOokxLP8ZVUIYksLJfgHE2ckPnLFjpMV5lxtZ7H+0SDG4WUrnic9ccBAXFf5GIlyBWu3lrcuUglle8e+lgjL+wSrFdROkCsvXEqJf6dfrI1T+KMphnX27ANnjWvix9XrCFL5+LCqVfeJYsCrZCjANH6iBIYhp9BZ+vJErWSEVd02hBSwrJ5M4xfJwTDuK0zddfU9UCz4sC+aMdi+UfoQU4LtTkZ2VrkJZGFxA7qQ/BY6v4NVsY/EG4hKO0v6Sv/JPUG31dDpXUoUd1PkL5jjBO5TDaHOgbPpy2QBF6FUydaosExL4d4TMghOPcUCfevBpAvgjstG7tg1qPTEqdxwMVICAhhYYVRo"}}}
setstate Ozmo950 2020-06-05 20:32:49 reportMinorMap {"header":{"pri":1,"tzm":480,"ts":"1591381967896","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1405437905","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABs/nyFC3vYRwMJIs3OAmyILIiE8UY2M6Cll8ITE1BDMfnp5lfGYas9vnZjahVwUUB+fi0/7wItTIQEtnEfFd0WXtxkWOAgPqBGcYkfVTkEtBFlDbm0hxxBbaXRg/enZh2DDeEae1mQOgs7HtZRr017QY9bpHFPjIwySSOTgGscXA+xPkqALPh3nbji/YnXWzCJFtNA1CX7YmdUXN8rhVIShzDC8o4ZNQUNwGhhpU662PW0BhmAL7oxuIA0fCor+VqFSMRF/SZ590vqfZBOiAA="}}}
setstate Ozmo950 2020-06-05 20:32:49 reportPos {"header":{"pri":1,"tzm":480,"ts":"1591381967884","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1405437905","chargePos":[{"x":120,"y":267,"a":-85}],"deebotPos":{"x":546,"y":-745,"a":119}}}}
setstate Ozmo950 2020-06-05 20:32:49 reportStats {"header":{"pri":1,"tzm":480,"ts":"1591381967884","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1405437905","type":"auto","stop":1,"mapCount":6,"area":3,"time":257,"start":"1591381716","content":"","stopReason":2}}}


edit:
Readings ergänzt.
Wie hast du deine set-Befehle rausbekommen? Plain in bumper oder sniffing vom Handytraffic?

KölnSolar

Ja, so meinte ich das. Ist ja ganz schön viel u. durch die mapping-funktion(hat meiner nicht) äußerst unübersichtlich

ZitatWenn ich nichts mache kommt auch nichts.
Ich denke schon. Achte mal auf das onBattery. Womit es Zeit ist die Frage zu stellen. Was ist wirklich interessant zu sehen bzw. was will man überhaupt mit FHEM erreichen(außer Spaß haben).
- mein oberstes Ziel war vom ecovacs-server wegzukommen(stellen wir für Dich mal hinten an)
- den Bot per FHEM zu steuern(so weit sind wir f. den 950 auch noch nicht)
- SINNVOLLE Informationen in FHEM zu haben. Also das, was man sich nach Beendigung des Spieltriebs noch anguckt oder ggfs. auch logged)
   Was ich da aus meiner Erfahrung u. bei den gegebenen Infos sagen kann:
   Ladestand, lädt ja/nein, saugt ja/nein (mit Dauer), Geschwindigkeit(Saugstärke),error(code)
   was ich nicht habe, aber durchaus interessant: trigger
   ich hab dann noch, wo ich bei Dir nichts zu sehe: Lebensdauer Verbrauchsmaterial(Bürsten,Filter), Wassertank ja/nein, Wassermenge
   Das wars dann aber eigentlich schon. Vielleicht noch was an Statistik zur Laufzeit....
   Zu den Maps kann ich nicht viel sagen. Bestimmt interessant, welche Map/Raum wann befahren wurde

Siehst Du anderen Bedarf ?

ZitatDa die App nicht geht
Weil noch nicht probiert oder will nicht ?

Da es scheinbar bei Dir nicht die Redundanzen gibt, könntest Du die App nun probieren. Du musst ja nur das Zertifikat(wie auf GitHub beschrieben) ins Handy packen. Ich verspreche mir davon weitere readings(bzw. readingslist immer im Auge behalten)/-Inhalte. Insbesondere auch einen Ansatz für die Befehle.(neben /iot/attr/.... werden /iot/p2p/.... topics kommen). Für die Befehle kannst Du aber auch mal in die issues bei GitHub u. git gucken. Da gab es Logs, Diskussionen zum 950.

Ich bitte Beta mal um einen Vorschlag für einen Datenextrakt. Der schüttelt das mit links aus dem Ärmel.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schwatter

Mein oberstes Ziel war,

- Cloudfree, vom ersten Tag (nunja, hat nicht ganz geklappt  ;D )
- Einbindung in Fhem
- Taster zum starten (ok, man könnte sich auch bücken)
- Bisschen automatisieren
- Ein paar Statusinfos sind immer gut

Wegen der App, weil noch nicht probiert. Ich wollte erst wissen, wie es bei anderen ist und wie gesprächig der Bot ist.
Ok, dann gehts nun weiter mit der App  :)