Neues Modul: BOTVAC (für Neato BotVac Connected)

Begonnen von vuffiraa, 02 April 2016, 22:12:29

Vorheriges Thema - Nächstes Thema

vuffiraa

Zitat von: Schlimbo am 18 Juni 2018, 18:28:38
Hallo Vuffiraa,
weiß nicht ob du die Diskussion zur Vereinheitlichung der Batterie Readings hier im Forum mitbekommen hast. Es gibt mittlerweile eine Guidline für diese Readings:
https://wiki.fhem.de/wiki/DevelopmentGuidelinesReadings
Was hältst du deshalb davon, das Reading "charge" in "batteryPercent" umzubenennen?

Die Diskussion habe ich bisher übersehen. Dann werde ich mal lesen und natürlich auch umsetzen.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

windflyer

Hallo...
erst einmal vielen Dank für das tolle Modul!
Ich bin gerade am Aufsetzen meines Systems und als FHEM Laie komme ich auch nicht wirklich schnell voran.
Nach langem Hin und Her bekomme ich nun auch Readings von meinem VR200, allerdings nicht wirklich viele. (siehe Bild)
Was mache ich da nur falsch?
Danke für eure Hilfe!
LG

vuffiraa

Zitat von: windflyer am 19 Juli 2018, 13:51:44
Hallo...
erst einmal vielen Dank für das tolle Modul!
Ich bin gerade am Aufsetzen meines Systems und als FHEM Laie komme ich auch nicht wirklich schnell voran.
Nach langem Hin und Her bekomme ich nun auch Readings von meinem VR200, allerdings nicht wirklich viele. (siehe Bild)
Was mache ich da nur falsch?
Danke für eure Hilfe!
LG
Schau mal ins Logfile, ob es da schon Meldungen gibt, die das Problem erklären. Ansonsten kann man im Modul das Attribut ,verbose' setzen. Bei 4 oder 5 wird dann viel mehr ins Log geschrieben. Damit könnte ich dann prüfen, wo es hängt.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

vuffiraa

