Roomba: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 8: | Zeile 8: | ||
Die Roboter haben eine ungewöhnliche Software, diese enthält nämlich einen MQTT-Server (früher MQTT-Broker). Man kann sie also nicht als MQTT-Device bei einem MQTT-Server anmelden, sondern muss ein MQTT-Device schaffen, das sich bei dem internen MQTT-Server anmeldet. | Die Roboter haben eine ungewöhnliche Software, diese enthält nämlich einen MQTT-Server (früher MQTT-Broker). Man kann sie also nicht als MQTT-Device bei einem MQTT-Server anmelden, sondern muss ein MQTT-Device schaffen, das sich bei dem internen MQTT-Server anmeldet. | ||
== Vorbereitung == | == Vorbereitung == | ||
Derzeit ist es noch nicht möglich, den ersten Schritt innerhalb von FHEM zu tun. Gebraucht wird dazu noch eine externe Anwendung [ | Melden Sie den Roboter im WLAN an. Idealerweise lassen Sie ihm eine feste IP-Adresse im WLAN zuweisen. Derzeit ist es noch nicht möglich, den ersten fogenden Schritt innerhalb von FHEM zu tun. Gebraucht wird dazu noch eine externe Anwendung [https://github.com/NickWaterton/Roomba980-Python Roomba980 ]. Installieren Sie diese nach Anleitung. | ||
pip install paho-mqtt | pip install paho-mqtt | ||
pip install pillow | pip install pillow | ||
Zeile 40: | Zeile 40: | ||
} | } | ||
} | } | ||
Roomba (Feger) IP address is: 192.168.0.XX | Roomba (Feger) IP address is: '''192.168.0.XX''' | ||
blid is: '''3###########0''' | blid is: '''3###########0''' | ||
Password=> ''':######################A''' <= Yes, all this string. | Password=> ''':######################A''' <= Yes, all this string. | ||
Use these credentials in roomba.py | Use these credentials in roomba.py | ||
Die fettgedruckten Strings sind IP-Adresse, blid und Passwort und sollten gut aufbewahrt werden. | |||
==Einrichten eines MQTT Client== | |||
Definieren Sie in FHEM | |||
define RoombaFegerClient MQTT2_DEVICE '''192.168.0.XX''':8883 | |||
attr RoombaFegerClient | |||
attr RoombaFegerClient SSL 1 | |||
attr RoombaFegerClient autocreate no | |||
attr RoombaFegerClient clientId '''3###########0''' | |||
attr RoombaFegerClient disconnectAfter 5 | |||
attr RoombaFegerClient mqttVersion 3.1.1 | |||
attr RoombaFegerClient sslargs SSL_version:SSLv23 | |||
attr RoombaFegerClient username '''31###########0''' | |||
Ersetzen Sie bei den Attributwerten die IP-Adresse die clientId und den username durch den blid-String aus dem vorangehenden Schritt. Führen Sie dann mit dem aus dem vorangehenden Schritt notierten Passwort aus | |||
set RoombaFegerClient password ''':######################A''' | |||
Sie sollten jetzt schon in der Lage sein, sich durch | |||
set RoombaFegerClient connect | |||
mit dem Roboter zu verbinden, der Status des Client geht dabei für 5 Sekunden auf dem Wert "connected" | |||
[[Kategorie:Other Components]] | [[Kategorie:Other Components]] |
Version vom 6. Januar 2021, 15:58 Uhr
Allgemeines
Die Reinigungsroboter Roomba von iRobot können via MQTT an FHEM gekoppelt werden. Dazu werden die Module MQTT2_CLIENT und MQTT2_DEVICE benötigt
- Diskussion siehe hier Hier in diesen Forumsthread
Achtung: Work in progress
Produkte
Siehe Produktübersicht
Einbindung in FHEM
Die Roboter haben eine ungewöhnliche Software, diese enthält nämlich einen MQTT-Server (früher MQTT-Broker). Man kann sie also nicht als MQTT-Device bei einem MQTT-Server anmelden, sondern muss ein MQTT-Device schaffen, das sich bei dem internen MQTT-Server anmeldet.
Vorbereitung
Melden Sie den Roboter im WLAN an. Idealerweise lassen Sie ihm eine feste IP-Adresse im WLAN zuweisen. Derzeit ist es noch nicht möglich, den ersten fogenden Schritt innerhalb von FHEM zu tun. Gebraucht wird dazu noch eine externe Anwendung Roomba980 . Installieren Sie diese nach Anleitung.
pip install paho-mqtt pip install pillow pip install six pip install git+https://github.com/NickWaterton/Roomba980-Python.git
Versetzen Sie den Roboter danach in den Anlernzustand. Welche Buttons auf dem Roboter dabei gedrückt werden müssen, entnehmen Sie bitte der Anleitung des Roboters. Während dieser Anlernzustand andauert, starten Sie bitte das Programm
python3 ~/Roomba980-Python/roomba/getpasswd.py
Das Ergebnis ist ein längerer Text ähnlich dem folgenden:
Received: { "robotname": "Feger", "sku": "R981040", "nc": 0, "ver": "3", "proto": "mqtt", "ip": "192.168.0.xx", "hostname": "Roomba-31xxxxxxxxxx0", "sw": "v2.4.8-44", "mac": "70:66:xxxxxxxxxxx:6F", "cap": { "carpetBoost": 1, "pp": 1, "langOta": 1, "binFullDetect": 1, "ota": 2, "maps": 1, "pose": 1, "eco": 1, "multiPass": 2, "edge": 1, "svcConf": 1 } } Roomba (Feger) IP address is: 192.168.0.XX blid is: 3###########0 Password=> :######################A <= Yes, all this string. Use these credentials in roomba.py
Die fettgedruckten Strings sind IP-Adresse, blid und Passwort und sollten gut aufbewahrt werden.
Einrichten eines MQTT Client
Definieren Sie in FHEM
define RoombaFegerClient MQTT2_DEVICE 192.168.0.XX:8883 attr RoombaFegerClient attr RoombaFegerClient SSL 1 attr RoombaFegerClient autocreate no attr RoombaFegerClient clientId 3###########0 attr RoombaFegerClient disconnectAfter 5 attr RoombaFegerClient mqttVersion 3.1.1 attr RoombaFegerClient sslargs SSL_version:SSLv23 attr RoombaFegerClient username 31###########0
Ersetzen Sie bei den Attributwerten die IP-Adresse die clientId und den username durch den blid-String aus dem vorangehenden Schritt. Führen Sie dann mit dem aus dem vorangehenden Schritt notierten Passwort aus
set RoombaFegerClient password :######################A
Sie sollten jetzt schon in der Lage sein, sich durch
set RoombaFegerClient connect
mit dem Roboter zu verbinden, der Status des Client geht dabei für 5 Sekunden auf dem Wert "connected"