Plugin: MiRobot2Lox / Xiaomi Vacuum Robot mit MiniServer steuern
Einklappen
X
-
Mal eine andere Frage. Gibt es eine Möglichkeit den Robbi gezielt eine bestimmte Zeit losfahren zu lassen? Hintergrund: Bisher hatte ich einen Roomba. Dieser stand unter einem Hängeschrank. Da man da nur etwas umständlich ran kam, um z.B. den Robbi zu reinigen, hatte ich mir auf eine Taste eine "Ausparkfunktion" gelegt. Nach Impuls fuhr Robbi für 3 Sekunden einfach Rückwärts von der Station und stoppte, so dass man ihn bequem aufnehmen konnte. Dies würde ich natürlich gern wieder realsisieren. Dazu bräuchte ich einen Befehl, der den neuen Robbi einfach gerade von der Station fahren lässt und nach einer Zeit wieder stoppt. Also quasi Befehl "fahre vorwärts" und 3 Sekunden später "stoppe". -
Das kannst du ganz einfach mit Start und Pause Befehl realisieren.
Die Zeit im MonoFlop auf 0,5 Sekunden
Die Zeit im Verzögerter Impuls auf 0,5 Sekunden und die Zeit Verzögerung so lange der Robot fahren soll.Kein Support per PN!Kommentar
-
Ideal ist es so leider nicht, da Robbi ja nur von der Dockingstation rutscht (reicht nicht um unter den Schrank vor zu kommen), sich orientiert und dann erst einmal zur Seite abhaut (will ja den Raum scannen). Schön wäre es, wenn er einfach gerade raus fährt (so 1 bis 2 m). Also ohne Orientierung und Seitwärtsfahrt.Kommentar
-
Den Wunsch musst du dann direkt an Xiaomi richten. -
Na ja, im Grunde hat Xiaomi den Wunsch ja erfüllt. Mit der App kann man ja den Robbi fernbedienen. Drückt man die Vorwärtstaste, sagt Robbi, dass Remotecontroll gestartet wird. So lange wie jetzt vorwärts gedrückt wird, fährt er vorwärts und damit geradewegs unter dem Schrank hervor. Im Grunde braucht es also mehrere Befehle:
- starte Remotecontroll
- fahre x Sekunden vorwärts
- beende Remotecontroll
-
-
Das Ansteuern der Remotebefehle scheint hiernach zu funktionieren. https://github.com/rytilahti/python-miio
Leider hab ich von der Materie genau 0 Komma gar nichts Ahnung. Aber evtl könnt Ihr ja damit was anfangen.Zuletzt geändert von Buellpower; 03.11.2017, 13:31.Kommentar
-
Habe das Problem mit den leeren Vars gefixt.
Version 0.3 ist online...
tholle Buellpower
Fleißarbeit ist erledigt.
neuer Befehl R1_MI_PARK_RELEASE\n
Im Webinterface muss die Zeit (Park Release Time) die der Robot fahren soll in Sekunden eingeben werden.
Glück für Buellpower das mein Schreiner nächste Woche kommt und den Schrank unter der Treppe umbaut und ich den MI dann auch versteckt dort einbaue.
Ob ich es wirklich brauche sehen wir dann
Viel Spaß beim testen.
Kein Support per PN!Kommentar
-
Hallo hismastervoice,
mein MI-Robot läuft nun schon seit ein paar Wochen dank Deiner Hilfe einwandfrei mit Loxone.
Der momentane Standort passt mir aber nicht in meiner kleinen Wohnung. Daher würde ich gerne die Ladestation unter mein Bett versetzen. Dies bedingt aber die Abschaltung der Ladestation, als auch die Ausschaltung des Mi-Robot, da ich ungern auf einem "Strahlenherd" schlafen möchte. Zudem benötige ich den Mi-Robot nur alle 2-4 Tage - will heißen diesere steht 99% unbenutzt im Weg und verbraucht auch noch Standby-Strom.
Habe das mal ausprobiert: Wenn der Strom der Ladestation weggenommen wird, fängt der Mi-Robot kurz danach an zu blinken. Dann lässt sich dieser über einen langen Tastendruck auf "Start" ausschalten (kein Standby + WLAN deaktiviert = keine Akkuentladung). Zur Reaktivierung ist lediglich wieder Strom auf Ladestation geben erforderlich. Dann ist dieser nach ca. 15 Sekunden automatisch wieder einsatzbereit.
Deshalb meine Bitte:
Ein supertolles Future wäre dieser manuelle, motorische Ausschaltbefehl manuell am Gerät in Loxone bzw. Loxberry zu inplementieren. Dann könnte ich mir "das unter das Bett gekragsel" sparen ;-). Ich könnte mir Vorstellen, da dieser Befehl ja eigentlich schon exisitert, lediglich durch ein Zeitglied im Loxberry die Auslösung auf 5 Sekunden zu verlängern.
Ich bin mir sicher Du hast was besseres zu tun als für irgendwelche Wünsche anderer Zeit zu investieren. Soll einfach nur mal ein Vorschlag sein. Somit liese sich der Mi-Robot an jeder unzugänglichen Stelle Parken, Laden, Aus- und Einschalten. Vielleicht ist das ja für Dich auch ein gutes Future....und es ist ja bald Weihnachten...
Grüße vom Bodensee
Kommentar
-
Leider gibt es dafür keinen mir bekannten Befehl. Da selbst in der Mi App das nicht vorgesehen ist denke ich das es tatsächlich nur direkt am Gerät ausgeführt werden kann.
Wenn jemand eine Möglichkeit kennt werde ich sie gerne mit einbauen.
Kein Support per PN!Kommentar
-
Hallo Hismastervoice,
erst mal vielen Dank für Deine rasche Antwort.
Ich bin davon ausgegangen dass es sich lediglich um einen "verlängerten Startbefehl" (Ausschaltverzögerung-fallende Flanke) handelt wenn die Ladestation wie beschrieben zuvor vom Netz getrennt wird, da es ja die gleiche Taste ist. Ich nehme an in der Mi APP sind die Tasten entprellt und über ein "Monoflop" geführt. Weiter reagiert der Mi APP-Befehl auf die "fallende Flanke". Deshalb kann es auch von der Mi App nicht funktionieren.
Weiter hätte ich mir vorstellen können dass über Deine APP dieser Befehl eben verlängert gesendet wird oder mehrmals hintereinanter. So ist es ja auch wenn ich versuche den Mi auszuschalten. Nach dem Drücken ertönt zuerst "Mi Startklang" - wird aber vor Ausgabe des ganzen Textes abgebrochen bei gehaltener Starttaste. Ca 2 Sekunden später ertönt dann "turning off".
Wenn Du meinst das wäre evtl. eine Möglichkeit kannst Du es ja mal bei Gelegenheit über den Quellcode ausprobieren. Ansonsten eigentlich Schade wenn es nicht geht. Beim Versuch die ON-OFF Taste am Gerät mehrmals schnell hintereinander kurz zu drücken funktioniert der Ausbefehl auch nicht.Somit wird am Gerät die "Einschaltflanke und die Sendelänge" ausgewertet- also genau das Gegenteil wie von der Mi APP.
Kommentar
-
Sorry, aber wie soll dir mit so einem Beitrag jemand helfen.
Mein Auto läuft nicht habe 2x den Zündschlüssel herum gedreht, was kann das sein. Jetzt kann ich dir 1000 Möglichkeiten nennen.
Nichts für ungut aber bitte etwas mehr Infos, Screenshots...
Wie lange ist dein Token, hast du die ip und den token schon im Terminnal eingegeben?
mirobo --ip xxx.xxx.xxx.xxx --token xxxxxxxxxxxxxxxxxxx status
Was kommt dann...Kein Support per PN!Kommentar
-
ich bekomme diese Antwort
Traceback (most recent call last):
File "/usr/local/bin/mirobo", line 7, in <module>
from miio.vacuum_cli import cli
File "/usr/local/lib/python3.4/dist-packages/miio/__init__.py", line 2, in <module>
from miio.protocol import Message, Utils
File "/usr/local/lib/python3.4/dist-packages/miio/protocol.py", line 30, in <module>
from cryptography.hazmat.primitives import padding
File "/usr/local/lib/python3.4/dist-packages/cryptography/hazmat/primitives/padding.py", line 13, in <module>
from cryptography.hazmat.bindings._padding import lib
ImportError: No module named '_cffi_backend'Zuletzt geändert von Grosinger; 30.11.2017, 07:22.Kommentar
-
Dann gib mal folgendes ein...
pip3 install -U cryptography
danach
pip3 install -U miroboKein Support per PN!Kommentar
-
das kommt als meldung bei pip3 install -U cryptography
Successfully built cryptography
Installing collected packages: pycparser, cffi, cryptography
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python3.4/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python3.4/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python3.4/dist-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/local/lib/python3.4/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python3.4/dist-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python3.4/dist-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python3.4/dist-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib/python3.4/os.py", line 237, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.4/dist-packages/pycparser-2.18.dist-info'
das kommt als meldung bei pip3 install -U mirobo
Collecting mirobo
Could not find a version that satisfies the requirement mirobo (from versions: )
No matching distribution found for mirobo
Kommentar
-
Vielleicht noch mal von vorn...
pip3 -uninstall cryptography
pip3 -uninstall python-mirobo
dann wieder
pip3 -install cryptography
pip3 -install python-miroboKein Support per PN!Kommentar
-
Kommentar
-
bekomme die meldung
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python3.4/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python3.4/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python3.4/dist-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/local/lib/python3.4/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python3.4/dist-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python3.4/dist-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python3.4/dist-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib/python3.4/os.py", line 237, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.4/dist-packages/enum_compat-0.0.2.dist-info'
-
Kommentar