Sieht gar nicht so schlecht aus und funktioniert auch, theoretisch...  :(

Was ich ein bißchen komisch finde, ist das Datum im Request. Davon hängt leider die Autorisierung ab:
2018.07.20 20:09:02 5: HttpUtils request header:
POST /vendors/vorwerk/robots/4W7DC56J-7C3866410828/messages HTTP/1.0
Host: nucleo.ksecosys.com
...
Date: [b]Fri Jul 20 18:09:02 2018[/b]
2018.07.20 20:09:02 5: HttpUtils response header:
HTTP/1.0 404 Not Found
server: Cowboy
date: [b]Fri, 20 Jul 2018 18:09:02 GMT[/b]


Eigentlich sollten die markierten Stellen identisch sein. Auf welches OS und welcher Perl-Version läuft Fhem bei dir?
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Jewe

Hallo,
habe hier einen Kärcher RC3 bei mir. Ich vermute, dass er ähnlich oder evtl. sogar gleich wie der Botvac funktioniert.
In dem Threat habe ich angefangen alles zusammenzutragen. Vielleicht hat jemand hier eine Idee dazu, oder kann mir Tipps geben Sie ich die notwendigen Daten heraus finde.

Danke, Jens

https://r.tapatalk.com/shareLink?url=https%3A%2F%2Fforum%2Efhem%2Ede%2Findex%2Ephp%3Ftopic%3D89416%2E0&share_tid=89416&share_fid=75100&share_type=t

vuffiraa

Hallo Jens,

das Prinzip des Moduls ist die Emulation einer Handy-App. Daher ist es nicht so wichtig, welche Ports am Kärcher offen sind, sondern wo die App hintelefoniert. Das kann man mit Programmen wie WireShark herausfinden.

Bei der Suche nach Gemeinsamkeiten zwischen Kärcher und Neato/Vorwerk bin ich im Roboter-Forum auf einen Beitrag gestoßen, der den Kärcher eher mir dem myVacBot SN500 (INXNI) vergleicht. Mir ist aber nicht bekannt, ob es für diesen Typ ein Modul in Fhem gibt.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

vuffiraa

Im Git gibt es die neue Version 0.4.4. Die Änderungen sind:

  • Das Datum für die Abfragen ist RFC 1123
  • Das Reading 'charge' wurde in 'batteryPercent' umbenannt
@windflyer: Damit sollte das Datumsproblem bei dir nicht mehr auftreten. Bitte mal probieren.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

windflyer

@vuffiraa
Danke für deine Hilfe!
Meine Versionen:
- Perl 5 (v5.24.1)
Raspbian GNU/Linux
Version ID 9 (stretch)
Das ganze läuft auf einem Raspberry mit Loxberry Image
Danke nochmals
LG

windflyer

@vuffiraa
Danke!
Werde ich gleich probieren!
Wo muss ich das Datum für die Abfragen (RFC 1123) einfügen?
LG

vuffiraa

Zitat von: windflyer am 21 Juli 2018, 13:43:17
Die neue Version 0.4.4 habe ich eingespielt..
Das Datum wird aber noch immer falsch angezeigt, wie zuvor um 2 Stunden falsch!

Die 2 Stunden sind nicht das Problem. Das Datum muss in der Zeitzone GMT angegeben werden. Diese Zeitzone kennt keine Sommerzeit und deshalb sind wir genau 2 Stunden voraus.

Irgendetwas übersehe ich noch. Per App kannst du den VR200 aber erreichen?

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

orli

Zitat von: windflyer am 21 Juli 2018, 13:43:17
Die neue Version 0.4.4 habe ich eingespielt..
Das Datum wird aber noch immer falsch angezeigt, wie zuvor um 2 Stunden falsch!

2018.07.21 13:42:42 4: https://nucleo.ksecosys.com/vendors/vorwerk/robots/4W7DC56J-7C3866410828/messages: HTTP response code 404
2018.07.21 13:42:42 5: HttpUtils https://nucleo.ksecosys.com/vendors/vorwerk/robots/4W7DC56J-7C3866410828/messages: Got data, length: 67
2018.07.21 13:42:42 5: HttpUtils response header:
HTTP/1.0 404 Not Found
server: Cowboy
date: Sat, 21 Jul 2018 11:42:42 GMT
content-length: 67
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
Access-Control-Allow-Headers: Accept,Date,X-Date,Authorization
Content-Type: application/json
2018.07.21 13:42:42 5: BOTVAC SirHenry: called function BOTVAC_ReceiveCommand() rc: HASH(0x2cd01e0) err:  data: {"message":"Could not find robot_serial for specified vendor_name"}
2018.07.21 13:42:42 4: BOTVAC SirHenry: RCV messages/getSchedule
2018.07.21 13:42:42 4: BOTVAC SirHenry: RCV successors
2018.07.21 13:42:42 4: BOTVAC SirHenry: RES messages/getSchedule - {"message":"Could not find robot_serial for specified vendor_name"}
2018.07.21 13:42:46 4: Connection closed for WEB_192.168.0.56_51899: EOF
2018.07.21 13:42:46 4: Connection accepted from WEB_192.168.0.56_51918
2018.07.21 13:42:46 4: WEB_192.168.0.56_51918 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem.log; BUFLEN:0


check mal die Zeitzone auf deinem Loxberry mit: dpkg-reconfigure tzdata
Meine steht auf Berlin.

windflyer

@vuffiraa
ja in der app funktioniert alles problemlos!

@orli
ist bei mir auch Berlin, ändert aber leider nichts  :(

Jewe

Zitat von: vuffiraa am 21 Juli 2018, 11:07:19
Hallo Jens,

das Prinzip des Moduls ist die Emulation einer Handy-App. Daher ist es nicht so wichtig, welche Ports am Kärcher offen sind, sondern wo die App hintelefoniert. Das kann man mit Programmen wie WireShark herausfinden.

Bei der Suche nach Gemeinsamkeiten zwischen Kärcher und Neato/Vorwerk bin ich im Roboter-Forum auf einen Beitrag gestoßen, der den Kärcher eher mir dem myVacBot SN500 (INXNI) vergleicht. Mir ist aber nicht bekannt, ob es für diesen Typ ein Modul in Fhem gibt.

Gruß Vuffiraa
ViIelen Dank für die Info. Werde mal schauen wie ich weiterkommen.

Gesendet von meinem F5121 mit Tapatalk


abc2006

#298
Hi,
ich habs leider noch nicht geschafft, den gesamten Thread durchzulesen, und die Zeit ist knapp, weil ich den VR200 nur als Teststellung bis morgen mittag hab (und morgen arbeiten muss).


Folgende Sachen sind mir aufgefallen:
- Einrichtung funktioniert einwandfrei out of the box.
- Reading accessToken wird aktualisiert, obwohl attr disable 1 gesetzt ist
- Readings werden nicht upgedated, obwohl ich als Intervall 30 Sekunden angegeben habe.
(Beispiel state, batteryPercent usw)
- Start der Reinigung funktioniert
- Stop und backtobase funktionieren auch.


Wenn mir noch was auffällt, meld ich mich.
Die Tatsache, dass es ein funktionierendes Modul gibt, beeinflusst meine Kaufentscheidung maßgeblich!


Fragen beantworte ich gerne, soweit möglich. Werde noch einen Neato D7 testen und mich dann entscheiden.
Grüße und vielen Dank!
Stephan


ZitatInternals:
   CHANGED   
   DEF        abc2006@gmx.de testtest vorwerk 30
   EMAIL      abc2006@gmx.de
   INTERVAL   30
   NAME       VORWERK
   NR         816
   STATE      House Cleaning
   TYPE       BOTVAC
   VENDOR     vorwerk
   READINGS:
     2018-08-23 20:21:07   accessToken     ab78fdcc6cbdb62747e0c017289281e5
     2018-08-23 18:49:25   action          1
     2018-08-23 18:46:50   batteryPercent  80
     2018-08-23 18:11:11   cleaningCategory house
     2018-08-23 18:49:25   cleaningMode    turbo
     2018-08-23 18:02:52   cleaningModifier normal
     2018-08-23 18:11:11   cleaningSpotHeight 0
     2018-08-23 18:11:11   cleaningSpotWidth 0
     2018-08-23 18:43:55   dockHasBeenSeen 0
     2018-08-23 18:43:25   error           ui_alert_invalid
     2018-08-23 18:02:52   event0day       Thursday
     2018-08-23 18:02:52   event0mode      turbo
     2018-08-23 18:02:52   event0startTime 06:15
     2018-08-23 18:02:52   firmware        2.1.4
     2018-08-23 18:02:52   isCharging      0
     2018-08-23 18:11:21   isDocked        0
     2018-08-23 18:02:52   isScheduleEnabled 1
     2018-08-23 18:02:51   macAddr         7c38663faefc
     2018-08-23 18:02:52   model           VR200
     2018-08-23 18:02:51   name            Mein VR200
     2018-08-23 18:49:25   result          ok
     2018-08-23 18:02:51   robot           0
     2018-08-23 18:02:52   scheduleEnabled 1
     2018-08-23 18:02:52   scheduleType    0
     2018-08-23 18:02:51   secretKey       A5B173E191A19F85BAA77E888AFE6C7F
     2018-08-23 18:02:51   serial          4XWXJIH9-7C38663FAEFC
     2018-08-23 18:49:25   state           House Cleaning
     2018-08-23 18:49:25   stateId         2
   helper:
Attributes:
   cleaningMode turbo
   cleaningModifier normal
   event-on-update-reading .*
   webCmd     startCleaning:stop:sendToBase
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

bugware

Hallo vuffiraa,

ich habe gleich drei Fragen: 8)

a) Sobald ich keine funktionierende Internetverbindung habe finde ich im Log folgendes:
2018.08.23 23:13:55 1: PERL WARNING: Deep recursion on subroutine "main::BOTVAC_SendCommand" at ./FHEM/70_BOTVAC.pm line 1112.
2018.08.23 23:13:55 1: PERL WARNING: Deep recursion on subroutine "main::BOTVAC_CheckRegistration" at ./FHEM/70_BOTVAC.pm line 508.
2018.08.23 23:13:55 1: PERL WARNING: Deep recursion on subroutine "main::HttpUtils_NonblockingGet" at ./FHEM/70_BOTVAC.pm line 649.
2018.08.23 23:13:55 1: PERL WARNING: Deep recursion on subroutine "main::HttpUtils_Connect" at FHEM/HttpUtils.pm line 877.
2018.08.23 23:13:55 1: PERL WARNING: Deep recursion on subroutine "main::HttpUtils_gethostbyname" at FHEM/HttpUtils.pm line 428.
2018.08.23 23:13:55 1: PERL WARNING: Deep recursion on subroutine "main::BOTVAC_ReceiveCommand" at FHEM/HttpUtils.pm line 380.


Könnte man das mit einer Art "RetryCount" abfangen und nur eine maximale Anzahl an Anfragen zulassen? Ansonsten friert das System auf kurz oder lang ein.

b), auch an Schlimbo: es scheint demnächst ein Firmwareupdate für den Neato D7 zu kommen, dass bis zu drei Reinigungskarten (MyFloorMaps) kennt. Bei Interesse kann ich die Mail suchen. Hat das schon jemand ausprobiert und funktioniert das vielleicht schon mit dem Modul? Wäre ja interessant bevor man drüber nachdenkt eine weitere Basis zu kaufen...

c) Nur am Rande: hast du vielleicht schon die Änderung der nextCleaning* Attribute zu Readings angedacht?

Beste Grüße und nochmals vielen Dank, das Modul funktioniert ansonsten tadellos,
Andreas.
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS