Midea Comfee Klimaanlage über Fhem ?!

Begonnen von Aladin222, 11 November 2016, 11:36:07

Vorheriges Thema - Nächstes Thema

JudgeDredd

Zitat von: joklemm am 24 März 2024, 19:08:20Ich habe ein neues Gerät - ich hoffe mal dass das nicht eine neue Version ist, die jetzt nicht mehr unterstützt wird?
Das "neue Gerät" müsstest Du etwas spezifizieren.
- Eine neue nicht unterstützte Klimaanlage oder einen neuen Midea-Smart-Stick ?
- Welche Python Version ?
- Welches OS ?
Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

B10S

Zitat von: joklemm am 24 März 2024, 19:08:20[...]Wenn ich midea-discover ausführe, kommt immer

pi@raspberrypi:/opt $ midea-discover -i 192.168.0.39
INFO:msmart.cli:msmart version: 0.2.5 Currently only supports ac devices, only support MSmartHome and 美的美居 APP.
INFO:msmart.cloud:Using Midea cloud server: https://mp-prod.appsmb.com/mas/v5/app/proxy?alias= False
Traceback (most recent call last):
  File "/home/pi/.local/bin/midea-discover", line 8, in <module>
    sys.exit(discover())
  File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cli.py", line 51, in discover
    found_devices = loop.run_until_complete(discovery.get_all() if ip == '' else discovery.get(ip))
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 205, in get
    await self._process_tasks([task])
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 199, in _process_tasks
    [self.result.add(task.result()) for task in tasks]
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 199, in <listcomp>
    [self.result.add(task.result()) for task in tasks]
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 50, in support_test
    _device = await self.support_testv3(account, password)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 65, in support_testv3
    token, key = await loop.run_in_executor(None, gettoken, udpid, account, password)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 255, in gettoken
    Client.login()
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cloud.py", line 143, in login
    self.get_login_id()
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cloud.py", line 134, in get_login_id
    {'loginAccount': self.login_account}
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cloud.py", line 121, in api_request
    return self.api_request(endpoint, args)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cloud.py", line 121, in api_request
    return self.api_request(endpoint, args)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cloud.py", line 123, in api_request
    raise RecursionError()
RecursionError

Selben Fehler bekomme ich auch, allerdings andere Voraussetzungen. Mein RaspberryPi ist letztens gestorben und ich habe einen neuen aufgesetzt mit Debian Bookworm, Python 3.11 und dem FHEM Backup vom alten. Mit der msmart Bibliothek von https://github.com/mac-zhou/midea-msmart funktioniert die Steuerung, aber das Discover nicht mehr. Mit dem Fork von https://github.com/mill1000/midea-msmart funktioniert das Discover, aber die Steuerung nicht mehr. Vermutlich müsste das FHEM Modul angepasst werden, falls man den aktuelleren Fork benutzen wollen würde. Vielleicht hilft es dir bis dahin dir die Daten aus dem Discover von dem mill1000 Fork zu holen und dann alles mit der Version von mac-zhou einzurichten.

B10S

Hier die angepasste setAC.py für den msmart Fork https://github.com/mill1000/midea-msmart/
Ich hoffe, ich habe alles erwischt, was geändert werden muss, bei mir haben soweit alle Funktionen funktioniert.

JudgeDredd

Hallo B10S,
Zitat von: B10S am 09 April 2024, 13:38:39Mit der msmart Bibliothek von https://github.com/mac-zhou/midea-msmart funktioniert die Steuerung, aber das Discover nicht mehr. Mit dem Fork von https://github.com/mill1000/midea-msmart funktioniert das Discover, aber die Steuerung nicht mehr.
Ich habe mir das mal angeschaut.
Bei mir funktioniert das Discover mit beiden Version (msmart / msmart-ng).
Ab Bookworm sollte das msmart(-ng) Modul ja in einer virtuellen Python Umgebung installiert werden, hast Du das befolgt ?
Das die Steuerung mit einem anderen Fork nicht ohne Änderungen klappt, ist ja zu erwarten (habe auch Deine neue setAC.py leider noch nicht getestet)

Im Detail habe ich mir das nicht angesehen, aber welche Vor-/Nachteile hat denn die msmart-ng ggü. der msmart Bibliothek ?
Sind dort weitere Funktionen eingebaut oder werden mehr Geräte unterstützt ?

Persönlich würde ich ja eher zu der Perl-Variante tendieren, dann könnte man es zu 100% in FHEM integrieren. Allerdings müsste dann das Modul neu geschrieben werden und da fehlt es mir etwas an Kapazitäten.

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)