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

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

Vorheriges Thema - Nächstes Thema

ma.ste

Hallo Zusammen,

ich hab mal ne Frage, auf die ich hier im Forum bisher keine Antwort gefunden habe (oder überlesen hab). Ich hab beim initialen Anlegen meines Botvac Connected die Intervals auf 900 (also 15 Minuten) gesetzt. Das ist mir jetzt doch etwas zu lang *g* -kann ich das irgendwie noch ändern oder muss ich das Device neu anlegen?

Danke und beste Grüße,
Marek

Fixel2012

Zitat von: ma.ste am 17 Februar 2017, 17:30:10
Hallo Zusammen,

ich hab mal ne Frage, auf die ich hier im Forum bisher keine Antwort gefunden habe (oder überlesen hab). Ich hab beim initialen Anlegen meines Botvac Connected die Intervals auf 900 (also 15 Minuten) gesetzt. Das ist mir jetzt doch etwas zu lang *g* -kann ich das irgendwie noch ändern oder muss ich das Device neu anlegen?

Danke und beste Grüße,
Marek

Kannst du abändern  ;) Unten bei deinem Device einfach auch "raw definition" klicken, da siehst du dann die Definition und kannst sie abändern. Anschließend unten auf "execute commands".
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

ma.ste

super, besten Dank. -Hab dabei gerade gemerkt, das man auch auf "DEF" drücken kann und es dort ebenso direkt verändern könnte. Jetzt muss ich nur noch herausfinden, wie ich den Neato dazu bringe die Basisstation zu "sehen"....

Fixel2012

Zitat von: ma.ste am 17 Februar 2017, 17:43:15
super, besten Dank. -Hab dabei gerade gemerkt, das man auch auf "DEF" drücken kann und es dort ebenso direkt verändern könnte. Jetzt muss ich nur noch herausfinden, wie ich den Neato dazu bringe die Basisstation zu "sehen"....

während er herum fährt sollte er irgendwann merken wo sie steht.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

ma.ste

Hey Fixel2012,

hmm...das kann sein -ich hab ihn nun immer nur kurz "herumfahren" lassen. Wenn ich in FHEM gehen habe, dass "dockHasBeenSeen" = true ist, hab ich den Befehl "sendToBase" ausprobiert. Leider ohne Erfolgt (es ist nichts passiert). Ist der Befehl noch aktuell?

Fixel2012

Zitat von: ma.ste am 17 Februar 2017, 20:06:15
Hey Fixel2012,

hmm...das kann sein -ich hab ihn nun immer nur kurz "herumfahren" lassen. Wenn ich in FHEM gehen habe, dass "dockHasBeenSeen" = true ist, hab ich den Befehl "sendToBase" ausprobiert. Leider ohne Erfolgt (es ist nichts passiert). Ist der Befehl noch aktuell?

Das habe ich noch nicht ausprobiert, aber der Befhel "resume" geht auch nicht  :-\
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

vuffiraa

Zitat von: Fixel2012 am 17 Februar 2017, 22:02:27
Das habe ich noch nicht ausprobiert, aber der Befhel "resume" geht auch nicht  :-\
"Resume" geht nur, wenn vorher per "Pause" eine Reinigung unterbrochen wurde. Genauso verhält es sich mit dem Zurückschicken zur Basis. Das Modul ist da etwas ungenauer und lässt mehr Kommandos zu, als z.B. die App. Diese Kommandos laufen dann aber ins Leere.
Um direkt aus der Reinigung zur Station zurückzukehren, gibt es im Modul auch "pauseToBase". Das sind beide Kommandos zusammengefasst.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Fixel2012

Zitat von: vuffiraa am 18 Februar 2017, 17:20:37
"Resume" geht nur, wenn vorher per "Pause" eine Reinigung unterbrochen wurde. Genauso verhält es sich mit dem Zurückschicken zur Basis. Das Modul ist da etwas ungenauer und lässt mehr Kommandos zu, als z.B. die App. Diese Kommandos laufen dann aber ins Leere.
Um direkt aus der Reinigung zur Station zurückzukehren, gibt es im Modul auch "pauseToBase". Das sind beide Kommandos zusammengefasst.

Gruß Vuffiraa

Danke für die Erläuterung! Ich dachte vielleicht ich kann dem Robo mit dem Befehl "resume" sagen, dass wenn er feststeckt es nochma versucht frei zu kommen  ;D

Weißt du zufällig etwas dazu?:

Zitat von: Fixel2012 am 17 Februar 2017, 17:20:16
Hallo,
ich habe immer folgendes ca. täglich in meinem Log:

2017.02.17 13:27:58 1: *** EN FHEM/70_BOTVAC.pm: ignoring text due to DOS encoding
2017.02.17 13:27:58 1: *** DE FHEM/70_BOTVAC.pm: ignoring text due to DOS encoding


Was hat das zu bedeuten?

Edit: scheint mir so als wäre es immer wenn ich ein Fhem update mache, bin mir aber nicht sicher.

Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

vuffiraa

Zitat von: Fixel2012 am 18 Februar 2017, 17:23:36
Danke für die Erläuterung! Ich dachte vielleicht ich kann dem Robo mit dem Befehl "resume" sagen, dass wenn er feststeckt es nochma versucht frei zu kommen  ;D

Weißt du zufällig etwas dazu?:

Sieht nach der Dokumentationsprüfung aus, die Fhem automatisch nach einem Update durchführt. Daher hast du mit deiner Annahme, dass es nur beim Update auftritt, recht gehabt.
Die Doku ist noch unvollständig, sonst wäre das Modul längst im offiziellen SVN ;) Bitte ignorieren, es hat nichts mit der Funktion des Moduls zu tun.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Fixel2012

Zitat von: vuffiraa am 18 Februar 2017, 17:53:00
Sieht nach der Dokumentationsprüfung aus, die Fhem automatisch nach einem Update durchführt. Daher hast du mit deiner Annahme, dass es nur beim Update auftritt, recht gehabt.
Die Doku ist noch unvollständig, sonst wäre das Modul längst im offiziellen SVN ;) Bitte ignorieren, es hat nichts mit der Funktion des Moduls zu tun.
Gut, dann muss ich mir keine Sorgen machen, danke!

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

michael.winkler

Hallo,

ich habe seit gestern das Problem, dass mein FHEM sich nicht mehr Steuern lässt. Er verliert im Hintergrund auch fast alle IP Verbindungen. Nach langer Suche bin ich auf meinen Staubsauger als Verursacher gestoßen. Ich habe das Log mal auf Verbose 5 gestellt. Hier ist zu sehen dass er versucht den Status auf der Webseite abzurufen. So wie es aussieht braucht er hier mehrere Anläufe. Staubsauger wurde jetzt erstmal wieder deaktiviert. Gibt es eine Möglichkeit das blockieren des FHEM Servers zu verhindern?


