Midea Comfee Klimaanlage über Fhem ?!

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

Vorheriges Thema - Nächstes Thema

JudgeDredd

Zitat von: Thorsten.N am 31 Juli 2022, 22:02:26
Das wäre cool, aber nicht so eilig. Also keinen Stress!  :)
So riesig ist der Code vom Modul ja (noch) nicht.
Habe die Aktualisierung im Post #12 eingestellt.

Bitte mal checken, ob das so passt.

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

JudgeDredd

#106
Zitat von: cotecmania am 01 August 2022, 11:47:40
mit angepasstem Python Pfad siehts besser aus aber nun folgender Fehler :
2022.08.01 11:39:09 2: Klima_SZ Select: get Klima_SZ Status
2022.08.01 11:39:09 3: Klima_SZ Parameter BlockingCall: Klima_SZ|/opt/midea-msmart/setAC.py|state -H net_ac_EFB5 -I 144036023278226 -K B2FB331F479A4C9FA453B129261F17B8F8C93FB21A5344D9BCE9618298AE1B4C -T 9D85A91439641E375F691F56BC4228FA62B861B749AD55015D63674B334FBBE846FFFEE98898E746FF0B2ACA2D2EB93FEC3DAFFB503481142D80D8D5683FED07
2022.08.01 11:39:09 5: Klima_SZ BlockingCall newPID (11962))
2022.08.01 11:39:09 4: Klima_SZ Aufruf setAC: /opt/midea-msmart/setAC.py state -H net_ac_EFB5 -I 144036023278226 -K B2FB331F479A4C9FA453B129261F17B8F8C93FB21A5344D9BCE9618298AE1B4C -T 9D85A91439641E375F691F56BC4228FA62B861B749AD55015D63674B334FBBE846FFFEE98898E746FF0B2ACA2D2EB93FEC3DAFFB503481142D80D8D5683FED07
  File "/opt/midea-msmart/setAC.py", line 21
SyntaxError: Non-ASCII character '\xc3' in file /opt/midea-msmart/setAC.py on line 21, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
2022.08.01 11:39:09 4: Klima_SZ Result setAC:
2022.08.01 11:39:09 5: Klima_SZ Delete BlockingCall PID(11962)

Du hast als Hostname des midea-Sticks
net_ac_EFB5
angegeben.
Möglicherweise gibt es ein Problem mit dem "underscore".
Was ist das für ein Hostname, DNS oder NetBIOS ?
Versuche es erstmal mit der IP.

EDIT:
Ich habe das gerade mal getestet, kann es sein, das Du kein Python3 verwendest, sondern irgendeine Version 2.x.x ?
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

cotecmania

Es sind wohl 2 Versionen drauf (Buster)
Python ist Version 2.7.16 und liegt in /usr/bin/python
Python3 --> 3.7.3 und liegt in /usr/bin/python3

Also Pfad wieder auf Python3 gesetzt und somit wieder diesen Fehler :
Zitat2022.08.01 13:29:06 2: Klima_SZ Select: get Klima_SZ Status
2022.08.01 13:29:06 3: Klima_SZ Parameter BlockingCall: Klima_SZ|/opt/midea-msmart/setAC.py|state -H 192.168.1.203 -I 144036023278226 -K B2FB331F479A4C9FA453B129261F17B8F8C93FB21A5344D9BCE9618298AE1B4C -T 9D85A91439641E375F691F56BC4228FA62B861B749AD55015D63674B334FBBE846FFFEE98898E746FF0B2ACA2D2EB93FEC3DAFFB503481142D80D8D5683FED07
2022.08.01 13:29:06 5: Klima_SZ BlockingCall newPID (16489))
2022.08.01 13:29:06 4: Klima_SZ Aufruf setAC: /opt/midea-msmart/setAC.py state -H 192.168.1.203 -I 144036023278226 -K B2FB331F479A4C9FA453B129261F17B8F8C93FB21A5344D9BCE9618298AE1B4C -T 9D85A91439641E375F691F56BC4228FA62B861B749AD55015D63674B334FBBE846FFFEE98898E746FF0B2ACA2D2EB93FEC3DAFFB503481142D80D8D5683FED07
Traceback (most recent call last):
  File "/opt/midea-msmart/setAC.py", line 7, in <module>
    from msmart.device import air_conditioning as ac
  File "/opt/midea-msmart/msmart/device/__init__.py", line 4, in <module>
    from .AC.appliance import air_conditioning
  File "/opt/midea-msmart/msmart/device/AC/appliance.py", line 7, in <module>
    from msmart.device.base import device
  File "/opt/midea-msmart/msmart/device/base.py", line 3, in <module>
    from msmart.lan import lan
  File "/opt/midea-msmart/msmart/lan.py", line 6, in <module>
    from msmart.security import security
  File "/opt/midea-msmart/msmart/security.py", line 5, in <module>
    from Crypto.Util.Padding import pad, unpad
ModuleNotFoundError: No module named 'Crypto.Util.Padding'
2022.08.01 13:29:06 4: Klima_SZ Result setAC:
2022.08.01 13:29:06 5: Klima_SZ Delete BlockingCall PID(16489)
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

JudgeDredd

@cotecmania:

zeig doch mal bitte Deine installierten Python Module
pip3 list
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

cotecmania

ZitatPackage            Version
------------------ ---------
asn1crypto         0.24.0
certifi            2018.8.24
chardet            3.0.4
click              8.1.3
cryptography       2.6.1
entrypoints        0.3
idna               2.6
ifaddr             0.2.0
importlib-metadata 4.12.0
keyring            17.1.1
keyrings.alt       3.1.1
msmart             0.2.3
pip                18.1
pycrypto           2.6.1
pycryptodome       3.15.0
PyGObject          3.30.4
python-apt         1.8.4.3
pyxdg              0.25
requests           2.21.0
SecretStorage      2.3.1
setuptools         40.8.0
six                1.12.0
ssh-import-id      5.7
typing-extensions  4.3.0
urllib3            1.24.1
wheel              0.32.3
zipp               3.8.1
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

JudgeDredd

Leider bin ich in Python nicht wirklich gut bewandert.

Von der Fehlermeldung her und im Vergleich zu meinen Python Modulen, fällt mir auf, das Du das Modul crypto nicht hast.

Versuche daher mal ein:
pip3 install crypto

Wenn das nicht hilft, müsste mal ein Python-Kenner draufschauen, oder notfalls bei mac-zhou vom GitHub mal nachrfragen.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

cotecmania

crypto habe ich installiert :
ZitatPackage            Version
------------------ ---------
asn1crypto         0.24.0
certifi            2018.8.24
chardet            3.0.4
click              8.1.3
crypto             1.4.1
cryptography       2.6.1
entrypoints        0.3
idna               2.6
ifaddr             0.2.0
importlib-metadata 4.12.0
keyring            17.1.1
keyrings.alt       3.1.1
msmart             0.2.3
Naked              0.1.31
pip                18.1
pycrypto           2.6.1
pycryptodome       3.15.0
PyGObject          3.30.4
python-apt         1.8.4.3
pyxdg              0.25
PyYAML             6.0
requests           2.21.0
SecretStorage      2.3.1
setuptools         40.8.0
shellescape        3.8.1
six                1.12.0
ssh-import-id      5.7
typing-extensions  4.3.0
urllib3            1.24.1
wheel              0.32.3
zipp               3.8.1

Leider immer noch der selbe Fehler ...
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

pink99panther

Zitat von: JudgeDredd am 01 August 2022, 12:37:33
So riesig ist der Code vom Modul ja (noch) nicht.
Habe die Aktualisierung im Post #12 eingestellt.

Bitte mal checken, ob das so passt.

Gruß,
JudgeDredd

Bei mir funktioniert das stateFormat jetzt wie es soll. 8)
Danke

Thorsten.N

#113
Zitat von: JudgeDredd am 01 August 2022, 12:37:33
So riesig ist der Code vom Modul ja (noch) nicht.
Habe die Aktualisierung im Post #12 eingestellt.

Bitte mal checken, ob das so passt.

Gruß,
JudgeDredd

Super, jetzt funktioniert das stateFormat. Vielen Dank!! :) Da im stateFormat meinte ich sowas wie Dropdown-Menüs. Bei state einfach nur 'On' oder 'Off' ist unwürdig für das Modul ;)

Punisher

Zitat von: Thorsten.N am 03 Juli 2022, 11:10:54
Hallo zusammen,
ich bin zufällig auf das Modul gestoßen und wollte es auch haben scheitere aber irgendwie beim Auslesen des Key's, etc.
Bei dem Aufruf von midea-discover erscheint bei mir immer Traceback (most recent call last):
  File "/usr/local/bin/midea-discover", line 7, in <module>
    from msmart.cli import discover
  File "/home/pi/.local/lib/python3.5/site-packages/msmart/cli.py", line 8, in <module>
    from msmart.scanner import MideaDiscovery
  File "/home/pi/.local/lib/python3.5/site-packages/msmart/scanner.py", line 272
    localNet = IPv4Network(f"{ip.ip}/{ip.network_prefix}", strict=False)
                                                        ^
SyntaxError: invalid syntax


Was mache ich falsch?

Gruß Thorsten

Genau das Problem habe ich auch und bekomme es nicht gelöst.

Punisher

Zitat von: Punisher am 02 August 2022, 11:07:50
Genau das Problem habe ich auch und bekomme es nicht gelöst.

Habe es über einen anderen Raspi zum laufen gebracht. Denke aber mal meine Klima wird nicht unterstützt:

INFO:msmart.cli:msmart version: 0.2.5 Currently only supports ac devices, only support MSmartHome and 美的美居 APP.
ERROR:msmart.cli:*** Device not found, please read: https://github.com/mac-zhou/midea-ac-py#how-to-get-configuration-variables

Kesser Split Klima

JudgeDredd

Zitat von: Punisher am 02 August 2022, 11:31:03
INFO:msmart.cli:msmart version: 0.2.5 Currently only supports ac devices, only support MSmartHome and 美的美居 APP.
ERROR:msmart.cli:*** Device not found, please read: https://github.com/mac-zhou/midea-ac-py#how-to-get-configuration-variables

Kesser Split Klima
Das Python Programm arbeitet mit dem midea-Sitck zusammen, welche Klimaanlage dranhängt ist erstmal zweitrangig.
Hast Du einen midea-Smart-USB-Stick und diesen bereits über die APP in Dein Netzwerk integriert ?

Wenn Du im Anschluss mein Modul einsetzen möchtest, dann bitte erstmal nur mit der Version 0.2.3 !
pip3 install --upgrade msmart==0.2.3
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

JudgeDredd

Zitat von: cotecmania am 01 August 2022, 14:23:51
crypto habe ich installiert :
Leider immer noch der selbe Fehler ...
Ich habe mal ein wenig recherchiert.
So wie ich es Verstanden habe, schaut python sehr auf Dateinamen und versucht diese als Paket zu öffnen, auch wenn es gar keines ist.

Bei mir liegen alle Scripts die ich verwende (FHEM oder nicht spielt keine Rolle) unter /opt/scripts
Kannst Du mal so ein leeres Verzeichnis bei dir anlegen (sofern es nicht existiert).
mkdir /opt/scripts
Dann dort mein Script (setAC.py) aus Post #12 reinkopieren, Rechte setzen
chmod 777 /opt/scripts/setAC.py
in FHEM das Attribut setzen
attr <device> processScript /opt/scripts/setAC.py
und erneut testen.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

Punisher

#118
Zitat von: JudgeDredd am 02 August 2022, 11:46:43
Das Python Programm arbeitet mit dem midea-Sitck zusammen, welche Klimaanlage dranhängt ist erstmal zweitrangig.
Hast Du einen midea-Smart-USB-Stick und diesen bereits über die APP in Dein Netzwerk integriert ?

Wenn Du im Anschluss mein Modul einsetzen möchtest, dann bitte erstmal nur mit der Version 0.2.3 !
pip3 install --upgrade msmart==0.2.3

Einen eigenen USB Stick hat das Gerät nicht. Es gibt ein integriertes WLAN Modul, scheint auf Basis eines ESP zu laufen.
Ich schaue mich mal um ob ich noch weitere Informationen finde.
Scheint Baugleich zu den Modellen von TCL zu sein.

JudgeDredd

OK, dann müsste man schauen, wie der ESP mit der AC kommuniziert (vermutlich seriell)
Ob das allerdings mit der Python Steuerung vom mac-zhou funktioeniert, wirst Du versuchen müssen.
Erfolgt denn die vorgesehene Steuerung bei Dir mit der "Midea-Air APP" ?

Die Python-Steuerung sowie mein Script sind allerdings auf den midea-smart-stick konzipiert.

Wenn Du die AC im Netzwerk hast, kannst Du mal ein
midea-discover -i <ip-adresse>
versuchen und schauen ob sie so erkennt wird.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)