Midea Comfee Klimaanlage über Fhem ?!

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

Vorheriges Thema - Nächstes Thema

sash.sc

#15
Hallo zusammen.

Besteht die Möglichkeit einen comfee/midea luftentfeuchter 16L-32m²-DF3(WF) damit über fhem  zu steuern?

Das teil lässt sich über die nethome app steuern.

Gruß Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

JudgeDredd

Zitat von: sash.sc am 15 Mai 2022, 10:32:45
Besteht die Möglichkeit einen comfee/midea luftentfeuchter 16L-32m²-DF3(WF) damit über fhem  zu streiten?

Zitat von: mac-zhou aus GitHubNote: This component only supports devices with model 0xac (air conditioner) ...
Kann ich Dir nicht sagen, aber wenn der Luftentfeuchter nicht vom Modell "0xac" ist, interpretiere ich das mal als Nein.
Du könntest Dich natürlich mal an den GitHub Maintainer wenden. Vielleicht baut er es ein.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

sash.sc

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

JudgeDredd

Zitat von: sash.sc am 15 Mai 2022, 16:16:51
Wie bekomme ich das raus?
Ich befürchte, da wirst du, wie ich schon vorgeschlagen habe, den Entwickler des GitHub Repros anschreiben müssen.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

sash.sc

kurze info.
Habe das alles aus dem github mal installiert und midea-discover durchlaufen lassen.

Es wurde auch ein Device gefunden.
Folgendes kam dabei raus. Habe die Daten auch mal in ein issue auf github eingestellt.
Mal schauen was kommt.


/home/pi/.local/bin/midea-discover INFO:msmart.cli:msmart version: 0.2.3 Currently only supports ac devices, only support MSmartHome APP. INFO:msmart.lan:Got TCP key for 192.168.2.104:60298 -> 192.168.2.114:6444 retries: 0 time: 0.58 tcp_key: xxxxxx INFO:msmart.cli:*** Found a device: {'name': 'net_xxxxx', 'ssid': 'net_xxxx', 'ip': '192.168.2.114', 'port': 6444, 'id': xxxxxxxx, 'version': 3, 'token': 'xx', 'key': 'xxxxx', 'type': 'a1', 'sn': 'xxxxxxx', 'model': '00Q1C', 'support': False, 'run_test': True}


Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

SebastianStorb

#20
Vielen Dank für die schnelle und klasse Antwort. Ich hatte nicht so schnell damit gerechnet.

a) das Verzeichnis liegt bei mir unter
/opt/homeassistant/config/custom_components/midea_ac/
und ich habe die Datei nochmal herunter geladen und dorthin kopiert.
Ist es wichtig, dass der Eigentümer der Datei der Fhem-Benutzer ist (s.u)?

##################################################
b) habe ich den Pfad im notify geändert auf:
/opt/homeassistant/config/custom_components/midea_ac/

Hier tut sich (noch) nichts. Ich wede mir noch mal in Ruhe Deine Anleitung durchlesen.

-Sorry- hier oben war ja die erste Anleitung / geht aber nicht - nur zur Info.
################

Jetzt habe ich den Befehl
define <name> mideaAC <IP oder Hostname> <midea ID>
mit meinen Daten verwendet und es kommt:

Attr "processScript" missing.

Ich habe

processScript /opt/homeassistant/config/custom_components/midea_ac/

gesetzt

Nach dem Ändern der Datei-Rechte auf den Fhem-Besitzer kein Unterschied:

Muss der Pfad so angegeben werden (oder ohne den Datei Namen wie oben)?
processScript /opt/homeassistant/config/custom_components/midea_ac/setAC.py

Der Status steht / stand auf "READY" aber es lässt sich nichts steuern. Nachdem ich versucht habe das Gerät zu starten steht der Status jetzt auf 0. Im zweiten Fall (mit setAC.py Angabe) scheint ein Rechteproblem zu sein, weil hierzu eine Fehlermeldung kommt und ich nicht in FHEM abspeichern kann. Besitzer ist FHEM und die Gruppe habe ich auf dialout gestellt. Es funktioniert aber nicht, wahrscheinlich weil der Oberordner homeassistant gehört.

Ich werde später versuchen midea gemäß Deiner Anleitung "paralell" in den passenden Ordner zu installieren.

JudgeDredd

#21
Zitat von: SebastianStorb am 16 Mai 2022, 22:36:25
Der Status steht / stand auf "READY" aber es lässt sich nichts steuern. Nachdem ich versucht habe das Gerät zu starten steht der Status jetzt auf 0. Im zweiten Fall (mit setAC.py Angabe) scheint ein Rechteproblem zu sein, weil hierzu eine Fehlermeldung kommt und ich nicht in FHEM abspeichern kann. Besitzer ist FHEM und die Gruppe habe ich auf dialout gestellt. Es funktioniert aber nicht, wahrscheinlich weil der Oberordner homeassistant gehört.
Also es ist so:
in das Attribut "processScript" muß das Python-Script (setAC.py) inklusive Pfad eingetragen werden.
attr <device> processScript /opt/homeassistant/config/custom_components/midea_ac/setAC.py
Desweiteren ist es erforderlich, das der Benutzer mit dem der FHEM-Prozess läuft Lese- und Ausführrechte hat.
Ob er diese Rechte als Besitzer oder als Gruppe bekommt ist dabei unerheblich.
Ich weiß leider nicht wie hier die Standard-Installation aussieht, da ich bei mir eine Andere User-Logik verwende.

Angenommen FHEM läuft bei Dir als Benutzer "fhem", welcher der Gruppe "dialout" angehört, dann wären die Rechte so zu setzen:
sudo chown -c :dialout /opt/homeassistant/config/custom_components/midea_ac/setAC.py
sudo chmod g+rx /opt/homeassistant/config/custom_components/midea_ac/setAC.py

Alle Verzeichnisse auf dem Weg (/opt/homeassistant/config/custom_components/midea_ac) dorthin, sollten dann ausführbar sein.
Meistens wird das über "other" gewährt.

Mein Modul (53_mideaAC.py) prüft ob die Rechte ausreichend sind und nur dann wird das Attribut "processScript" akzeptiert und gesetzt.
Danach Ändert sich der Status von "initialized" auf "ready".

Wenn das Modul also im Status "ready" steht, sollte es funktionieren.
Die wichtigste Frage hast Du aber noch nicht beantwortet.
Welche Version des mideaSmart-Kits hast Du denn überhaupt ?
Version V2 oder die neue V3 ?

Wenn das "midea-discover" Dir einen "KEY und ein "TOKEN" anzeigt, dann hast Du V3.
Wenn das "midea-discover" Dir keinen "KEY und keinen "TOKEN" anzeigt, dann hast Du V2.

Aktuell wird vom Modul nur die V2 unterstützt. Da ich aber mittlerweile einen Bekannten gefunden habe, der den V3-Stick hat und ich damit testen kann, bin ich schon dabei das Modul zu erweitern.
Ich hoffe das ich es heute oder morgen noch schaffe, das neue V3 einzubauen.
EDIT:
Die Änderungen für das Protokoll V3 sind eingebaut und Post #12 angehängt
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

SebastianStorb

#22
Vielen herzlichen Dank für Deine erstklassige Unterstützung! Ich habe mich riesig gefreut und alles versucht wie Du geschrieben hast!

Zuerst einmal die (wahrscheinlich wichtigste) Frage welche Version ich habe. Nachdem ich nochmal midea-discover ausgeführt habe bekomme ich folgende Daten (bei allen Klimaanlagen)
{'type':
'ac',
'support': True,
'version': 3                                                                             , 'ip': '', 'id': , 'port': , 'token': '',
'key': '',
'ssid':
'net_ac_000E'}

-> dürfte V3 sein

Hierbei habe ich festgestellt, dass midea-discover nur als benutzer YYYY läuft und nicht als root funktioniert.

Ich habe die CHMOD genau so wie Du es vermutet hast (fhem mit dialout) kopiert und ausgeführt. Unter der graphischen Oberfläche meines debian systems habe ich dann noch mal überprüft, dass es übernommen wurde. Leider kommt in Deinem Modul in FHEM immer der Fehler, dass es keine Rechte gibt (oder der Pfad falsch ist, was nicht stimmt).
Die Datei existiert an dem angegebenen Pfad nicht,
oder besitzt nicht die erforderlichen Rechte



Ich habe sogar mal die Datei unter /opt/fhem/backup/setAC.py kopiert mit den entsprechenden Rechten (fhem dialout 777) - leider werden auch hier die Rechte muniert.[/s]

Ich kann nicht einschätzen, ob es daran liegt, dass midea-discover auch nur als YYYY läuft, wobei homeassistant das letztlich egal zu sein scheint.

Vielleicht ist es einfacher nochmal entsprechend Deiner Anleitung das git nach
cd /opt
git clone https://github.com/mac-zhou/midea-msmart.git


Ich habe es nur den Download ausgeführt, Deine Datei hochgeladen und die Benutzerrechte geändert. Jetzt wurde es in FHEM übernommen.

Es funktioniert aber noch nichts (wahrscheinlich weil ich dort noch mal alles von midea-msmart unter debian installieren muss. Wede ich morgen mal testen, denn reagiert hat bisher noch nichts.

Ich habe jetzt mit dem ftp Programm die Rechte der setAC.py auf 775 gesetzt. Jetzt wurde es in FHEM sofort übernommen. Es kommen auch readings

Internals:
   DEF        192.168.XX.XX 1XXXXXXXXXXXXX5
   FUUID      6282b708-f33f-ec85-ab8e-b6c5ff78f0e8407f
   FVERSION   53_mideaAC.pm:?/2022-05-17
   INTERVAL   0
   NAME       KlimaSebastian
   NR         837
   STATE      On
   TYPE       mideaAC
   READINGS:
     2022-05-17 22:57:59   beep            true
     2022-05-17 22:57:59   fan             Auto
     2022-05-17 22:57:59   id              XXXXXXXXXXX
     2022-05-17 22:57:59   intense         normal
     2022-05-17 22:57:59   mode            cool
     2022-05-17 22:57:59   name            192.168.XX.XX
     2022-05-17 22:57:59   power           On
     2022-05-17 22:57:59   swing           Off
     2022-05-17 22:57:59   temperature     17
     2022-05-17 22:57:59   x_indoor_temperature 0.0
     2022-05-17 22:57:59   x_outdoor_temperature 0.0
   helper:
     AUTH       
     HOST        -H 192.168.XX.XX
     ID          -I
Attributes:
   processScript /opt/homeassistant/config/custom_components/midea_ac/setAC.py
   room       Klimaanlage


aber die Anlage reagiert überhaupt nicht auf die Eingaben, die ich in FHEM vornehme.


Ich vermute, dass der key oder token? oder k1? noch übergeben werden muss. Irgendwas in der Richtung war bei mac-zhou damals auch noch tricky und er hatte etwas getüftelt bis es bei mir mit homeassistant funktionierte.

JudgeDredd

Zitat von: SebastianStorb am 17 Mai 2022, 22:16:55
Ich habe jetzt mit dem ftp Programm die Rechte der setAC.py auf 775 gesetzt.
ok, kann man auch so machen. Die Lösung über die Gruppe ist zwar sicherer, allerdings sehe ich bei einer Klimaanlagen Steuerung da nicht wirklich eine Gefahr.
Zitat von: SebastianStorb am 17 Mai 2022, 22:16:55
aber die Anlage reagiert überhaupt nicht auf die Eingaben, die ich in FHEM vornehme.
-> dürfte V3 sein
Da hast Du recht. Die Steuerung des Protokolls V3 hatte ich gestern erst eingebaut und an #12 angehängt

Also bitte die aktuelle Version nehmen (Modul + Script). Das Define sieht dann folgendermaßen aus:
define <name> mideaAC <DEVICE> <ID> <KEY> <TOKEN>

Dann sollte es auch bei V3 funktionieren.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

SebastianStorb

#24
S E N S A T I O N E L L ! ! !

es funktioniert - ich kann es wirklich noch nicht glauben. Ich habe da so lange erfolglos dran herumgefummelt - Stunden, Nächte und Tage habe ich benötigt um ein wenig homeassistant zu verstehen und noch viel länger bis dort die Klimaanlage lief! JETZT FUNKTIONIERT ES ENDLICH RICHTIG - UND ZWAR IN FHEM!!!

Ich glaube Dir ist es bekannt - aber vielen Anderen nicht. Wahrscheinlich lassen sich jetzt ein großteil aller (weltweit vertriebenen) Klimaanlagen in FHEM einbinden, denn MIDEA stellt (fast) alle her. Meine ist z.B. von Dimstal!

DANKE DANKE DANKE DANKE DANKE DANKE DANKE 1000x

Du bist einfach SUPER! :) :) :) :)

JudgeDredd

Zitat von: SebastianStorb am 18 Mai 2022, 22:09:50
es funktioniert - ich kann es wirklich noch nicht glauben.
Freut mich, das es nun bei Dir funktioniert.
Dann sind wir ab jetzt ja schon zwei, die das Modul nutzen

Zitat von: SebastianStorb am 18 Mai 2022, 22:09:50
es funktioniert - ich kann es wirklich noch nicht glauben.
Ich glaube Dir ist es bekannt - aber vielen Anderen nicht. Wahrscheinlich lassen sich jetzt ein großteil aller (weltweit vertriebenen) Klimaanlagen in FHEM einbinden, denn MIDEA stellt (fast) alle her. Meine ist z.B. von Dimstal!
Meine ist auch eine Dimstal.
Mal schauen ob sich noch ein paar melden die auch Interesse haben (vielleicht wenn es demnächst wieder wärmer wird) und ich das Modul dann offiziell ins SVN bringe.
Ich weiß allerdings noch nicht was dazu alles notwendig ist.
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

SebastianStorb

#26
Aha Deine ist auch von Dimstal!

Ich hätte noch eine Idee: Mit der Fernbedienung lässt sich die LED am Inverter ausstellen (was besonders Nachts recht angenehm ist). Könntest Du das auch mit FHEM umsetzen, oder müsste mac-zhou das in sein Modul aufnehmen?

pink99panther

hallo JudgeDredd
ich habe auch eine Dimstal ( INVERTER Split Klimaanlage ECO Smart 3,5kW 12000 BTU ), aber leider ein (noch) nicht unterstütztes Protokoll / Modell.
Besteht da Aussicht auf Implementierung?


$ /home/pi/.local/bin/midea-discover
INFO:msmart.cli:msmart version: 0.2.3 Currently only supports ac devices, only support MSmartHome APP.
INFO:msmart.cli:*** Found a device: {'name': 'net_ac_442F', 'ssid': 'net_ac_442F', 'ip': '192.168.178.56', 'port': 6444, 'id': 17..........97, 'version': 2, 'token': None, 'key': None, 'type': 'ac', 'sn': '000P..........00', 'model': '00Q1F', 'support': True, 'run_test': True}


LG
p99p

JudgeDredd

#28
Zitat von: SebastianStorb am 19 Mai 2022, 21:37:37
Ich hätte noch eine Idee: Mit der Fernbedienung lässt sich die LED am Inverter ausstellen (was besonders Nachts recht angenehm ist). Könntest Du das auch mit FHEM umsetzen, oder müsste mac-zhou das in sein Modul aufnehmen?
Zu dem Thema gab es auf GitHub schon mal eine Anfrage (GitHub/Display-Steuerung)
Allerdings, so wie ich das verstanden habe, funktioniert das nur, wenn auch die Display an/aus Funktion über die APP angeboten wird.
Dies ist bei mir leider nicht der Fall (wie ist es bei Dir ?). Somit kann die Display Steuerung wohl nur über InfraRot-Fernbedienung geschaltet werden.

Zitat von: pink99panther am 19 Mai 2022, 23:05:14
ich habe auch eine Dimstal ( INVERTER Split Klimaanlage ECO Smart 3,5kW 12000 BTU ), aber leider ein (noch) nicht unterstütztes Protokoll / Modell.
So wie ich das sehe, hast Du das alte V2 Protokoll ohne Authentifizierung.
Da sollte eigentlich ein
define <NAME> mideaAC <HOST/IP> <ID>
ausreichen (also das define OHNE <KEY> und <TOKEN>

Hast Du das schon versucht ?
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

pink99panther

Hab es probiert

hier das List vom Device
Internals:
   CFGFN     
   DEF        192.168.178.56 17..........97
   FUUID      62875bce-f33f-cbef-93d4-cb499876805419a5
   INTERVAL   5
   NAME       KlimaKlb
   NR         5919
   STATE      Ready
   TYPE       mideaAC
   READINGS:
     2022-05-20 11:15:18   power           0
   helper:
     AUTH       
     HOST        -H 192.168.178.56
     ID          -I 17..........97
     RUNNING_PID:
       abortArg   
       abortFn   
       arg        KlimaKlb|/opt/midea-msmart/setAC.py|state -H 192.168.178.56 -I 17..........97
       bc_pid     5410
       finishFn   callScript_finish
       fn         callScript_start
       pid        DEAD:15432
       timeout    30
Attributes:
   AutoRefresh 5
   processScript /opt/midea-msmart/setAC.py
   room       Midea
   verbose    5


Ausgabe im Log:
2022.05.20 15:00:44 3: KlimaKlb|/opt/midea-msmart/setAC.py|on -H 192.168.178.56 -I 17..........97 -m Cool -t 17 --beep

Irgendwo hapert es noch bei mir.