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

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

Vorheriges Thema - Nächstes Thema

michael.winkler

Zitat von: vuffiraa am 21 Februar 2017, 19:07:43
Hallo Michael,

Ich kann dein Verhalten leider auch bei meiner Fhem-Installation nachvollziehen. Es betrifft aber nur die Robots von Vorwerk. Bei meinem Neato ist keine Blockierung zu sehen.
Kannst du bestätigen, dass das Problem seit gestern ca. 18:44 aufgetreten ist, da habe ich die ersten Perform-Meldungen im Log.
Also muss ich mir das mal genauer ansehen.

Gruß vuffiraa
Hallo vuffiraa,

die Probleme sind bei mir seit dem 20.01.2017 ca. 18Uhr.

Der Workaround mit dem Timeout von 1 funktioniert seit gestern Problemlos bei mir. Ich bekomme immer noch aktuelle Statuswerte von meinem Roboter in FHEM

Gruß
Michael

vuffiraa

Moin,

ich habe gestern den ganzen Abend meine Testinstallation laufen lassen, um ein Log vom Problem mitzuschneiden. Leider ohne Erfolg. Vorwerk scheint das Problem in ihrem Server gelöst zu haben. Auch in meiner Hauptinstallation hat nichts mehr blockiert.
Im Modul steckt hinter der Kommunikation nur ein Einzeiler, daher brauche ich ein Log mit einer globalen verbose=5 Einstellung. Damit kann man dann vielleicht sehen, wo die eigentliche Blockierung auftritt.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

michael.winkler

Zitat von: vuffiraa am 23 Februar 2017, 07:35:52
Moin,

ich habe gestern den ganzen Abend meine Testinstallation laufen lassen, um ein Log vom Problem mitzuschneiden. Leider ohne Erfolg. Vorwerk scheint das Problem in ihrem Server gelöst zu haben. Auch in meiner Hauptinstallation hat nichts mehr blockiert.
Im Modul steckt hinter der Kommunikation nur ein Einzeiler, daher brauche ich ein Log mit einer globalen verbose=5 Einstellung. Damit kann man dann vielleicht sehen, wo die eigentliche Blockierung auftritt.

Gruß Vuffiraa
Hallo Vuffiraa,

hab ein Verbose 5 am laufen. Allerdings sieht die Kommunikation in Richtung Vorwerk Webseite gerade gut aus. Ich bekomme immer eine gültige Antwort.

Kann ntürlich sein das Vorwerk hier ein Problem auf der Webseite hatte. Blöde ist halt nur dass wenn das Modul die Seite nicht erreicht dass dann der ganze FHEM Server ein Problem bekommt.

Vielleicht kannst du bei Dir das Problem reproduzieren in dem Du die Internet Kommunikation deines FHEMs mal blockierst.

Den Timeout von 1 habe ich im Modul immer noch stehen. Funktioniert sehr gut.

Gruß
Michael

djmmm

#153
Zitat von: Saranger am 20 November 2016, 10:32:54
Hi. Hatte gestern das ganze noch mal neu angelegt dann ging es wieder. So wäre es aber bestimmt einfacher gewesen :).

Danke :)

Hallo zusammen,

erstmal Danke für die Arbeit an diesem Modul!

Auch ich musste meinen kleinen neu am WLAN anmelden.
Allerdings schaffe ich es nicht mehr den VR200 einzubinden.

Auch die beiden Befehle wie hier im Thread angegeben um den DeviceToken zu löschen habe ich probiert.

Habe das Modul neu aus dem git gezogen, und auch das Device im FHEM gelöscht, bekomme aber nichts zurück.

Hier das verbose Log aus FHEH:

2017.02.26 15:33:04 5: BOTVAC Fridolin: called function BOTVAC_GetStatus()
2017.02.26 15:33:04 5: BOTVAC Fridolin: called function BOTVAC_SendCommand()
2017.02.26 15:33:04 4: BOTVAC created successor: 0: messages,getRobotState, 1: messages,getSchedule
2017.02.26 15:33:04 5: BOTVAC Fridolin: called function BOTVAC_SendCommand()
2017.02.26 15:33:04 4: BOTVAC Fridolin: REQ sessions
2017.02.26 15:33:04 4: BOTVAC Fridolin: REQ successors 0: messages,getRobotState, 1: messages,getSchedule
2017.02.26 15:33:04 5: BOTVAC Fridolin: POST https://vorwerk-beehive-production.herokuapp.com/sessions ({"platform": "ios", "email": "max@djmmm.de", "token": "082725ac8d942b0fffbc2aabea4eb2ccb445d51d8c6100f85402af45bfd3fcf8", "password": "1234"})
2017.02.26 15:33:04 5: BOTVAC Fridolin: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
2017.02.26 15:33:05 5: BOTVAC Fridolin: called function BOTVAC_ReceiveCommand() rc: HTTP/1.1 429 Too Many Requests
Server: Cowboy
Date: Sun, 26 Feb 2017 14:33:05 GMT
Connection: close
Content-Type: text/plain
Retry-After: 300
Cache-Control: no-cache
X-Request-Id: af0ced34-a924-4c5e-ab9c-72b8887fc8df
X-Runtime: 0.026028
Strict-Transport-Security: max-age=15552000
Vary: Origin
Via: 1.1 vegur

