Plugin: MiRobot2Lox / Xiaomi Vacuum Robot mit MiniServer steuern

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Buellpower
    LoxBus Spammer
    • 05.10.2015
    • 223

    #46
    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".
    http://www.projekt-stadthaus.blogspot.de/

    Kommentar

    • hismastersvoice
      Supermoderator
      • 25.08.2015
      • 7318

      #47
      Das kannst du ganz einfach mit Start und Pause Befehl realisieren.

      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 2017-11-03_11-10-12.png Ansichten: 1 Größe: 8,4 KB ID: 125282

      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

      • Buellpower
        LoxBus Spammer
        • 05.10.2015
        • 223

        #48
        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.
        http://www.projekt-stadthaus.blogspot.de/

        Kommentar


        • hismastersvoice
          hismastersvoice kommentierte
          Kommentar bearbeiten
          Den Wunsch musst du dann direkt an Xiaomi richten.

        • Buellpower
          Buellpower kommentierte
          Kommentar bearbeiten
          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
      • Buellpower
        LoxBus Spammer
        • 05.10.2015
        • 223

        #49
        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.
        python-miio - Python library & console tool for controlling Xiaomi smart appliances
        Zuletzt geändert von Buellpower; 03.11.2017, 13:31.
        http://www.projekt-stadthaus.blogspot.de/

        Kommentar


        • tholle
          tholle kommentierte
          Kommentar bearbeiten
          Tatsaechlich nutzt das Loxberry-Plugin genau dieses Stueck Software (python-miio) um den Xiaomi zu bedienen. Es ist also nur eine 'Fleissarbeit'.

          Gruss,
          tholle
      • hismastersvoice
        Supermoderator
        • 25.08.2015
        • 7318

        #50
        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


        • Buellpower
          Buellpower kommentierte
          Kommentar bearbeiten
          Absolut genial! Funktioniert super! Ich bin begeistert! Ein riesen Danke an Dich (und Deinen Schreiner).
      • Gast

        #51
        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

        • hismastersvoice
          Supermoderator
          • 25.08.2015
          • 7318

          #52
          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

          • Gast

            #53
            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

            • Grosinger
              Dumb Home'r
              • 10.11.2015
              • 14

              #54
              Hallo

              Hab alles nach beschreibung gemacht hab eine Verbindung zum roboter aber er sendet keinen wert
              ip Ok Token 2 mal gemacht nummer bleib gleich was mach ich falsch

              Kommentar

              • hismastersvoice
                Supermoderator
                • 25.08.2015
                • 7318

                #55
                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

                • Grosinger
                  Dumb Home'r
                  • 10.11.2015
                  • 14

                  #56
                  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

                  • hismastersvoice
                    Supermoderator
                    • 25.08.2015
                    • 7318

                    #57
                    Dann gib mal folgendes ein...
                    pip3 install -U cryptography
                    danach
                    pip3 install -U mirobo
                    Kein Support per PN!

                    Kommentar


                    • Grosinger
                      Grosinger kommentierte
                      Kommentar bearbeiten
                      erledigt

                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Irgendwie scheinst du nicht der große Schreiber zu sein

                      Heißt es das es jetzt funktioniert?
                  • Grosinger
                    Dumb Home'r
                    • 10.11.2015
                    • 14

                    #58
                    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


                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      War mein Fehler müsste python-mirobo heißen
                  • hismastersvoice
                    Supermoderator
                    • 25.08.2015
                    • 7318

                    #59
                    Vielleicht noch mal von vorn...


                    pip3 -uninstall cryptography
                    pip3 -uninstall python-mirobo

                    dann wieder

                    pip3 -install cryptography
                    pip3 -install python-mirobo
                    Kein Support per PN!

                    Kommentar


                    • Grosinger
                      Grosinger kommentierte
                      Kommentar bearbeiten
                      loxberry@loxberry:~ $ pip3 -install python-mirobo

                      Usage:
                      pip <command> [options]

                      no such option: -i

                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Man sollte nicht nur mit einem Auge drauf schauen während der Arbeit

                      pip3 uninstall cryptography
                      pip3 uninstall python-mirobo

                      pip3 install cryptography
                      pip3 install python-mirobo
                  • Grosinger
                    Dumb Home'r
                    • 10.11.2015
                    • 14

                    #60
                    alles installiert

                    Kommentar


                    • Grosinger
                      Grosinger kommentierte
                      Kommentar bearbeiten
                      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'

                    • tholle
                      tholle kommentierte
                      Kommentar bearbeiten
                      Den 'Permission denied' musst du wegbekommen.
                      Mit welchem Benutzer fuehrst du das denn aus?
                  Lädt...