Xiaomi Produkte in Loxone einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Clubsport
    MS Profi
    • 11.01.2018
    • 602

    #46
    Zitat von DG1912
    Hallo Zusammen,

    habe jetzt auch mal das Plugin installiert, alle nötigen Änderungen vorgenommen und das python skript mit "python3 run-mihome.py".
    Leider bekomme ich dann folgenden Fehler ausgeworfen:

    loxberry@loxberry:~/data/plugins/mihome/scripts $ python3 run-mihome.py
    Traceback (most recent call last):
    File "run-mihome.py", line 111, in <module>
    connector = XiaomiConnector(data_callback=cb)
    File "/opt/loxberry/.local/lib/python3.5/site-packages/mihome/connector.py", line 21, in __init__
    self.socket = self._prepare_socket()
    File "/opt/loxberry/.local/lib/python3.5/site-packages/mihome/connector.py", line 29, in _prepare_socket
    sock.bind(("0.0.0.0", self.MULTICAST_PORT))
    OSError: [Errno 98] Address already in use

    Komme leider nicht ganz dahinter was mir der PI damit versucht zu sagen
    Mich würe da mal Interessieren wie das Plugin die Verbindung zu. Xiaomi Gateway aufbaut, man gibt ja nirgends die IP Adresse des Gateway an oder die Zeichenfolge die man über Umwege unter About im Xiaomi Gateway bekommt (Ich glaube für den Homekit zugriff?!).

    Wenn hier jemand weiter weiss bezüglich der Fehlermeldung oben würde ich mich über Rückmeldung freuen .
    Ich stehe jetzt vor demselben Problem als ich versucht habe, das mihome-Skript vom meinem MacMini auf den Raspi umzuziehen (als blutiger Linux-Noob ).
    Ich vermute mal, du hast noch ein weitere Plugin auf dem Raspi, was Daten vom Xiaomi-Gateway weiterreicht, oder?
    Bei mir ist es die Homebridge, die die Daten vom Xiaomi-Gateway für Siri zugänglich macht.

    Es hat nicht zufällig jemand eine Idee, wie man beide Skripts (Xiaomi --> Homebridge und Xiaomi --> Loxone) parallel ans Laufen bekommt....?

    Grüße, Martin

    Kommentar


    • Federbein0815
      Federbein0815 kommentierte
      Kommentar bearbeiten
      Hallo, ich habe genau dieselbe Fehlermeldung. Habt ihr schon eine Lösung? Könnt ihr auch senden? LG Federbein
  • Sebastian
    LoxBus Spammer
    • 28.08.2015
    • 243

    #47
    Moinsen,

    ich hab das Skript mit der Endung "loxwiki" auf einer Synology am laufen.
    Über Putty bzw. SSH hab ich es gestartet und möchte es später über den Aufgabenplaner machen.

    Leider kommen keine UDP-Befehle in der Loxone an.

    topoff , du hattest mal von "neuen" Modellnamen gesprochen.
    Gibts da eine Übersicht? Evtl. ist es das gleiche Problem wie bei mir.

    HELP!

    Ergebnis in der Konsole:
    Code:
    Sebastian@Jimmy:/$ /usr/bin/python /volume1/web/python/run-mihome_loxwiki.py
    {u'short_id': u'0', u'cmd': u'heartbeat', u'token': u'nqvOLpL3BDksQSPP', u'sid': u'7c49eb1cd903', u'model': u'gateway', u'data': u'{"ip":"192.168.178.45"}'}
    {u'7c49eb1cd903': u'7c49eb1cd903', u'cmd': u'get_id_list'}
    {u'short_id': u'0', u'cmd': u'heartbeat', u'token': u'ebQbVnPiMfKIO3FT', u'sid': u'7c49eb1cd903', u'model': u'gateway', u'data': u'{"ip":"192.168.178.45"}'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"temperature":"2160"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"humidity":"5224"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'model': u'sensor_ht', u'cmd': u'heartbeat', u'data': u'{"voltage":2965,"temperature":"2160","humidity":"5224"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'158d0001c1549a': u'158d0001c1549a', u'cmd': u'get_id_list'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"temperature":"2181"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"humidity":"6982"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'short_id': u'0', u'cmd': u'heartbeat', u'token': u'nVXKBptbVt8xnklW', u'sid': u'7c49eb1cd903', u'model': u'gateway', u'data': u'{"ip":"192.168.178.45"}'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"temperature":"2185"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"humidity":"6076"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'short_id': u'0', u'cmd': u'heartbeat', u'token': u'tDs1Ta6OlUUYrsbj', u'sid': u'7c49eb1cd903', u'model': u'gateway', u'data': u'{"ip":"192.168.178.45"}'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"temperature":"2186"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'model': u'sensor_ht', u'cmd': u'report', u'data': u'{"humidity":"5385"}', u'short_id': 25859, u'sid': u'158d0001c1549a'}
    {u'short_id': u'0', u'cmd': u'heartbeat', u'token': u'fTbMNYRSHJLCtWyl', u'sid': u'7c49eb1cd903', u'model': u'gateway', u'data': u'{"ip":"192.168.178.45"}'}
    {u'model': u'gateway', u'cmd': u'report', u'data': u'{"rgb":0,"illumination":934}', u'short_id': 0, u'sid': u'7c49eb1cd903'}
    Traceback (most recent call last):
      File "/volume1/web/python/run-mihome_loxwiki.py", line 114, in <module>
        connector.check_incoming()
      File "/usr/lib/python2.7/site-packages/mihome/connector.py", line 47, in check_incoming
        self.handle_incoming_data(payload)
      File "/usr/lib/python2.7/site-packages/mihome/connector.py", line 64, in handle_incoming_data
        json.loads(payload["data"]))
      File "/volume1/web/python/run-mihome_loxwiki.py", line 109, in cb
        sock.sendto(bytes(packet, 'utf-8'), (UDP_IP, UDP_PORT))
    TypeError: str() takes at most 1 argument (2 given)
    Sebastian@Jimmy:/$
    Gruß
    Sebastian

    Kommentar

    • Clubsport
      MS Profi
      • 11.01.2018
      • 602

      #48
      So, siebenhundertdrölftester Anlauf....
      Habe das Skript auf meinen loxberry unter "root" gepackt, wenn ich jetzt versuche es mit

      python Loxberry-Plugin-Mihome/data/scripts/run-mihome.py

      zu starten, dann bekomme ich folgenden Fehler:

      "ImportError: No module named mihome.connector"

      Auf meinem Mac damals konnte ich das durch "pip3 install mihome" beheben, nur leider bekomme ich bei über SSH auf dem Raspi dann ausgespuckt:

      Traceback (most recent call last):
      File "/usr/local/bin/pip3", line 6, in <module>
      from pip._internal.cli.main import main
      ModuleNotFoundError: No module named 'pip._internal.cli.main'

      Was möchte der Dichter mir damit sagen......???

      Grüße, Martin

      Kommentar

      • Clubsport
        MS Profi
        • 11.01.2018
        • 602

        #49
        So ich bin einen Schritt weiter...
        Nach stundenlangem Google hat folgender Befehl mein Problem gelöst:


        curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

        und danach:


        python3 get-pip.py --force-reinstall

        Was auch immer das bewirkt hat...

        Nächste Frage an die Auskenner: Es scheint, dass meine Homebridge (die auf dem selben Raps läuft und ebenfalls die Xiaomi-Sensorwerte verarbeitet) den Port 9898 vom Gateway "blockiert"... Ich dachte bisher immer, eine Broadcast-Message kann jeder "hören", und demzufolge auch mehrere Skripte auf dem Raps das verarbeiten???
        Gibt es einen Workaround, außer zwei Raspi's einzusetzen?

        Grüße, Martin

        Kommentar

        • t_heinrich
          Lox Guru
          • 07.01.2016
          • 2073

          #50
          Schau mal hier, vielleicht hilft dir das weiter:
          Hallo ihr Lieben, ich habe mich mal an das Thema Integration von Zigbee Komponenten in Loxone herangetastet, um Produkte von Xiaomi (bspw. Aqara) oder Ikea in Loxone zu integrieren. Leider komme ich an einer bestimmten Stelle nicht weiter und denke, dass es nur eine kleine Sache ist, welche ich vergessen habe in der Loxone

          Kommentar

          • Clubsport
            MS Profi
            • 11.01.2018
            • 602

            #51
            Hmmm, jain... Klar wäre das auch ein Lösungsweg, aber ich habe keine Lust nochmal für Stunden meine komplette Loxone-Config umzubauen. Auch das China-Gateway ist für mich jetzt nicht soooo das Problem - die wissen doch eh schon alles von mir...
            Aber der Mac Mini der dafür 24/7 laufen muss, der stört mich! Und das würde ich gerne irgendwie ändern.... Dennoch danke für den Hinweis!

            Grüße, Martin

            Kommentar

            • Sebastian
              LoxBus Spammer
              • 28.08.2015
              • 243

              #52
              Zitat von topoff
              Moinsen - dachte das Phyton Skript schickt keine UDPs raus und hatte ellenlange Problembeschreibung gepostet....... -> hat sich dann aber herausgestellt dass die Komonentennamen im Skript auf die neuen Komponenten angepasst werden müssen also von von "motion" auf "sensor_motion.aq2" und schon läuft das Skript einwandfrei!

              Von BW Melder und Fensterkontakt bin ich positiv überrascht - funktioniert einwandfrei - bin lediglich bzgl. Batterielaufzeit etwas skeptisch - hat hier wer schon Erfahrungswerte?

              Gruß
              Tom
              Tach,

              ich wollte euch nicht vorenthalten, dass ich eine Lösung gefunden habe für den Bewegungsmelder und das Statusproblem.
              Über das Pythonskript wird mit folgendem Code noch ein Status "0" hinterhergesendet:

              Code:
               if model == 'motion' and v == 'motion':
              packet = '%s %s %s %s' % (model, sid, k, '0')
              time.sleep(2)
              sock.sendto(bytes(packet, 'utf-8'), (UDP_IP, UDP_PORT))
              einzufügen hinter:
              Code:
               # Send packet to Loxone
              if packet:
              sock.sendto(bytes(packet, 'utf-8'), (UDP_IP, UDP_PORT))
              für den time.sleep muss ganz oben in der run-mihome.py noch eingefügt werden:
              Code:
              import time
              und für den Switch:
              Code:
              if model == 'switch' and v == 'click':
              packet = '%s %s %s %s' % (model, sid, v, '0')
              time.sleep(0.45)
              sock.sendto(bytes(packet, 'utf-8'), (UDP_IP, UDP_PORT))

              Quick and dirty :-)
              So kann der BM z.B. für die Lichtsteuerung verwendet werden.

              Haut rein!
              Zuletzt geändert von Sebastian; 06.01.2021, 16:02.

              Kommentar

              • Gast

                #53
                Moin

                hat hier jemand Erfahrung ob das auch mit dem "neuen" Xiaomi Gateway 3 geht? Der über USB angeschlossen wird, oder funzt das nur mit dem der ganz normalen der in die steckdose kommt...(der ist ja nicht mehr ganz so einfach zu bekommen)

                gruss

                Kommentar

                • Gast

                  #54
                  Hey guys,

                  gerade versucht das Script (XiaomiReader1.0.4) für den D1 mini zu kompilieren, leider läuft das ding nicht durch. Schon auf verschiedenen PC's versucht, immer der gleiche Fehler.
                  Da ich leider nur Anwender und der Programmiersprache nicht mächtig bin, komme ich hier nicht weiter. Falls hier jemand weiter weis, bin ich für jede Hilfe dankbar,...Klicke auf die Grafik für eine vergrößerte Ansicht

Name: ArduinoFehler.JPG
Ansichten: 262
Größe: 187,1 KB
ID: 292199

                  Kommentar

                  Lädt...