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

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

Vorheriges Thema - Nächstes Thema

vuffiraa

Hallo,

seit ein paar Wochen saugt bei mir ein Neato BotVac Connected durch die Zimmer. Im Netz findet man mittlerweile einige Informationen, wie man mit dem Neato reden kann. Ich habe mir die Informationen mal angeschaut und das, was ich verstanden habe in ein neues Modul gekippt. Im Wesentlichen sind die gleichen Funktionen wie in der Hersteller-App verfügbar.

Die Definition in Fhem erfolgt per:
define <name> BOTVAC <email> <password> [neato|vorwerk] [<poll-interval>]


  • <email> <password> sind die Zugangsdaten der Neato App.
  • Danach kann man definieren, ob das Gerät von Neato oder Vorwerk kommt. Wenn dieser Parameter nicht angegeben ist, wird "neato" angenommen.
  • Fhem fragt den Status dann alle <poll-interval> Sekunden ab.
Vielleicht möchte es jemand ja mal testen :)
Hier der Link zum Modul https://raw.githubusercontent.com/vuffiraa72/fhem_modules/master/70_BOTVAC.pm
Das Modul ist nun offizieller Teil von Fhem und wird über die normalen Update-Wege verteilt.

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

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

DerFrickler

vorweg: Ich habe das Modul nicht getestet. Nur wozu eMail und Pwd? Wozu muss das ganze über die Cloud des Herstellers laufen?

Gruß!

vuffiraa

Zitat von: DerFrickler am 01 Mai 2016, 22:16:15
vorweg: Ich habe das Modul nicht getestet. Nur wozu eMail und Pwd? Wozu muss das ganze über die Cloud des Herstellers laufen?

Gruß!
Das ist einfach der verfügbare Weg. Wenn man den Sauger laut Hersteller in Betrieb nimmt, laden die Daten bereits in der Cloud. Das Modul bedient sich da nur.

Die direkte Kommunikation kenne ich so ad-hoc nicht, aber Informationen darüber sind willkommen.

Gruß
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

moddermonster71

Hallo VuffiRaa,

ich habe Dein Modul getestet und unsere "Doris" lässt sich problemlos damit steuern.
Mal sehen wie ich das so in die Haussteuerung einbaue.

Gruß,
Ingo

domschl

Hab's auch mal installiert, und funktioniert soweit prima!

Jetzt kann man die Bewegungsmelder unscharf schalten, solange der Botvac in Abwesendheit die Wohnung saeubert.

Bitte erwaegen, das Modul ins FHEM cvs zu bringen.

Herzlichen Dank.

domschl

Potentieller bug:

die defaults fuer webCmd sind nicht gueltig:

   unless ( defined( AttrVal( $name, "webCmd", undef ) ) ) {
        $attr{$name}{webCmd} = 'start:stop:goToBase';
    }

start und goToBase werden nicht verstanden, sollte wohl "startCleaning eco" bzw. sendToBase sein? Wobei bei mir sendToBase nix macht.

Gruss Dom.

vuffiraa

Zitat von: domschl am 17 Mai 2016, 15:32:01
Potentieller bug:

die defaults fuer webCmd sind nicht gueltig:

   unless ( defined( AttrVal( $name, "webCmd", undef ) ) ) {
        $attr{$name}{webCmd} = 'start:stop:goToBase';
    }

start und goToBase werden nicht verstanden, sollte wohl "startCleaning eco" bzw. sendToBase sein? Wobei bei mir sendToBase nix macht.

Gruss Dom.
Oh, danke. Das hatte ich wohl schon länger da einfach so stehen. Die Befehle sind nicht immer alle gültig. Er muss z.B. erst eine Weile saugen, bevor  sendToBase erlaubt ist. Das sieht man in den Readings, wenn 'dockHasBeenSeen' = 1 ist.

Gruß vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

maxx8888

Hallo,

Hab das Modul auch grad installiert. Funktioniert einwandfrei.
Wie schon erwähnt, gehen die Webcmds nicht, is aber eher das kleine Problem...

Habe geplant über das Presence Module den Roboter automatisch zu starten/stoppen, je nachdem ob ich Zuhause bin oder nicht.
Vielleicht noch ein Wandtaster für den manuellen Start...

Cooles Module :-)
Hast Du geplant das mal offiziell zu machen?

Lg,
Markus

maxx8888

Hi!

Muß kurz nochmal ein Feedback abgeben.
Das BOTVAC Module scheint absolut blockierend zu sein, wenn das Internet ausfällt.
Hatte letzte Nacht einen Fhem Total Ausfall. Nach genauerer Analyse heute schein das Botvac Modul hängen zu bleiben.
Wenn ich es disable und das Internet abschalte läuft fhem normal weiter.

Lg,
Markus

vuffiraa

Hallo Markus,

interessante Beobachtung, werde ich mir mal genauer anschauen.
Die Verbindung wird mit Hilfe von non-blocking Anfragen gemacht. Laut Wiki ist aber die DNS Abfrage blockierend http://www.fhemwiki.de/wiki/HttpUtils.

Hast du eine Ahnung, wie lange das Modul blockiert hat? Die HTTP Aufrufe werden mit 15 Sekunden Timeout ausgeführt, aber auch wie oben geschrieben nicht blockierend.

Gruß vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

chaosbanane

#10
sorry, ich hatte einen schönen beitrag geschrieben aber aufgrund eines falschen captcha codes (bzw einen von den zweien übersehen) ist nun alles weg.

darum noch mal ganz schnell:
ZitatCannot load module BOTVAC

Log:
Zitat2016.07.20 12:19:20 1: reload: Error:Modul 70_BOTVAC deactivated:
Can't locate IO/Socket/SSL/Utils.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/70_BOTVAC.pm line 38.
BEGIN failed--compilation aborted at ./FHEM/70_BOTVAC.pm line 38.

2016.07.20 12:19:20 0: Can't locate IO/Socket/SSL/Utils.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/70_BOTVAC.pm line 38.
BEGIN failed--compilation aborted at ./FHEM/70_BOTVAC.pm line 38.

Line 38:
Zitatuse IO::Socket::SSL::Utils qw(PEM_string2cert);

Kann mir jemand sagen welches Paket mir genau fehlt?

Vielen Dank!

vuffiraa

Zitat von: chaosbanane am 20 Juli 2016, 12:32:05
Kann mir jemand sagen welches Paket mir genau fehlt?

Die nötige Bibliothek heißt libio-socket-ssl-perl.

Gruß
vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

chaosbanane

Danke dir und sorry für meine späte Antwort.

Zitatasdf@core ~# apt-get install libio-socket-ssl-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
libio-socket-ssl-perl is already the newest version.
libio-socket-ssl-perl set to manually installed.
The following packages were automatically installed and are no longer required:
  procmail sensible-mda
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 65 not upgraded.

Scheint so als hätte ich dieses paket bereits installiert. Hat es vielleicht einen anderen Grund?

VG

Mr. P

@vuffiraa: Danke für das Modul. Bin gerade am testen vom Connected und die Integration in FHEM ist natürlich noch das Sahnehäubchen. :-)
Falls du noch weiter daran arbeitest, dürfte ich dich noch um zwei Dinge bitten?
Zum Einen ist mir aufgefallen, dass die set-Befehle für stop, pause, resume als auch für sendToBase nicht in der Liste (set myNeato ?) aufscheinen.
Weiters wäre es toll, wenn man noch die Readings bereinigen könnte. Wenn man zB einen Zeitplan mit mehreren Einträgen hat, so hat man keine Möglichkeit den zu bereinigen und bleibt ewig erhalten.
Wäre super, danke! :-)

@chaosbanane: Hatte das Problem auch - konnte mir behelfen, indem ich das perl-Paket mit cpan selbst gebaut hab.
In der Shell einfach:
cpan install IO::Socket::SSL::Utils

Und nach einem Reload oder Neustart von FHEM gings dann.
Greetz,
   Mr. P

Gruby

Hallo zusammen,

da der BotVAC von Neato und der Vorwerk VR200 sich sehr gleichen stellt sich mir die Frage, ob dieses Modul auch für den VR200 verwendet bzw. angepasst werden kann.

Hat sich das eventuell schon jemand angesehen oder Erfahrungen gemacht?