Retry later
err:  data: Retry later

2017.02.26 15:33:05 4: BOTVAC Fridolin: RCV sessions
2017.02.26 15:33:05 4: BOTVAC Fridolin: RCV successors 0: messages,getRobotState, 1: messages,getSchedule
2017.02.26 15:33:05 5: BOTVAC Fridolin: RES ERROR sessions
Retry later

2017.02.26 15:33:05 5: BOTVAC Fridolin: RES ERROR sessions
Retry later





Woher kommt bitte der HTTP Error 429?
Bekomme ich das vom Vorwerk Server zurück? Die APP funktioniert parallel im selben Netz einwandfrei.

2017.02.26 15:33:05 5: BOTVAC Fridolin: called function BOTVAC_ReceiveCommand() rc: HTTP/1.1 429 Too Many Requests

Was muss ich noch alles tun um das Device vollständig zu löschen?

Gruß

Max



vuffiraa

Zitat von: djmmm am 26 Februar 2017, 15:44:47
Woher kommt bitte der HTTP Error 429?
Bekomme ich das vom Vorwerk Server zurück? Die APP funktioniert parallel im selben Netz einwandfrei.

2017.02.26 15:33:05 5: BOTVAC Fridolin: called function BOTVAC_ReceiveCommand() rc: HTTP/1.1 429 Too Many Requests

Was muss ich noch alles tun um das Device vollständig zu löschen?

Gruß

Max

Hallo Max,

diese Antwort kommt schon von Vorwerk. Irgendwie hast du es geschafft, dort eine Grenze bei den Anfragen zu überschreiten. :(

Was du tun sollst, steht ja auch schon da: Retry later

Im Log sieht man, dass es der allererste Kommunikationsversuch in Richtung Vorwerk ist, die Werte im Device sind alle noch "auf Anfang". Die Anmeldung ist außerdem von der Steuerung des VR200 getrennt, daher ist es kein Wunder, dass die App funktioniert. Dort bist du ja angemeldet. Wenn du mutig bist, kannst du dich in der App auch einmal abmelden und schauen, ob dann der gleiche Fehler kommt. Ich würde das aber nicht probieren!

Ansonsten wäre es einen Versuch wert, einmal die WAN-IP zu erneuern. Eigentlich sehe ich nur 2 Möglichkeiten, um zu viele Anfragen zu erkennen, entweder deine Zugangsdaten oder die IP. Vielleicht klappt es schon mit einer neuen IP.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

djmmm

Hallo Vuffira,

die Sekunden vorher bekomme ich nur einen HTTP Error 400 zurück. Komischerweise macht er das einmal in der Sekunde, bis dann nach einer Weile der 429 zurück kommt.


2017.02.27 09:06:19 5: BOTVAC Fridolin: called function BOTVAC_ReceiveCommand() rc: HTTP/1.1 400 Bad Request


Ja die IP habe ich gewechselt. Es scheint am Account zu liegen.

Wie kann ich denn alle Spuren besetigen und den VR200 komplett neu anlernen?

Danke und Gruß

Max


vuffiraa

Zitat von: djmmm am 27 Februar 2017, 09:14:36
Hallo Vuffira,

die Sekunden vorher bekomme ich nur einen HTTP Error 400 zurück. Komischerweise macht er das einmal in der Sekunde, bis dann nach einer Weile der 429 zurück kommt.


2017.02.27 09:06:19 5: BOTVAC Fridolin: called function BOTVAC_ReceiveCommand() rc: HTTP/1.1 400 Bad Request


Ja die IP habe ich gewechselt. Es scheint am Account zu liegen.

Wie kann ich denn alle Spuren besetigen und den VR200 komplett neu anlernen?

Danke und Gruß

Max

Hallo Max,

In Fhem kannst du alle Spuren beseitigen, wenn du unten im Gerät auf 'Delete this device' drückst.

Welches Intervall hast du definiert? Für die Bad-Request-Antworten muss es auch die entsprechenden Anfragen gegeben haben.
Im Log sieht man auch, wie der eigentliche Request ausgesehen hat, kannst du da mal prüfen, ob das gültiges JSON ist? Ich vermute, dass in der Mailadresse oder im Passwort Zeichen enthalten sind, die den Request ungültig machen.

Gruß vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

djmmm

#157
Servus vuffiraa,

sorry ich hatte unter der Woche leider wenig Zeit um hier weiter zu machen.

Es hat ja nun seit einige Zeit funktioniert und ist erst letzten Samstag ausgestiegen, als ich den kleinen neu angebunden habe.

Wie kann ich denn aus dem Log sehen ob es ein gültiger JSON Request ist?

Nehme aber auch an daran liegt es, da zum einen nur noch Bad Request kommt nachdem ich das Modul eine Weile inaktiv hatte.

Ich hatte den Intervall auf 60 um den Akkustand zu verfolgen, hatte ihn aber letztes Wochenende auf 600 gestellt.

Ich tippe auf die Sonderzeichen im Passwort, welche nicht mehr funktionieren....und werde nun testweise das PW ändern.

Tante Edith: Ja es waren die Sonderzeichen im PW welche dann Ärger machten.

Danke für die Hilfe und nochmals Danke für das Klasse Modul.

Gruß

Max

losh

Hallo und danke erstmal für dieses Modul!
Zwei Fragen hätte ich:

  • Gibt es Bestrebungen, dieses Modul ins FHEM zu ziehen?
  • Kann man mit diesem Modul jetzt oder in naher Zukunft auch Befehle für die "manuelle Steuerung" absetzen? Hintergrund: meine VR200er haben ihre Stationen unter Möbeln und ich muss zum Entleeren immer auf den Boden runter und sie vorziehen. Um meine müden Bandscheiben und Knie zu schonen wäre es komfortabel, zb. einen 3 sekündigen "fahre nach vorne"-Befehl absetzen zu können.
Danke im Voraus!

vuffiraa

Zitat von: losh am 10 März 2017, 09:26:11
Hallo und danke erstmal für dieses Modul!
Zwei Fragen hätte ich:

  • Gibt es Bestrebungen, dieses Modul ins FHEM zu ziehen?
  • Kann man mit diesem Modul jetzt oder in naher Zukunft auch Befehle für die "manuelle Steuerung" absetzen? Hintergrund: meine VR200er haben ihre Stationen unter Möbeln und ich muss zum Entleeren immer auf den Boden runter und sie vorziehen. Um meine müden Bandscheiben und Knie zu schonen wäre es komfortabel, zb. einen 3 sekündigen "fahre nach vorne"-Befehl absetzen zu können.
Danke im Voraus!

Hallo losh,

zu deinen Fragen:
1. Ja, ist geplant und wird wohl auch demnächst umgesetzt. Ich möchte da vorher noch eine Passwortbehandlung umsetzen.
2. Das Thema kommt hier zum 2. Mal hoch. Ich bin mir noch nicht über die Umsetzungsmöglichkeiten klar, da dass über eine separate Kommunikation gelöst werden muss. Ich muss da noch etwas drüber grübeln...

Viele Grüße,.
Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

ma.ste

Hallo Zusammen,

hat einer ein homebridge-mapping um den Botvac über HomeKit zu steuern?

Ich hab folgendes Beispiel für den Roomba gefunden, kann es aber nicht ganz auf das Botvac-Modul übertragen.

attr <THINKINGCLEANER> genericDeviceType switch
attr <THINKINGCLEANER> homebridgeMapping clear On=state,valueOn=/^(on|dock)/,cmdOn=on,cmdOff=off,nocache=1 ChargingState=deviceStatus,values=/(_recon|_full|_trickle)$/:CHARGING;/^.*/:NOT_CHARGING
attr <THINKINGCLEANER> siriName Robby

Kann mir jemand weiterhelfen?

Viele Grüße

ma.ste

Hey,

also, ich hab jetzt das folgende Mapping ausprobiert:

clear On=state,valueOn=/House Cleaning/,valueOff=/Docking/,cmdOn=/startCleaning Eco/,cmdOff=pauseToBase,nocache=1

Ich bekomme zwar in der HomeKit App ein Icon angezeigt, dass ich an und aus machen kann -jedoch tut sich dann nichts beim Neato. Ist etwas im Mapping falsch?

Viele Grüße

Gorean

Hallo,

ich hätte da mal eine Frage zum Botvac Modul. Bei mir ist es mit einem Poll-Interval von 300 Sekunden eingestellt.

Trotzdem bekomme ich ca. alle 5-10 Sekunden Einträge im LogFile bei verbose 5.


2017.03.29 15:03:50 5: BOTVAC Botvac: called function BOTVAC_ReceiveCommand() rc: HASH(0x48058d0) err:  data: {"version":1,"reqId":"1","result":"ok","error":"ui_alert_invalid","data": {},"state":1,"action":0,"cleaning": {"category":2,"mode":1,"modifier":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":99},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"houseCleaning":"basic-1","spotCleaning":"basic-1","manualCleaning":"basic-1","schedule":"basic-1","maps":"basic-1"},"meta": {"modelName":"BotVacConnected","firmware":"2.2.0"}}

2017.03.29 15:03:50 4: BOTVAC Botvac: RES messages/getRobotState - {"version":1,"reqId":"1","result":"ok","error":"ui_alert_invalid","data": {},"state":1,"action":0,"cleaning": {"category":2,"mode":1,"modifier":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":99},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"houseCleaning":"basic-1","spotCleaning":"basic-1","manualCleaning":"basic-1","schedule":"basic-1","maps":"basic-1"},"meta": {"modelName":"BotVacConnected","firmware":"2.2.0"}}


Ich weiss, dass verbose 5 eine Menge ausgibt, aber dass es soweit vom Poll-Intervall abweicht macht mich stutzig.

Das sieht eher nach einem Error aus, oder?

Gruß,
Peter

vuffiraa

Zitat von: Gorean am 29 März 2017, 15:09:27
Hallo,

ich hätte da mal eine Frage zum Botvac Modul. Bei mir ist es mit einem Poll-Interval von 300 Sekunden eingestellt.

Trotzdem bekomme ich ca. alle 5-10 Sekunden Einträge im LogFile bei verbose 5.


2017.03.29 15:03:50 5: BOTVAC Botvac: called function BOTVAC_ReceiveCommand() rc: HASH(0x48058d0) err:  data: {"version":1,"reqId":"1","result":"ok","error":"ui_alert_invalid","data": {},"state":1,"action":0,"cleaning": {"category":2,"mode":1,"modifier":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":99},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"houseCleaning":"basic-1","spotCleaning":"basic-1","manualCleaning":"basic-1","schedule":"basic-1","maps":"basic-1"},"meta": {"modelName":"BotVacConnected","firmware":"2.2.0"}}

2017.03.29 15:03:50 4: BOTVAC Botvac: RES messages/getRobotState - {"version":1,"reqId":"1","result":"ok","error":"ui_alert_invalid","data": {},"state":1,"action":0,"cleaning": {"category":2,"mode":1,"modifier":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":99},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"houseCleaning":"basic-1","spotCleaning":"basic-1","manualCleaning":"basic-1","schedule":"basic-1","maps":"basic-1"},"meta": {"modelName":"BotVacConnected","firmware":"2.2.0"}}


Ich weiss, dass verbose 5 eine Menge ausgibt, aber dass es soweit vom Poll-Intervall abweicht macht mich stutzig.

Das sieht eher nach einem Error aus, oder?

Gruß,
Peter

Hallo Peter,

du hast recht, mit einem Intervall von 300 solltest du diese Zeilen nur alle 5 Minuten im Log finden. Schickt mir mal ein "list <device>".
Du kannst das Log-Level auch auf 4 stellen und mal ein paar Zeilen mehr schicken, vielleicht sieht man dann den Grund.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

ares

Hallo VuffiRaa,

vielen Dank erstmal für das Modul, welches ich als offizielles Modul schon deutlich früher getestet hätte.

Die erste Einbindung heute hat problemlos funktioniert. Einige Readings wie isDocked=1 oder isCharging=0 sind für mich auch nachvollziehbar, andere wie action=0, cleanCategorie=2 oder srv_houseCleaning=basic-1 leider nicht. Hast Du vielleicht einen Link mit Erklärungen parat, welche die Deutung vereinfachen?

Im Log steht ein funktionierender Link und wird in .map_cache gefüllt, leider klappt es mit der Anzeige nicht. Ein reloadMaps, Neustart von fhem und Abwarten hat leider keine Lösung gebracht
Zitat von: vuffiraa am 24 Januar 2017, 15:14:55
Wie möchtest du die Karte anzeigen? Ich würde vermuten, dass bei der weblink-Definition etwas nicht stimmt.
Du kannst außerdem mal ein "reloadMaps" im Modul machen und gleichseitig verbose=5. Dann siehst du im Log, ob Bilddaten übertragen wurden.
Die weblink-Definition wurde automatisch angelegt:
startCleaning Eco:stop:sendToBase
Die Karte würde ich gerne in smartVISU anzeigen.

Viele Grüße
Manfred