2017.02.21 07:41:10 5: BOTVAC Flur.Staubsauger: called function BOTVAC_Set()
2017.02.21 07:41:34 5: BOTVAC Flur.Staubsauger: called function BOTVAC_GetStatus()
2017.02.21 07:41:34 5: BOTVAC Flur.Staubsauger: called function BOTVAC_SendCommand()
2017.02.21 07:41:34 4: BOTVAC Flur.Staubsauger: REQ messages/getRobotState
2017.02.21 07:41:34 4: BOTVAC Flur.Staubsauger: REQ successors 0: messages,getSchedule
2017.02.21 07:41:34 5: BOTVAC Flur.Staubsauger: POST https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages ({"reqId":"1","cmd":"getRobotState"})
2017.02.21 07:41:34 5: BOTVAC Flur.Staubsauger: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Tue Feb 21 06:41:34 2017
Authorization: NEATOAPP c757xxxxxxxxxxxxxxxxxxxxxxxx
2017.02.21 07:42:18 5: BOTVAC Flur.Staubsauger: called function BOTVAC_ReceiveCommand() rc: HASH(0x6070910) err: https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages: Can't connect(2) to https://nucleo.ksecosys.com:443:  SSL wants a read first data: 
2017.02.21 07:42:18 4: BOTVAC Flur.Staubsauger:messages/getRobotState RCV https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages: Can't connect(2) to https://nucleo.ksecosys.com:443:  SSL wants a read first
2017.02.21 07:42:18 5: BOTVAC Flur.Staubsauger: called function BOTVAC_SendCommand()
2017.02.21 07:42:18 4: BOTVAC Flur.Staubsauger: REQ messages/getSchedule
2017.02.21 07:42:18 4: BOTVAC Flur.Staubsauger: REQ successors
2017.02.21 07:42:18 5: BOTVAC Flur.Staubsauger: POST https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages ({"reqId":"1","cmd":"getSchedule"})
2017.02.21 07:42:18 5: BOTVAC Flur.Staubsauger: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Tue Feb 21 06:42:18 2017
Authorization: NEATOAPP dfd93a616d796a451be7b5ce4a329e17d8e1eae66887c5ab4dae10cdf3d6d5e8
2017.02.21 07:43:00 5: BOTVAC Flur.Staubsauger: called function BOTVAC_ReceiveCommand() rc: HASH(0x6041878) err: https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages: Can't connect(2) to https://nucleo.ksecosys.com:443:  SSL wants a read first data: 
2017.02.21 07:43:00 4: BOTVAC Flur.Staubsauger:messages/getSchedule RCV https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages: Can't connect(2) to https://nucleo.ksecosys.com:443:  SSL wants a read first
2017.02.21 07:43:00 5: BOTVAC Flur.Staubsauger: called function BOTVAC_GetStatus()
2017.02.21 07:43:00 5: BOTVAC Flur.Staubsauger: called function BOTVAC_SendCommand()
2017.02.21 07:43:00 4: BOTVAC Flur.Staubsauger: REQ messages/getRobotState
2017.02.21 07:43:00 4: BOTVAC Flur.Staubsauger: REQ successors 0: messages,getSchedule
2017.02.21 07:43:00 5: BOTVAC Flur.Staubsauger: POST https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages ({"reqId":"1","cmd":"getRobotState"})
2017.02.21 07:43:00 5: BOTVAC Flur.Staubsauger: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Tue Feb 21 06:43:00 2017
Authorization: NEATOAPP 6f7xxxxxxxxxxxxxxxxxxxxxxxx
2017.02.21 07:43:42 5: BOTVAC Flur.Staubsauger: called function BOTVAC_ReceiveCommand() rc: HASH(0x6070478) err: https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages: Can't connect(2) to https://nucleo.ksecosys.com:443:  SSL wants a read first data: 
2017.02.21 07:43:42 4: BOTVAC Flur.Staubsauger:messages/getRobotState RCV https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages: Can't connect(2) to https://nucleo.ksecosys.com:443:  SSL wants a read first
2017.02.21 07:43:42 5: BOTVAC Flur.Staubsauger: called function BOTVAC_SendCommand()
2017.02.21 07:43:42 4: BOTVAC Flur.Staubsauger: REQ messages/getSchedule
2017.02.21 07:43:42 4: BOTVAC Flur.Staubsauger: REQ successors
2017.02.21 07:43:42 5: BOTVAC Flur.Staubsauger: POST https://nucleo.ksecosys.com/vendors/vorwerk/robots/xxxxxxxxxxxxxxxxxxxxxxxx/messages ({"reqId":"1","cmd":"getSchedule"})
2017.02.21 07:43:42 5: BOTVAC Flur.Staubsauger: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Tue Feb 21 06:43:42 2017
Authorization: NEATOAPP 2299axxxxxxxxxxxxxxxxxxxxxxxx
2017.02.21 07:43:43 5: BOTVAC Flur.Staubsauger: called function BOTVAC_ReceiveCommand() rc: HASH(0x60694e0) err:  data: {"version":1,"reqId":"1","result":"ok","error":"ui_alert_invalid","data": {"type":0,"enabled":true,"events": [{"mode":1,"day":0,"startTime":"10:00"},{"mode":1,"day":1,"startTime":"09:30"},{"mode":1,"day":2,"startTime":"09:30"},{"mode":1,"day":3,"startTime":"09:30"},{"mode":1,"day":4,"startTime":"09:30"},{"mode":1,"day":5,"startTime":"09:30"},{"mode":1,"day":6,"startTime":"10:00"}]}}
2017.02.21 07:43:43 4: BOTVAC Flur.Staubsauger: RCV messages/getSchedule
2017.02.21 07:43:43 4: BOTVAC Flur.Staubsauger: RCV successors
2017.02.21 07:43:43 4: BOTVAC Flur.Staubsauger: RES messages/getSchedule - {"version":1,"reqId":"1","result":"ok","error":"ui_alert_invalid","data": {"type":0,"enabled":true,"events": [{"mode":1,"day":0,"startTime":"10:00"},{"mode":1,"day":1,"startTime":"09:30"},{"mode":1,"day":2,"startTime":"09:30"},{"mode":1,"day":3,"startTime":"09:30"},{"mode":1,"day":4,"startTime":"09:30"},{"mode":1,"day":5,"startTime":"09:30"},{"mode":1,"day":6,"startTime":"10:00"}]}}
2017.02.21 07:43:48 5: BOTVAC Flur.Staubsauger: called function BOTVAC_Set()
2017.02.21 07:43:49 5: BOTVAC Flur.Staubsauger: called function BOTVAC_Set()
2017.02.21 07:43:49 5: BOTVAC Flur.Staubsauger: called function BOTVAC_Set()
2017.02.21 07:43:49 5: BOTVAC Flur.Staubsauger: called function BOTVAC_Get()


