HOMBOT
HOMBOT | |
---|---|
Zweck / Funktion | |
Steuern von LG Hombot Staubsaugerrobotern und Anzeige von Status Informationen | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstige Systeme |
Modulname | 74_HOMBOT.pm |
Ersteller | CoolTux (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Dieses Modul gibt Euch die Möglichkeit Euren Hombot nach erfolgreichen Hack in FHEM ein zu binden. Voraussetzung ist das Ihr den Hombot Hack gemacht und einen WLAN Stick eingebaut habt. Als Schnittstelle zwischen FHEM und Bot wird der Luigi HTTP Server verwendet. Was genau könnt Ihr nun mit dem Modul machen:
Features / Funktionen
- Readings über den Status des Hombots werden angelegt
- Auswahl des Reinigungsmodus ist möglich
- Starten der Reinigung
- Beenden der Reinigung
- zurück zur Homebase schicken
- Namen vergeben
- Wochenprogramm einstellen
- Repeat und Turbo aktivieren
- Kamerabild
!!! Voraussetzungen schaffen !!!
Ihr benötigt zum verwenden des Modules die Programme ssh und sshpass. Desweiteren muß im Homeverzeichnis des fhem Users das Verzeichniss .ssh existieren und darin die Datei known_hosts. Diese sollte eine Passphrass des Bots beinhalten. Am besten Ihr macht als normaler User eine ssh Session zum Bot und kopiert danach die known_hosts Eures normalen Users in das .ssh Verzeichnis des fhem Users. Rechte anpassen nicht vergessen.Nachfolgend ist der Prozess beschrieben.
Per Putty vom Fhem Server aus, mittelts ssh folgenden Befehl ausführen. Die IP entspricht der des Hom-Bots.
ssh root@192.168.x.y
Sollte zusätzlich zur Passwort Abfrage eine weitere Abfrage auftauchen,diese mit yes bestätigen.Anschließend kann die Session mit exit wieder geschlossen werden.
Anschließend kopiert man die known_hosts Datei vom ~/.ssh Ordner in den Ordner /opt/fhem/.ssh/ mittels:
sudo cp ~/.ssh/known_hosts /opt/fhem/.ssh/known_hosts
Sollte eine Fehlermeldung erscheinen, könnte dies daran liegen, dass der Ordner .ssh nicht vorhanden ist.Diesen dann mittels folgendem Code erstellen:
sudo mkdir /opt/fhem/.ssh
Anschließend, falls noch nicht vorhanden auf dem Fhem Server mittels folgendem Code sshpass installieren:
sudo apt-get install sshpass
Nun geht es mit der Definition weiter.
Definition
define <name> HOMBOT <IP-ADRESSE>
Beispiel:
define Roberta HOMBOT 192.168.0.23
Diese Anweisung erstellt ein neues HOMBOT-Device im Raum HOMBOT. Der Parameter <IP-ADRESSE> legt die IP Adresse des LG Hombot fest.
Das Standard Abfrageinterval ist 180 Sekunden und kann über das Attribut intervall geändert werden. Das Interval ist in Abhängigkeit des Arbeitsstatus dynamisch. Im Status WORKING beträgt es z.B. 30 Sekunden.
readings
- at_* - Reading für das Wochenprogramm. Startzeit für den jeweiligen Tag
- batteryPercent - Status der Batterie in %
- cleanMode - aktuell eingestellter Reinigungsmodus
- cpu_* - Informationen über die Prozessorauslastung
- currentBumping - Anzahl der Zusammenstöße mit Hindernissen
- firmware - aktuell installierte Firmwareversion
- hombotState - Status des Hombots
- lastClean - Datum und Uhrzeit der letzten Reinigung
- lastSetCommandError - letzte Fehlermeldung vom set Befehl
- lastSetCommandState - letzter Status vom set Befehl, Befehl erfolgreich/nicht erfolgreich gesendet
- lastStatusRequestError - letzte Fehlermeldung vom statusRequest Befehl
- lastStatusRequestState - letzter Status vom statusRequest Befehl, Befehl erfolgreich/nicht erfolgreich gesendet
- luigiSrvVersion - Version des Luigi HTTP Servers auf dem Hombot
- nickname - Name des Hombot
- num* - Bisher begonnene und beendete Reinigungen im entsprechenden Modus
- repeat - Reinigung wird wiederholt Ja/Nein
- state - Modulstatus
- turbo - Turbo aktiv Ja/Nein
Befehle
set
- cleanMode - setzen des Reinigungsmodus (ZZ-ZickZack / SB-Cell by Cell / SPOT-Spiralreinigung
- cleanStart - Reinigung starten
- homing - Beendet die Reinigung und lässt die Bot zurück zur Bases kommen
- nickname - setzt des Bot-Namens. Wird im Reading erst nach einem neustart des Luigiservers oder des Bots sichtbar
- pause - lässt den Reinigungsproßess pausieren
- repeat - Reinigung wiederholen? (true/false)
- schedule - setzen des Wochenprogrammes Bsp. set Roberta schedule Mo=13:30 Di= Mi=14:00,ZZ Do=15:20 Fr= Sa=11:20 So= Man kann also auch den Modus mitgeben!
- statusRequest - Fordert einen neuen Statusreport beim Device an
- turbo - aktivieren des Turbomodus (true/false)
STATE
- initialized - Ist der Status kurz nach einem define..
- active - die Geräteinstanz ist im aktiven Status.
- disabled - die Geräteinstanz wurde über das Attribut disable deaktiviert
Bekannte Probleme
Keine
Kameraunterstützung experimentell
Die Unterstützung für die Kamera ist Momentan noch experimentell und ausserhalb des Modules. Es ist nicht davon aus zu gehen das die Kameraunterstützung Einzug ins Modul hält. Grund hiefür ist unter anderem das es bereits Module für Kamerasupport gibt und möglichst nichts doppelt programmiert werden soll. Daher sollte der Wunsch dahin gehen das IPCam Modul so fit zu machen das es den Bot unterstützt.
Ab Version v2.34 des Hombot Hacking Packetes ist der Kamera Support integriert.
Einbindung ins TabletUI
Damit wir über unser TabletUI das Kamerabild sehen können müssen wir zu erst das im Zipfile befindliche hombotCam.js ist js Verzeichnis von unserer TabletUI kopieren, danach öffnet Ihr das File und passt die IP in der Zeile
yuvUrl = 'http://192.168.240.249:6260/images/snapshot.yuv',
entsprechend der Bot IP Eures Bot's an.
Nun muß lediglich das html File in das entsprechende Verzeichnis bei Euch wo auch die anderen Tablet html Dateien liegen. In dieser html Datei sind lediglich ein paar Anpassungen gemacht worden.
..head>
...
..script type="text/javascript" src="/fhem/tablet/js/hombotCam.js"></script>
...
../head>
..body onload="drawSnapshot()" >
...
...data-type="label" class="darker">Roberta Livecam Stream
..div id="cam"><canvas id="cam_canvas" width="320" height="240"></canvas>
...
Hier musste etwas geschummelt werde, da man wohl kein HTML Code ins Wiki bekommt.
Fertig das wares, nun sollte auf Euer TabletUI Oberfläche das Kamerabild zu sehen sein.
Link zum ZipFile