jasonlist (ohne Readings!)


{
  "Arg":"Flur.Staubsauger",
  "Results": [
  {
    "Name":"Flur.Staubsauger",
    "PossibleSets":"startCleaning:Eco,Turbo startSpot:Eco,Turbo reloadMaps:noArg schedule:on,off syncRobots:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 disable:0,1 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "CHANGED": "null",
      "DEF": "56456456 vorwerk",
      "INTERVAL": "85",
      "NAME": "Flur.Staubsauger",
      "NR": "37",
      "STATE": "Idle",
      "TYPE": "BOTVAC"
    },
    "Readings": {

    },
    "Attributes": {
      "disable": "1",
      "icon": "Botvac_VR200",
      "room": "Flur OG",
      "verbose": "5",
      "webCmd": "startCleaning Eco:stop:sendToBase"
    }
  }  ],
  "totalResultsReturned":1
}


michael.winkler

Kleiner Nachtrag noch. Nachdem gerade ein Update der httputill kam, habe ich den Staubsauger gleich noch mal aktiviert. Leider bleibt dann FHEM wieder hängen.

Beim lesen des Modules ist mir aufgefallen dass der Timeout auf 42 steht. Nachdem ich den mal auf 1 gesetzt habe (cmd reload 70_BOVAT.pm) läuft jetzt mein FHEM wieder stabiler. Im Log ist trotzdem immer wieder zu sehen das er beim Zugriff auf die Webseite Probleme hat. Es gibt aber auch Momente wo der die Informationen abrufen kann.


###################################
sub BOTVAC_SendCommand($$;$$@) {
    my ( $hash, $service, $cmd, $params, @successor ) = @_;
    my $name        = $hash->{NAME};
    my $email       = $hash->{helper}{EMAIL};
    my $password    = $hash->{helper}{PASSWORD};
    my $timestamp   = gettimeofday();
    my $timeout     = 1;
    my $header;
    my $data;

vuffiraa

Zitat von: michael.winkler am 21 Februar 2017, 08:12:18
Kleiner Nachtrag noch. Nachdem gerade ein Update der httputill kam, habe ich den Staubsauger gleich noch mal aktiviert. Leider bleibt dann FHEM wieder hängen.

Beim lesen des Modules ist mir aufgefallen dass der Timeout auf 42 steht. Nachdem ich den mal auf 1 gesetzt habe (cmd reload 70_BOVAT.pm) läuft jetzt mein FHEM wieder stabiler. Im Log ist trotzdem immer wieder zu sehen das er beim Zugriff auf die Webseite Probleme hat. Es gibt aber auch Momente wo der die Informationen abrufen kann.

Hallo Michael,

mein Modul sollte Fhem nicht blockieren. Ich benutze auch nicht blockierende HTTP Calls. Den Timeout musste ich etwas höher wählen, da die Server von Neato und Vorwerk sich bei der Antwort eher Zeit lassen.
Ich muss mal schauen, was sich geändert hat. Das Modul läuft so bei mir schon einige Zeit stabil, eventuell wurde in Fhem etwas geändert, oder Vorwerk hat an der Sicherheit der Kommunikation geschraubt.
Den Timeout auf 1 zu setzen, hilft zwar gegen das Blockieren, aber ich denke, dass du da so gut wie keine Daten über deinen Vorwerk mehr bekommst. Der Server antwortet einfach nicht schnell genug.

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

michael.winkler

Zitat von: vuffiraa am 21 Februar 2017, 08:27:19
Hallo Michael,

mein Modul sollte Fhem nicht blockieren. Ich benutze auch nicht blockierende HTTP Calls. Den Timeout musste ich etwas höher wählen, da die Server von Neato und Vorwerk sich bei der Antwort eher Zeit lassen.
Ich muss mal schauen, was sich geändert hat. Das Modul läuft so bei mir schon einige Zeit stabil, eventuell wurde in Fhem etwas geändert, oder Vorwerk hat an der Sicherheit der Kommunikation geschraubt.
Den Timeout auf 1 zu setzen, hilft zwar gegen das Blockieren, aber ich denke, dass du da so gut wie keine Daten über deinen Vorwerk mehr bekommst. Der Server antwortet einfach nicht schnell genug.

Gruß Ulf
Laut Log, bekomme ich immer wieder Daten.

vuffiraa

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
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean