FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Aladin222 am 11 November 2016, 11:36:07

Titel: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Aladin222 am 11 November 2016, 11:36:07
Hallo @all,

Mir stellt sich folgende Frage :
Ist es Möglich o.g. Klimaanlage in Fhem mit einzubinden ?
Da ich auch eine Logitech Harmony Hub nutze ,dachte ich ,es wäre super einfach umzusetzen ;-)
Leider lässt sich die Fernbedienung ( Type : R51M/E ) nicht einfach als Gerät in die Harmony übernehmen.
Auch das anlernen einzelner Befehle funktioniert nicht wie gedacht  :(
Da die Orig. Fernebedienung ein Display hat ,denke ich, das eine ganze Befehlsfolge gesendet wird ...

Hat jemand eine Idee wie man die Fernbedienung evtl. mit einem ESP8266 zu einer Wifi-Fernbedienung umstricken kann ?
Oder einen anderen Ansatz der zum Erfolg führen könnte ....

Als Notlösung würde ich einfach die Stromzuführung über Funk schaltbar machen ,da die Klimaanlage sich die letzte Betriebseinstellung merkt....
Schöner wäre es allerdings wenn mehr als der letzte Zustand möglich wäre ....
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: davimas am 01 Juni 2017, 15:54:33
Hey Alladin - wie hast Du dein Problemchen jetzt gelöst?

Lass uns doch mal daran teilhaben  ;)

Werd mir sone Comfee auch holen und will schonmal planen......

By,
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Mave am 02 Juli 2017, 08:14:28
Moin,

ich habe seit gestern eine Comfee in Betrieb und wäre auch an einer Integration in FHEM interessiert....

Grüße Mave
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: gloob am 02 Juli 2017, 08:31:12
Kann es sein, dass die Konfiguration der Klimaanlage in der Fernbedienung gespeichert wird und dann als ein "Paket" übertragen wird? So kenne ich es von unserer Klimaanlage aus dem Büro.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: seppe am 16 Februar 2019, 09:28:04
Hallo,

ich muss diesen alten Thread mal wieder auskramen.
Ich wäre auch interessiert an einer Integration von Midea Klimaanalgen in FHEM.

Es gibt dazu ein Python Script für "Home Assistant" https://github.com/NeoAcheron/midea-ac-py
Gibt es irgend eine Möglichkeit dies auch in FHEM zu integrieren? Scheinbar läuft das Script ohne HomeAsisstant nicht...

Vielen Dank
Sepp
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Snocksman am 22 Juni 2020, 18:37:38
Hallo zusammen,

Das Thema ist zwar schon etwas älter, aber vielleicht hat in der zwischenzeit ja schon jemand eine Lösung hierfür gefunden...? Ich habe seit heute nämlich eine Dimstal Klimaanlage mit einem WLAN Stick in Betrieb und bin auf der Suche nach einer Möglichkeit das Teil an FHEM anzubinden. Der Stick/die Klimaanlage ist wohl Baugleich mit Midea (in der Anleitung zum Stick steht sogar an mehreren Stellen Midea anstatt Dimstal).
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Snocksman am 23 Juni 2020, 21:01:29
OK, scheint wohl niemand etwas hilfreiches berichten zu können...
Nicht schlimm, ich habe mal selbst noch etwas im Internet herumgesucht und bin hierauf gestoßen: https://github.com/mac-zhou/midea-msmart (https://github.com/mac-zhou/midea-msmart)
Ich habe den Ersteller des Scripts mal angeschrieben um ein paar mehr Infos zu bekommen, wie es funktioniert (er hat auf jeden Fall schonmal geantwortet) und um das ganze aus FHEM heraus nutzbar zu machen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Snocksman am 27 Juni 2020, 12:44:37
Schlechte Nachrichten... Ich habe mit dem Entwickler des Python Scripts auf Github einige Tests gemacht und dabei herausgefunden, dass es sich bei dem WLAN Modul in meiner Anlage um eine neuere Version handelt, welche mit dem Script nicht kompatibel ist.  :-\
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: astrastudio am 25 Juli 2020, 23:11:13
Ich vermute der "USB" WLAN Stick (welcher kein echtes USB ist) spricht nur per seriell (RX/TX) mit der Klimaanlage. Vermutlich ist es einfacher das serielle Protokoll zu reversen und anstelle des original Sticks ein ESP8266 zu benutzen und den Kram selber da drauf zu programmieren. Dann wäre man auch diese China-Cloud von Midea los.
Ich muss mich da mal mit nem Scope und serial sniffer draufhängen demnächst.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Kohle77 am 27 Dezember 2020, 09:55:57
Hallo,
hat vielleicht jemand etwas gefunden wie man die Dimstal Klima in FHEM einbinden kann?

Gruß
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: araym am 01 Februar 2022, 18:20:14
Hallo,

Ich wäre auch sehr interessiert an einer Lösung. Ich würde gerne die Klimaanlage anschalten lassen bevor mein Solarstrom einspeist.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 09 April 2022, 13:36:11
Hallo Zusammen,

ich habe mich auch mal mit dem Thema beschäftigt.

Grundsätzlich kann ich meine Klimaanlage die mit einem Midea USB-Connector in mein WLAN Verbunden wird, aus FHEM steuern (An/Aus/Status)

#!/usr/bin/python3

from msmart.device import air_conditioning_device as ac
import logging
import time
import json
import sys
#logging.basicConfig(level=logging.DEBUG)

device = ac(sys.argv[1], int(sys.argv[2]), 6444)

# If the device is using protocol 3 (aka 8370)
# you must authenticate with device's k1 and token.
# adb logcat | grep doKeyAgree
device.authenticate('YOUR_AC_K1', 'YOUR_AC_TOKEN')

## Set the state of the device and
device.power_state = sys.argv[3].lower() == 'on'

## commit
if sys.argv[3].lower() == 'getstate':
  device.refresh()
else:
  device.apply()

data = {}
data['id'] = device.id
data['name'] = device.ip
data['power_state'] = device.power_state
data['prompt_tone'] = device.prompt_tone
data['target_temperature'] = device.target_temperature
data['operational_mode'] = device.operational_mode.cool.name
data['fan_speed'] = device.fan_speed.name
data['swing_mode'] = device.swing_mode.name
data['eco_mode'] = device.eco_mode
data['turbo_mode'] = device.turbo_mode
data['indoor_temperature'] = device.indoor_temperature
data['outdoor_temperature'] = device.outdoor_temperature
json_data = json.dumps(data)
print(json_data)

Internals:
   FUUID      62506dd9-f33f-e996-8448-ed675589d794aaab
   NAME       dumAc
   NR         394
   STATE      off
   TYPE       dummy
   OLDREADINGS:
   READINGS:
     2022-04-09 13:05:19   eco_mode        false
     2022-04-09 13:05:19   fan_speed       Auto
     2022-04-09 13:05:19   indoor_temperature 19.0
     2022-04-09 13:05:19   myState         off
     2022-04-09 13:05:19   name            10.46.3.251
     2022-04-09 13:05:19   operational_mode cool
     2022-04-09 13:05:19   outdoor_temperature 10.0
     2022-04-09 13:05:19   power_state     false
     2022-04-09 13:05:19   prompt_tone     false
     2022-04-09 13:05:18   state           off
     2022-04-09 13:05:19   swing_mode      Off
     2022-04-09 13:05:19   target_temperature 17.0
     2022-04-09 13:05:19   turbo_mode      false
Attributes:
   ac_id      41..........33
   ac_ip      10.46.3.251
   devStateIcon off:control_standby on:control_standby@green
   setList    getState:noArg on:noArg off:noArg
   stateFormat myState
   userReadings myState:power_state.* {
  ReadingsVal( $NAME, "power_state", "" ) eq 'true'?'on':'off'
}
   userattr   ac_ip ac_id
   webCmd     :

Internals:
   DEF        dumAc:(on|off|getState).* {
  my $ac_ip = AttrVal( $NAME, 'ac_ip', '' );
  my $ac_id = AttrVal( $NAME, 'ac_id', '' );
  my $result = qx(/opt/midea-msmart/setAC.py $ac_ip $ac_id $EVTPART0);
  json2reading( $NAME, $result );
}
   FUUID      62506dd0-f33f-e996-573c-d175299a91ce2ca4
   NAME       notAc
   NR         393
   NTFY_ORDER 50-notAc
   REGEXP     dumAc:(on|off|getState).*
   STATE      2022-04-09 13:05:18
   TRIGGERTIME 1649502318.09567
   TYPE       notify
   READINGS:
     2022-04-09 13:04:56   state           active
     2022-04-09 13:05:18   triggeredByDev  dumAc
     2022-04-09 13:05:18   triggeredByEvent off
Attributes:

Natürlich ist das Ganze noch extrem rudimentär und vorallem ist es nicht non-blocking.
Bis die Antwort von der Klimaanlage kommt, können schonmal 2-3 Sekunden vergehen.

Ebenso unterstützt die msmart Software noch weitere Argumente als An/Aus/Status. Die kann man aber einfach noch hinzufügen.

Zitat von: astrastudio am 25 Juli 2020, 23:11:13
Ich vermute der "USB" WLAN Stick (welcher kein echtes USB ist) spricht nur per seriell (RX/TX) mit der Klimaanlage.
Das ist völlig korrekt und es wäre mir auch viel lieber einen selbst geflashten ESP an der A/C zu betreiben.
Auch dazu gibt es ein Tutorial (https://github.com/Links2004/arduinoMideaAC).
Aber entweder bin ich oder das Tutorial so schlecht, das ich es nicht geschafft habe das nachzubauen.
(Naja geschafft habe ich es schon, aber funktioniert hat es nicht  ;))

Gerne würde ich das ganze auch in ein Modul gießen, allerdings fehlt mir auch dazu (noch) das Wissen.
Zumindest um es funktioniell und hübsch zu machen, damit es irgendwann mal den weg ins SVN schaffen würde.

Aber vielleicht gibt es ja hier Leute die das Modul-Wissen schon haben und sowas auf die Beine stellen könnten.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 17 April 2022, 14:08:33
Hallo Zusammen,

dank der freien Ostertage, habe ich mich nun selbst mal mit dem Thema Modulerstellung beschäftigt.
Dabei herausgekommen ist ein Modul (53_mideaAC.pm) zur Steuerung von Klimaanlagen, welche mit dem midea-Smart-Kit ins Netzwerk Verbunden wurden.

Erforderlich ist:

Das Modul kann:

Das Modul kann (noch) nicht:

Das neue Protokoll könnte ich noch einbauen, sofern sich Jemand findet, der das auch testen kann.
Zumindest wird es lt. GitHub von der msmart Software mittlerweile auch unterstützt.
Mein midea-USB-Stick hat nur Protokoll Version SK102

Da der Thread jedoch eine recht "überschaubare" Beteiligung hat, warte ich erstmal ab, ob es hier überhaupt noch Interessenten gibt
und entscheide dann, ob das ganze irgendwie durch mich oder besser jemand Anderen im SVN landen sollte.

Ich bitte noch zu bedenken, das dies mein erstes Modul ist und ich meine Erfahrungen bzgl. Perl und vorallem Python noch als sehr anfänglich betrachte.

So und wer jetzt Lust hat, kann sofort mit Testen anfangen  ;)

EDIT:
vielleicht hätte ich noch das define Kommando dazuschreiben sollen:
define <name> mideaAC <IP oder Hostname> <midea ID>

Wie man an die ID kommt, ist auf dem GitHub msmart Seite beschrieben.

EDIT:
Mit der aktuellen Version ist sollte nun auch das Protokoll V3 (SK103) funktionieren.

EDIT (2022/07/01):
53_mideaAC.pm - Anpassungen an Scriptantworthandling (JSONObjekt) -> Danke an Cinem

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: SebastianStorb am 14 Mai 2022, 13:15:22
Wenn das funktioniert wäre es sensationell!

Zur Steuerung meiner Klimaanlagen hatte ich bisher extra (wochenlang) in den Home Assistant eingearbeitet und von dort zumindest den Status über MQTT in FHEM angezeigt zu bekommen. Eine Steuerung der Geräte ist bei mir bisher nur über Home Assistant möglich. Dort habe ich es mit dem Modul von mac-zhou (nach einer kleinen Spende) zum Laufen gebracht. Seither funktioniert es zuverlässig. Ich hoffe, das dieses Projekt auch für FHEM hilfreich sein wird!

Sobald ich die hier beschriebenen notwendigen Schritte zur Einrichtung in FHEM verstanden und ausprobiert habe, bin ich gerne bereit zu testen und zu berichten.

Die erste Schwierigkeit ist, dass es bei mir unter /opt/ kein Verzeichnis midea-msmart gibt. Das habe ich jetzt erst einmal angelegt und die Datei setAC.py hier aus dem Forum herunter geladen und in das Verzeichnis geladen. Außerdem die Benutzer-Rechte für fhem gesetzt. Schließlich die Datei 53_mideaAC unter /opt/fhem/FHEM platziert.

Dann das dummy angelegt:
define dumAc dummy
die Attribute hinzugefügt
devStateIcon   off:control_standby on:control_standby@green
set list       getState:noArg on:noArg off:noArg
stateFormat    myState
userReadings   myState:power_state.* { ReadingsVal( $NAME, "power_state", "" ) eq 'true'?'on':'off' }
userattr       ac_ip ac_id
ac_id         18XXXXXXXXXXX5
ac_ip         192.168.1.41


die Daten der Klimaanlage habe ich mir mit
midea-discover
unter der Linux Konsole besorgt

Außerdem habe ich das notify eingerichtet

define notAc notify a b
und dann unter def das a b mit den Daten ersetzt:
dumAc:(on|off|getState).* {
  my $ac_ip = AttrVal( $NAME, 'ac_ip', '' );
  my $ac_id = AttrVal( $NAME, 'ac_id', '' );
  my $result = qx(/opt/midea-msmart/setAC.py $ac_ip $ac_id $EVTPART0);
  json2reading( $NAME, $result );
}


Nach Update und Restart bekomme ich leider von der Klimaanlage weder etwas angezeigt noch etwas gesteuert.

Die Readings im notify zeigen:
READINGS:
     2022-05-14 14:30:41   state           active
     2022-05-14 14:26:29   triggeredByDev  dumAc
     2022-05-14 14:26:29   triggeredByEvent getState


Was kann ich tun?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 15 Mai 2022, 09:43:31
Zitat von: SebastianStorb am 14 Mai 2022, 13:15:22Wenn das funktioniert wäre es sensationell!
Na mal schauen, ob wir das hinbekommen  ;)

Zitat von: SebastianStorb am 14 Mai 2022, 13:15:22Was kann ich tun?
Zuerst müssen wir mal ein paar Basics klären.

Welches Protokoll hat Dein MideaSmartKit ?

In Post #11 habe ich lediglich erste Versuche zur Funktionaltität gemacht. (das hast Du versucht nachzubauen, würde ich aber nicht weiterverfolgen)
In Post #12 habe ich ein FHEM-Modul und das Python-Script angehängt (das solltest Du versuchen. Ich habe die beiden Dateien heute morgen nochmal frisch angehängt. Ich hatte da vermutlich noch was geändert, da hier aber bis jetzt niemand geschrieben hatte, dachte ich nicht, das es jemand interessiert. Daher am besten nochmal runterladen.)
Also 53_mideaAC.pm ins FHEM-Modulverzeichnis und setAC.py ins midea-smart Verzeichnis kopieren

Zitat von: SebastianStorb am 14 Mai 2022, 13:15:22Die erste Schwierigkeit ist, dass es bei mir unter /opt/ kein Verzeichnis midea-msmart gibt.
...
die Daten der Klimaanlage habe ich mir mit "midea-discover" unter der Linux Konsole besorgt
Da stellt sich die Frage wie und wo hast Du denn die Software von mac-zhou (https://github.com/mac-zhou/midea-msmart) installiert.
Da "midea-discover" funktioniert, scheinst Du die Installation aber gemacht zu haben. Irgendwo muss dann auch das Verzeichnis "midea-msmart" sein. Da sollte dann die "setAC.py" von mir rein.
Ich habe es mit:
cd /opt
git clone https://github.com/mac-zhou/midea-msmart.git

installiert.

Wenn wir das geklärt haben, gehts weiter ...

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: sash.sc am 15 Mai 2022, 10:32:45
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 15 Mai 2022, 10:44:36
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: sash.sc am 15 Mai 2022, 16:16:51
Wie bekomme ich das raus?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 15 Mai 2022, 16:44:07
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: sash.sc am 15 Mai 2022, 17:37:08
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}


Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: SebastianStorb am 16 Mai 2022, 22:36:25
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 17 Mai 2022, 08:57:06
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: SebastianStorb am 17 Mai 2022, 22:16:55
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 18 Mai 2022, 08:22:22
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: SebastianStorb am 18 Mai 2022, 22:09:50
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! :) :) :) :)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 19 Mai 2022, 08:37:24
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: SebastianStorb am 19 Mai 2022, 21:37:37
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?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 19 Mai 2022, 23:05:14
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 20 Mai 2022, 11:00:08
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 (https://github.com/mac-zhou/midea-msmart/issues/24))
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 ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 20 Mai 2022, 15:19:46
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 20 Mai 2022, 16:36:28
Wenn es nicht egal ist, mit welcher APP die Anlage bedient wird habe ich das Problem gefunden.
Ich verwene wie in der Bedienungsanleitung angegeben NetHome Plus.
Habe irgendwo mal gelesen, dass auch die Midea APP bei meiner Anlage funktionieren soll.
Kann das aber im Moment leider nicht testen, da die Anlage ca. 100€ Kraftstoff weit weg ist.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 20 Mai 2022, 18:46:47
Zitat von: pink99panther am 20 Mai 2022, 15:19:46
Irgendwo hapert es noch bei mir.
Also wenn ich mir den Discover von Dir so ansehe, sieht der ziemlich identisch zu meinem aus.


Du könntest mal versuchen, das Python-Script direkt auf der Shell aufzurufen.
/opt/midea-msmart/setAC.py on -H 192.168.178.56 -I 17..........97 -m Cool -t 17 --beep
vielleicht sieht man dann etwas mehr woran es liegen könnte.

Zitat von: pink99panther am 20 Mai 2022, 16:36:28
Kann das aber im Moment leider nicht testen, da die Anlage ca. 100€ Kraftstoff weit weg ist.
unter Berücksichtigung der aktuellen Spritpreise ist das ja fast in Laufreichweite  ;)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 20 Mai 2022, 20:39:41
Ausgabe beim Test auf der Shell
$ /opt/midea-msmart/setAC.py state -H 192.168.178.56 -I 17..........97
Traceback (most recent call last):
  File "/opt/midea-msmart/setAC.py", line 5, in <module>
    from msmart.device import air_conditioning_device 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 8, 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 4, in <module>
    from Crypto.Cipher import AES
ImportError: No module named 'Crypto'


wie mache ich das Modul Crypto verfügbar?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 21 Mai 2022, 09:24:03
Zitat von: pink99panther am 20 Mai 2022, 20:39:41
wie mache ich das Modul Crypto verfügbar?
Ich bin leider kein Python Experte und bei mir lief das Script ohne installation weiterer Module.
Ob das aus der Installation anderer Projekte und Module resultiert weiß ich leider nicht.

Du kannst aber das Crypto-Modul wie folgt installierenpip3 install pycrypto
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: sash.sc am 27 Mai 2022, 12:47:43
Hallo zusammen.

Ich habe mich ans github gehalten und msmart installiert.
Module in fhem auch auf den aktuellen stand gebracht, wegen v3.

Wenn ich eine aktion in fhem ausführe, bekommen ich folgende meldung.


2022.05.27 12:40:18 3: LEF|/opt/fhem/FHEM/setAC.py|on -H 192.168.2.114:6664 -I 3............9 -K A3A805.................................E -T 3F......................................................................47 -m Dry -t 17 -s Off --beep
ModuleNotFoundError: No module named 'msmart'
    from msmart.device import air_conditioning_device as ac
  File "/opt/fhem/FHEM/setAC.py", line 5, in <module>
Traceback (most recent call last):


jemand eine idee?

Gruß und danke
Sascha
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 27 Mai 2022, 13:12:25
So wie das sehe, hast Du "msmart" und mein Script "setAC.py" nicht im gleichen Verzeichnis.

Wie ist denn der Pfad zu msmart ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 28 Mai 2022, 15:02:36
Hallo JudgeDredd, erstmal vielen Dank. Ich bin auch gerade dabei das Modul in FHEM einzubauen. Das setAC-Script läuft bei mir und liefert auch plausible Werte (Innen- / Außentemperatur etc.) zurück. In FHEM bekomme ich aber keine Readings. Logfile:
  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'
Undefined subroutine &main::encode_json called at ./FHEM/53_mideaAC.pm line 223.

Das Problem mit dem fehlenden Crypto.Util.Padding habe ich auch, allerdings läuft das setAC-Skript direkt ausgeführt ohne Fehlermeldung durch.
Danke & Grüße
Jan
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 28 Mai 2022, 17:15:22
Zitat von: rabbit83 am 28 Mai 2022, 15:02:36
allerdings läuft das setAC-Skript direkt ausgeführt ohne Fehlermeldung durch.
Hi,

was bedeutet denn "ohne Fehlermeldung" ? Kannst Du auf der Konsole denn die Klimaanlage steuern ?
Eigentlich ruft das FHEM-Modul nur das Script mit den richtigen Parametern auf und weist der Rückmeldung die entsprechenden Readings zu.

Also wenn das Steuern aus der Konsole heraus funktioniert, dann kann es ja eigentlich nur an der Berechtigung des FHEM-Users liegen.
Was bekommst Du denn, wenn Du das Script mit diesem User von FHEM ausführst ?

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 28 Mai 2022, 21:24:06
Hi JudgeDredd,

einen Schritt bin ich jetzt weiter. Unter User "pi" lief das Script, unter "fhem" wie von dir vermutet nicht. Ursache war, dass das Python-Modul "msmart" (bzw. dessen Abhängigkeiten) nicht für "fhem" installiert waren. Jetzt läuft das Script auch unter "pi", aber es kommt weiterhin Undefined subroutine &main::encode_json called at ./FHEM/53_mideaAC.pm line 223. im Logfile, und, es werden keine Readings angezeigt.
Nachtrag: Einschalten (über Set...) funktioniert, Ausschalten nicht (lt. Logfile wird da dennoch "on" geschickt), Get status schickt den richtigen Befehl an setAC.py, es kommen aber keine Readings im FHEM an.

Grüße
Jan
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 29 Mai 2022, 13:12:40
Zitat von: rabbit83 am 28 Mai 2022, 21:24:06Nachtrag: Einschalten (über Set...) funktioniert
Das ist ja schonmal gut.

Zitat von: rabbit83 am 28 Mai 2022, 21:24:06
Ausschalten nicht (lt. Logfile wird da dennoch "on" geschickt), Get status schickt den richtigen Befehl an setAC.py, es kommen aber keine Readings im FHEM an.
Das mein Modul beim Ausschalten ein "on" sendet, kann ich mir gerade nicht erklären.
Um das "get status" mal zu analysieren, kannst Du mal das Script auf der Shell aufrufen und hier den Rückgabewert zeigen ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 29 Mai 2022, 13:27:41
Hi,

ein set KlimaOben Off liefert im Log: KlimaOben|/opt/midea-msmart/setAC.py|on -H 192.168.0.70 -I YYYYYYY -K XXXXXX -T ZZZZZZZZZZZ --beep.

Script "state" inkl. Ausgabe:
./setAC.py state -H 192.168.0.70 -I YYYYYYYYYY -K XXXXXXXXXXXXXXXXXXXXXX -T ZZZZZZZZZZZZZZ
{"id": YYYYYYYYYYYY, "name": "192.168.0.70", "power": "Off", "beep": false, "temperature": 22.0, "mode": "auto", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 21.0, "x_outdoor_temperature": 15.5}
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: sash.sc am 29 Mai 2022, 20:16:42
Zitat von: JudgeDredd am 27 Mai 2022, 13:12:25
So wie das sehe, hast Du "msmart" und mein Script "setAC.py" nicht im gleichen Verzeichnis.

Wie ist denn der Pfad zu msmart ?

setac.py liegt in fhem/FHEM zusammen mit dem Modul. msmart nach Anleitung direkt aus dem /home verzeichniss installiert !

ist dann die frage wo das installiert wird ?!

Gruß
Sascha
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 30 Mai 2022, 08:56:31
Zitat von: rabbit83 am 29 Mai 2022, 13:27:41
ein set KlimaOben Off liefert im Log: KlimaOben|/opt/midea-msmart/setAC.py|on -H 192.168.0.70 -I YYYYYYY -K XXXXXX -T ZZZZZZZZZZZ --beep
Also das kann ich mir absolut nicht erklären. Hast Du aktuell wirklich beide letzte Versionen vom "53_mideaAC.pm" Modul und vom "setAC.py" Script im Einsatz ?
Wenn dem so wäre, dann müsste ich erstmal weitere Logausgaben ins Modul einbauen um dem Ganzen auf die Spur zu kommen.

Zitat von: rabbit83 am 29 Mai 2022, 13:27:41
Script "state" inkl. Ausgabe:
./setAC.py state -H 192.168.0.70 -I YYYYYYYYYY -K XXXXXXXXXXXXXXXXXXXXXX -T ZZZZZZZZZZZZZZ
{"id": YYYYYYYYYYYY, "name": "192.168.0.70", "power": "Off", "beep": false, "temperature": 22.0, "mode": "auto", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 21.0, "x_outdoor_temperature": 15.5}
Die Rückgabe sieht ja erstmal gut aus. Wenn das im Modul keine Readings erzeugt, wäre das ein weiterer Hinweis darauf, das Du nicht die letzte Version vom Modul hast.

Zitat von: sash.sc am 29 Mai 2022, 20:16:42
setac.py liegt in fhem/FHEM zusammen mit dem Modul.
Nein, das Script muss ins "midea-msmart"-Verzeichnis.

Zitat von: sash.sc am 29 Mai 2022, 20:16:42
msmart nach Anleitung direkt aus dem /home verzeichniss installiert !
Also ich habe mein midea-msmart ins "/opt/midea-msmart" installiert.

Zitat von: sash.sc am 29 Mai 2022, 20:16:42
ist dann die frage wo das installiert wird ?!
Das kannst natürlich nur Du beantworten.
Schau mal nach:
find / -iname midea-msmart
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 30 Mai 2022, 22:10:21
Zitat von: JudgeDredd am 30 Mai 2022, 08:56:31
Also das kann ich mir absolut nicht erklären. Hast Du aktuell wirklich beide letzte Versionen vom "53_mideaAC.pm" Modul und vom "setAC.py" Script im Einsatz ?
Wenn dem so wäre, dann müsste ich erstmal weitere Logausgaben ins Modul einbauen um dem Ganzen auf die Spur zu kommen.
Die Rückgabe sieht ja erstmal gut aus. Wenn das im Modul keine Readings erzeugt, wäre das ein weiterer Hinweis darauf, das Du nicht die letzte Version vom Modul hast.
find / -iname midea-msmart

Ja, es sind die neuesten Versionen hier aus dem Thread, vom 17.5., habs auch nochmal runtergeladen, die alten Dateien vom Pi gelöscht und wieder draufgeschoben.
Mein FHEM läuft (noch) auf einem Pi 1 (mit Raspbian Buster), keine Ahnung ob das Ganze damit zusammen hängen könnte.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 16 Juni 2022, 14:01:56
Ich habe das ganze jetzt nochmal auf einem neu aufgesetzten Pi3 versucht (Pi OS und FHEM neu installiert, keine alten Configs etc. wiederhergestellt). Das identische Verhalten - das Script direkt aufgerufen funktioniert, über FHEM funktioniert es nicht. Einmal tauchte im Log folgender Hinweis auf:
Undefined subroutine &main::encode_json called at ./FHEM/53_mideaAC.pm line 223.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 17 Juni 2022, 11:17:46
Zitat von: rabbit83 am 16 Juni 2022, 14:01:56
Einmal tauchte im Log folgender Hinweis auf:
Undefined subroutine &main::encode_json called at ./FHEM/53_mideaAC.pm line 223.
Ich habe den Verweis auf JSON explizit im Modul eingefügt. (neue Version in Beitrag #12 (https://forum.fhem.de/index.php/topic,60548.msg1218572.html#msg1218572))
Vermutlich wurde das Perlmodul durch andere FHEM-Module geladen, die bei einer frischen Installation fehlen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 17 Juni 2022, 13:57:10
Juhu, funktioniert. Vielen Dank!
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 17 Juni 2022, 14:03:38
Zitat von: rabbit83 am 17 Juni 2022, 13:57:10
Juhu, funktioniert. Vielen Dank!
Danke für die Rückmeldung und weiterhin kühle Nächte  :)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 20 Juni 2022, 13:46:04
Hallo,

der Python-Script Autor (mac-zhou) hat den Namen für die Device-Klasse geändert.
(möglicherweise deutet das daraufhin, das künftig auch andere Geräte als AC gesteuert werden können)
Falls Jemand das midea-msmart aus dem GitHub neu Installiert, bitte die aktualisierte Version von setAC.py aus Post #12 verwenden.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 20 Juni 2022, 19:51:07
Hallo,
zuerst vielen Dank für Deine Arbeit! Ich suche schon lange eine Möglichkeit meine Dimstal Klimaanlage einzubinden und endlich scheint eine Lösung in Sicht.
Ich habe aber ein Problem das ich nicht gelöst bekomme.

Ich habe das Script von mac-zhou nach /opt/fhem/midea-msmart/ geklont. Dein Script setAC.py hab ich in ebenfalls nacht /opt/fhem/midea-msmart/ kopiert und dein Modul installiert. Besitzer und Gruppe sind fhem:dialout und die Rechte per chmod auf 775 gesetzt. Das Attribut processScript ist auf /opt/fhem/midea-msmart/setAC.py gesetzt.

Ich kann direkt aus dem Terminal mit
sudo -u fhem /opt/fhem/midea-msmart/setAC.py status --host 192.168.1.8 --id  18************ --key 36************* --token 9861****************

Den Status der Klimaanlage abfrage und sie schalten.

Allerdings scheint das Modul nicht mit dem Script zu kommunizieren und ich steige nicht dahinter warum.

Hier noch ein list vom Modul:
Internals:
   DEF        192.168.1.8 18************ 36************* 9861****************
   FUUID      62b091d4-f33f-ece2-0a2f-3a6d286bf82e63e3
   INTERVAL   0
   NAME       Klima_Schlafzimmer
   NR         436
   STATE      Ready
   TYPE       mideaAC
   eventCount 2
   READINGS:
     2022-06-20 17:42:52   power           0
   helper:
     AUTH        -K 36************* -T 9861****************
     HOST        -H 192.168.1.8
     ID          -I 18691697793261
     RUNNING_PID:
       abortArg   
       abortFn   
       arg        Klima_Schlafzimmer|/opt/fhem/midea-msmart/setAC.py|state -H 192.168.1.8 -I 18************ -K 36************* -T 9861****************
       bc_pid     6
       finishFn   callScript_finish
       fn         callScript_start
       pid        DEAD:863
       timeout    30
Attributes:
   Signal     Off
   processScript /opt/fhem/midea-msmart/setAC.py


Ich wäre um einen Schubs in die richtige Richtung dankbar.
Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 21 Juni 2022, 11:04:21
Zitat von: chrisse111179 am 20 Juni 2022, 19:51:07
Ich kann direkt aus dem Terminal mit
sudo -u fhem /opt/fhem/midea-msmart/setAC.py status --host 192.168.1.8 --id  18************ --key 36************* --token 9861****************

Den Status der Klimaanlage abfrage und sie schalten.
Also das würde mich doch sehr wundern. Den Command "status" gibt es eigentlich gar nicht.  :o
Kannst Du bitte mal den Result von Deinem Konsolenaufruf, mit dem Du den Status abrufst und gleich noch das FHEM-Log mit Verbose 5 im Modul mal zeigen.

Du verwendest beide letzte Versionen ? (Modul und Script)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 21 Juni 2022, 17:23:42
Hallo,
ja, ich habe die Dateien gestern Abend aus Post#12 runtergeladen.

Hier mal die Konsolenausgabe mit "state":
pi@fhem:~ $ sudo -u fhem /opt/fhem/midea-msmart/setAC.py state --host 192.168.1.8 --id  18*** --key 36*** --token 98***
{"id": 18***, "name": "192.168.1.8", "power": "Off", "beep": false, "temperature": 23.0, "mode": "fan_only", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 27.0, "x_outdoor_temperature": 37.0}


Hier mit "on":
pi@fhem:~ $ sudo -u fhem /opt/fhem/midea-msmart/setAC.py on --host 192.168.1.8 --id  18*** --key 36***--token 98***
{"id": 18***, "name": "192.168.1.8", "power": "On", "beep": false, "temperature": 20.0, "mode": "auto", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 27.0, "x_outdoor_temperature": 37.0}


Und hier mit "off"
pi@fhem:~ $ sudo -u fhem /opt/fhem/midea-msmart/setAC.py off --host 192.168.1.8 --id  18*** --key 36*** --token 98***
{"id": 18***, "name": "192.168.1.8", "power": "Off", "beep": false, "temperature": 17.0, "mode": "auto", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 27.0, "x_outdoor_temperature": 37.0}


Und hier noch ein Auszug aus dem Logfile mit Verbose 5:
2022.06.21 17:16:59 5: GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Cool%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer
2022.06.21 17:16:59 4: WEB_192.168.1.83_55300 GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Cool%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.21 17:16:59 5: Cmd: >{ReadingsVal("Klima_Schlafzimmer","Cool","")}<
2022.06.21 17:16:59 4: WEB: /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Cool%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Conten>
/ Cache-Control: no-cache, no-store, must-revalidate

2022.06.21 17:16:59 4: Connection accepted from WEB_192.168.1.83_51658
2022.06.21 17:16:59 5: POST /fhem?cmd=help%20Klima_Schlafzimmer&XHR=1&fwcsrf=528215196300767&fw_id=3835 HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/plain, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
cache-control: no-cache
X-Requested-With: XMLHttpRequest
Origin: http://fhem:8083
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer
Content-Length: 0
2022.06.21 17:16:59 4: WEB_192.168.1.83_51658 POST /fhem?cmd=help%20Klima_Schlafzimmer&XHR=1&fwcsrf=528215196300767&fw_id=3835; BUFLEN:0
2022.06.21 17:16:59 5: Cmd: >help Klima_Schlafzimmer<
2022.06.21 17:16:59 4: WEB: /fhem?cmd=help%20Klima_Schlafzimmer&XHR=1&fwcsrf=528215196300767&fw_id=3835 / RL:940 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2022.06.21 17:17:00 4: Connection closed for WEB_192.168.1.83_51650: EOF
2022.06.21 17:17:00 5: POST /fhem HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 265
Origin: http://fhem:8083
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer
Upgrade-Insecure-Requests: 1
2022.06.21 17:17:00 4: WEB_192.168.1.83_55300 POST /fhem&detail=Klima_Schlafzimmer&dev.setKlima_Schlafzimmer=Klima_Schlafzimmer&fwcsrf=528215196300767&cmd.setKlima_Schlafzimmer=>
2022.06.21 17:17:00 5: Cmd: >set Klima_Schlafzimmer Cool temp:17,swing:Off,fan:Auto<
2022.06.21 17:17:00 3: Select: set Klima_Schlafzimmer Cool
2022.06.21 17:17:00 4: Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/midea-msmart/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 3673DD91B4244F3ABBB2F6362A685F044504D3F4>
2022.06.21 17:17:00 5: Starting notify loop for Klima_Schlafzimmer, 1 event(s), first is Cool temp:17,swing:Off,fan:Auto
2022.06.21 17:17:00 5: End notify loop for Klima_Schlafzimmer
2022.06.21 17:17:00 5: GET /fhem?detail=Klima_Schlafzimmer&fw_id= HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer
Connection: keep-alive
Upgrade-Insecure-Requests: 1
2022.06.21 17:17:00 4: WEB_192.168.1.83_55300 GET /fhem?detail=Klima_Schlafzimmer&fw_id=; BUFLEN:0
2022.06.21 17:17:00 4: WEB: /fhem?detail=Klima_Schlafzimmer&fw_id= / RL:5244 / text/html; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2022.06.21 17:17:00 5: GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.21 17:17:00 4: WEB_192.168.1.83_55300 GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.21 17:17:00 5: Cmd: >{ReadingsVal("Klima_Schlafzimmer","Auto","")}<
2022.06.21 17:17:00 4: WEB: /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Conten>
/ Cache-Control: no-cache, no-store, must-revalidate

2022.06.21 17:17:00 5: GET /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.21 17:17:00 4: WEB_192.168.1.83_51658 GET /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.21 17:17:00 5: Cmd: >{AttrVal("Klima_Schlafzimmer","room","")}<
2022.06.21 17:17:00 4: WEB: /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Content-En>
/ Cache-Control: no-cache, no-store, must-revalidate

2022.06.21 17:17:00 5: GET /fhem?XHR=1&inform=type=status;filter=Klima_Schlafzimmer;since=1655824619.76455;fmt=JSON&fw_id=3835&timestamp=1655824620959 HTTP/1.1
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.21 17:17:00 4: WEB_192.168.1.83_55300 GET /fhem?XHR=1&inform=type=status;filter=Klima_Schlafzimmer;since=1655824619.76455;fmt=JSON&fw_id=3835&timestamp=1655824620959; BU>
2022.06.21 17:17:03 5: POST /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKl>
Host: fhem:8083
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/plain, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
cache-control: no-cache
X-Requested-With: XMLHttpRequest
Origin: http://fhem:8083
Connection: keep-alive
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
Content-Length: 0
2022.06.21 17:17:03 4: WEB_192.168.1.83_51658 POST /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlaf>
2022.06.21 17:17:03 5: Cmd: >get Klima_Schlafzimmer Status<
2022.06.21 17:17:03 3: Select: get Klima_Schlafzimmer Status
2022.06.21 17:17:03 4: Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/midea-msmart/setAC.py|state -H 192.168.1.8 -I 18691697793261 -K 3673DD91B4244F3ABBB2F6362A685F044504D>
2022.06.21 17:17:03 4: WEB: /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKl>
/ Cache-Control: no-cache, no-store, must-revalidate


Ich hoffe das hilft so weiter!? :-)

Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 21 Juni 2022, 18:48:12
Zitat von: JudgeDredd am 21 Juni 2022, 11:04:21
Also das würde mich doch sehr wundern. Den Command "status" gibt es eigentlich gar nicht.  :o

...ach du liebe Zeit...mir ist eben erst aufgefallen, dass ich tatsächlich "status" statt "state" geschrieben habe. Sorry, mein Fehler!
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 21 Juni 2022, 19:44:18
Hi Christian,

also was mir etwas merkwürdig vorkommt, ist Deine Log-Zeile:
2022.06.21 17:17:00 4: Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/midea-msmart/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 3673DD91B4244F3ABBB2F6362A685F044504D3F4>
Das letzte Zeichen ">" irritiert mich.
Hast Du in der DEF da was reingemolgelt oder einen Zeilenumbruch oder sowas in der Art drin ?
Eigentlich müsste die Logzeile noch weitergehen ... " -m Cool -t 17 -s Off -f Auto"

Blöderweise habe ich den USB-Stick mit der V3-Version meinem Kumpel wieder zurückgegeben, so daß ich es mit <Key> und <Token> gerade nicht testen kann.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 21 Juni 2022, 20:14:51
Die komplette Zeile lautet so:

2022.06.21 20:08:34 4: Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/midea-msmart/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 3673DD91B4244F3ABBB2F6362A685F044504D3F499BA4C37A3B017D1775B1C2F -T 9861238F2886B1D1E7938F546C92CA71337A146F77FBA2D42624692F979A162A749FF28759077F7F8E82367F6218B82357BFB7731D6A05810E48CA82D122C281 -m Auto -t 17 -s Off


...man kann wohl nur den sichtbaren Bereich im Terminal mit der Maus markieren...*räusper* sorry!
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 21 Juni 2022, 20:54:06
Hm...vielleicht hilft das ja weiter:

Gebe ich das Kommando mit dem | vor dem Schaltbefehl ein passiert folgendes:

pi@fhem:~ $ sudo -u fhem /opt/fhem/midea-msmart/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 3673DD91B4244F3ABBB2F6362A685F044504D3F499BA4C37A3B017D1775B1C2F -T 9861238F2886B1D1E7938F546C92CA71337A146F77FBA2D42624692F979A162A749FF28759077F7F8E82367F6218B82357BFB7731D6A05810E48CA82D122C281 -m Auto -t 25 -s Off
-bash: on: Kommando nicht gefunden.
Traceback (most recent call last):
  File "/opt/fhem/midea-msmart/setAC.py", line 121, in <module>
    print( main() )
  File "/opt/fhem/midea-msmart/setAC.py", line 53, in main
    if ( args.key and args.token is None ) or ( args.key is None and args.token ):
AttributeError: 'Namespace' object has no attribute 'key


Ohne den | scheint es zu gehen

pi@fhem:~ $ sudo -u fhem /opt/fhem/midea-msmart/setAC.py on -H 192.168.1.8 -I 18691697793261 -K 3673DD91B4244F3ABBB2F6362A685F044504D3F499BA4C37A3B017D1775B1C2F -T 9861238F2886B1D1E7938F546C92CA71337A146F77FBA2D42624692F979A162A749FF28759077F7F8E82367F6218B82357BFB7731D6A05810E48CA82D122C281 -m Auto -t 24 -s Off
{"id": 18691697793261, "name": "192.168.1.8", "power": "On", "beep": false, "temperature": 24.0, "mode": "auto", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 25.0, "x_outdoor_temperature": 27.5}
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 22 Juni 2022, 15:01:47
Hallo Christian,

so wie es aussieht, hat sich bei den letzten Änderungen von mac-zhou noch etwas mehr getan.
Ich habe das Script mal angepasst (allerdings ungetestet) und hier direkt dran gehängt.
Bitte mal versuchen ...

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 22 Juni 2022, 15:58:16
Hallo,
danke für Deine Mühe und Deine Geduld!

Nein, es funktioniert wieder nur aus dem Terminal heraus. Über das Modul funktioniert es nicht.

Mir schwant ja langsam, dass der Fehler irgendwo bei mir liegt. Ich erläutere dir mal die Schritte die ich durchgeführt habe. Vielleicht habe ich ja irgendetwas versemmelt.

1. Das Script von GitHub geklont
cd /opt/fhem
sudo -u fhem git clone https://github.com/mac-zhou/midea-msmart.git


2. Dein Script im Verzeichnis /opt/fhem/midea-msmart angelegt und ausführbar gemacht

3. Im Modul das Attribut processScript gesetzt
Attributes:
   Signal     Off
   processScript /opt/fhem/midea-msmart/setAC.py


Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 22 Juni 2022, 19:31:48
Zitat von: chrisse111179 am 22 Juni 2022, 15:58:16
Mir schwant ja langsam, dass der Fehler irgendwo bei mir liegt. Ich erläutere dir mal die Schritte die ich durchgeführt habe. Vielleicht habe ich ja irgendetwas versemmelt.
Also das clonen vom GitHub hättest Du nicht machen müssen.
Installation erfolgt mit
pip3 install msmart

Aber wie dem auch sei, wenn der Aufruf über die Konsole funktioniert, muss es auch mit dem Modul funktionieren.
Unter dem Strich generiert das Modul ja nur den Aufruf des setAC.py mit den richtigen Parametern und verarbeitetr die Antort in den Readings.

Das Modul loggt eigentlich im Verbose 5 auch den Aufruf des Scripts und die Rückgabe dazu mit den Logeinträgen
5: Aufruf setAC: <ScriptName und Parameter>
5: Result setAC: <Antwort des Scripts>


Fehlen diese Zeilen bei Dir tatsächlich im FHEM-Log oder hast Du nicht alles kopiert und die kommen weiter unten ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 25 Juni 2022, 19:02:45
Hallo,
sorry, kam nicht dazu zu testen.

Das steht im Logfile wenn ich versuche über das Webinterface den Status abzufragen:
2022.06.25 18:55:03 5: POST /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKlima_Schlafzimmer=&XHR=1&addLinks=1&fwcsrf=528215196300767&fw_id=690 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:55:03 4: WEB_192.168.1.83_40122 POST /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKlima_Schlafzimmer=&XHR=1&addLinks=1&fwcsrf=528215196300767&fw_id=690; BUFLEN:0
2022.06.25 18:55:03 5: Cmd: >get Klima_Schlafzimmer Status<
2022.06.25 18:55:03 3: Select: get Klima_Schlafzimmer Status
2022.06.25 18:55:03 4: Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/.local/bin/setAC.py|state -H 192.168.1.8 -I 18691697793261 -K 4136E882A281485BBA7D17CD092E7B2BB9D5A05731B84885A3A8AE82F0D5471E -T 8BF88B0EBF91F920565259D7EFA972352A2C8744A222346949F92CFEF8C1EEE7E6AF56513D46EA1609BEEF68061ED12C729674E35F900122B35AEB7265871E1F
2022.06.25 18:55:03 4: WEB: /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKlima_Schlafzimmer=&XHR=1&addLinks=1&fwcsrf=528215196300767&fw_id=690 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip


Und das wenn ich versuche zu schalten:
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:57:08 4: WEB_192.168.1.83_49760 POST /fhem&detail=Klima_Schlafzimmer&dev.setKlima_Schlafzimmer=Klima_Schlafzimmer&fwcsrf=528215196300767&cmd.setKlima_Schlafzimmer=set&arg.setKlima_Schlafzimmer=Auto&val.setKlima_Schlafzimmer=temp%3A17&val.setKlima_Schlafzimmer=swing%3AOff; BUFLEN:0
2022.06.25 18:57:08 5: Cmd: >set Klima_Schlafzimmer Auto temp:17,swing:Off<
2022.06.25 18:57:08 3: Select: set Klima_Schlafzimmer Auto
2022.06.25 18:57:08 4: Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/.local/bin/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 4136E882A281485BBA7D17CD092E7B2BB9D5A05731B84885A3A8AE82F0D5471E -T 8BF88B0EBF91F920565259D7EFA972352A2C8744A222346949F92CFEF8C1EEE7E6AF56513D46EA1609BEEF68061ED12C729674E35F900122B35AEB7265871E1F -m Auto -t 17 -s Off --beep
2022.06.25 18:57:08 5: Starting notify loop for Klima_Schlafzimmer, 1 event(s), first is Auto temp:17,swing:Off
2022.06.25 18:57:08 5: End notify loop for Klima_Schlafzimmer
2022.06.25 18:57:08 5: GET /fhem?detail=Klima_Schlafzimmer&fw_id= HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:57:08 4: WEB_192.168.1.83_49760 GET /fhem?detail=Klima_Schlafzimmer&fw_id=; BUFLEN:0
2022.06.25 18:57:08 4: WEB: /fhem?detail=Klima_Schlafzimmer&fw_id= / RL:5164 / text/html; charset=UTF-8 / Content-Encoding: gzip
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:57:08 5: GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:57:08 4: WEB_192.168.1.83_49766 GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.25 18:57:08 5: Cmd: >{ReadingsVal("Klima_Schlafzimmer","Auto","")}<
2022.06.25 18:57:08 4: WEB: /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2022.06.25 18:57:08 5: GET /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:57:08 4: WEB_192.168.1.83_49774 GET /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.25 18:57:08 5: Cmd: >{AttrVal("Klima_Schlafzimmer","room","")}<
2022.06.25 18:57:08 4: WEB: /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2022.06.25 18:57:08 5: GET /fhem?XHR=1&inform=type=status;filter=Klima_Schlafzimmer;since=1656176227.40936;fmt=JSON&fw_id=709&timestamp=1656176228588 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.25 18:57:08 4: WEB_192.168.1.83_49766 GET /fhem?XHR=1&inform=type=status;filter=Klima_Schlafzimmer;since=1656176227.40936;fmt=JSON&fw_id=709&timestamp=1656176228588; BUFLEN:0
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
i

Ich habe msmart jetzt als user fhem mit pip3 installiert. Das installiert sich bei mir dann nach /opt/fhem/.local/. Dort werden zwei Unterverzeichnisse angelegt. /opt/fhem/.local/bin/ und /opt/fhem/.local/lib/. Im Verzeichnis /opt/fhem/.local/bin/ bedindet sich midea-discover und da hin habe ich dein Script kopiert.
Also so:
pi@fhem:/opt/fhem/.local/bin $ dir
midea-discover setAC.py


Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 25 Juni 2022, 20:27:40
Hi Christian,

also irgendwie kommt das Modul bei Dir nicht in der Funktion "callScript_start" an.
Warum kann ich noch nicht sagen.

Ich gehe davon aus, das Dein FHEM auf dem aktuellen Stand ist (Featurelevel: 6.1)

Bitte mal in die FHEM-Kommandozeile den Scriptaufruf direkt eingeben und schauen, ob die Antwort als Ausgabe kommt.
{qx(/opt/fhem/.local/bin/setAC.py state -H 192.168.1.8 -I 18691697793261 -K 4136E882A281485BBA7D17CD092E7B2BB9D5A05731B84885A3A8AE82F0D5471E -T 8BF88B0EBF91F920565259D7EFA972352A2C8744A222346949F92CFEF8C1EEE7E6AF56513D46EA1609BEEF68061ED12C729674E35F900122B35AEB7265871E1F)}

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 25 Juni 2022, 21:05:40
Hallo,
ja, Featurelevel steht auf 6.1.

Der Befehl:
{qx(/opt/fhem/.local/bin/setAC.py state -H 192.168.1.8 -I 18691697793261 -K 4136E882A281485BBA7D17CD092E7B2BB9D5A05731B84885A3A8AE82F0D5471E -T 8BF88B0EBF91F920565259D7EFA972352A2C8744A222346949F92CFEF8C1EEE7E6AF56513D46EA1609BEEF68061ED12C729674E35F900122B35AEB7265871E1F)}

Gibt diese Ausgabe zurück:
{"id": 18691697793261, "name": "192.168.1.8", "power": "On", "beep": false, "temperature": 23.0, "mode": "auto", "fan": "Auto", "swing": "Off", "intense": "normal", "x_indoor_temperature": 22.0, "x_outdoor_temperature": 27.0}

Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 27 Juni 2022, 19:23:48
Hi Christian,

um der ganzen Sache weiter auf die Spur zu kommen, habe ich nochmal ein paar Logausgaben eingebaut.
Bitte mal das angehängte Modul benutzen und Verbose 5 Ausgabe mal bitte zeigen.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 27 Juni 2022, 21:04:15
Guten Abend!
Nochmal danke dass du dich da so reinhängst!

Das ist die Log-Ausgabe bei einer Statusabfrage:

Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer
2022.06.27 21:00:08 5: POST /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKlima_Schlafzimmer=&XHR=1&addLinks=1&fwcsrf=528215196300767&fw_id=525 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer
2022.06.27 21:00:08 4: WEB_192.168.1.83_34544 POST /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKlima_Schlafzimmer=&XHR=1&addLinks=1&fwcsrf=528215196300767&fw_id=525; BUFLEN:0
2022.06.27 21:00:08 5: Cmd: >get Klima_Schlafzimmer Status<
2022.06.27 21:00:08 2: Klima_Schlafzimmer Select: get Klima_Schlafzimmer Status
2022.06.27 21:00:08 5: Klima_Schlafzimmer BlockingCall skipped existingPID (HASH(0x7183608)))
2022.06.27 21:00:08 4: WEB: /fhem?detail=Klima_Schlafzimmer&dev.getKlima_Schlafzimmer=Klima_Schlafzimmer&cmd.getKlima_Schlafzimmer=get&arg.getKlima_Schlafzimmer=Status&val.getKlima_Schlafzimmer=&XHR=1&addLinks=1&fwcsrf=528215196300767&fw_id=525 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip


Und das wenn ich sie schalten möchte:
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.27 21:02:59 4: WEB_192.168.1.83_34212 POST /fhem&detail=Klima_Schlafzimmer&dev.setKlima_Schlafzimmer=Klima_Schlafzimmer&fwcsrf=528215196300767&cmd.setKlima_Schlafzimmer=set&arg.setKlima_Schlafzimmer=Auto&val.setKlima_Schlafzimmer=temp%3A17&val.setKlima_Schlafzimmer=swing%3AOff; BUFLEN:0
2022.06.27 21:02:59 5: Cmd: >set Klima_Schlafzimmer Auto temp:17,swing:Off<
2022.06.27 21:02:59 2: Klima_Schlafzimmer Select: set Klima_Schlafzimmer Auto
2022.06.27 21:02:59 3: Klima_Schlafzimmer Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/.local/bin/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 4136E882A281485BBA7D17CD092E7B2BB9D5A05731B84885A3A8AE82F0D5471E -T 8BF88B0EBF91F920565259D7EFA972352A2C8744A222346949F92CFEF8C1EEE7E6AF56513D46EA1609BEEF68061ED12C729674E35F900122B35AEB7265871E1F -m Auto  --beep
2022.06.27 21:02:59 3: Klima_Schlafzimmer Parameter BlockingCall: Klima_Schlafzimmer|/opt/fhem/.local/bin/setAC.py|on -H 192.168.1.8 -I 18691697793261 -K 4136E882A281485BBA7D17CD092E7B2BB9D5A05731B84885A3A8AE82F0D5471E -T 8BF88B0EBF91F920565259D7EFA972352A2C8744A222346949F92CFEF8C1EEE7E6AF56513D46EA1609BEEF68061ED12C729674E35F900122B35AEB7265871E1F -m Auto -t 17 -s Off --beep
2022.06.27 21:02:59 5: Klima_Schlafzimmer BlockingCall skipped existingPID (HASH(0x7183608)))
2022.06.27 21:02:59 5: Starting notify loop for Klima_Schlafzimmer, 1 event(s), first is Auto temp:17,swing:Off
2022.06.27 21:02:59 5: End notify loop for Klima_Schlafzimmer
2022.06.27 21:02:59 5: GET /fhem?detail=Klima_Schlafzimmer&fw_id= HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.27 21:02:59 4: WEB_192.168.1.83_34212 GET /fhem?detail=Klima_Schlafzimmer&fw_id=; BUFLEN:0
2022.06.27 21:02:59 4: WEB: /fhem?detail=Klima_Schlafzimmer&fw_id= / RL:5161 / text/html; charset=UTF-8 / Content-Encoding: gzip
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.27 21:02:59 5: GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.27 21:02:59 4: WEB_192.168.1.83_34214 GET /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.27 21:02:59 5: Cmd: >{ReadingsVal("Klima_Schlafzimmer","Auto","")}<
2022.06.27 21:02:59 4: WEB: /fhem?cmd=%7BReadingsVal(%22Klima_Schlafzimmer%22%2C%22Auto%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2022.06.27 21:02:59 5: GET /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.27 21:02:59 4: WEB_192.168.1.83_34224 GET /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767; BUFLEN:0
2022.06.27 21:02:59 5: Cmd: >{AttrVal("Klima_Schlafzimmer","room","")}<
2022.06.27 21:02:59 4: WEB: /fhem?cmd=%7BAttrVal(%22Klima_Schlafzimmer%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=528215196300767 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2022.06.27 21:02:59 5: GET /fhem?XHR=1&inform=type=status;filter=Klima_Schlafzimmer;since=1656356578.21987;fmt=JSON&fw_id=557&timestamp=1656356579427 HTTP/1.1
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=
2022.06.27 21:02:59 4: WEB_192.168.1.83_34214 GET /fhem?XHR=1&inform=type=status;filter=Klima_Schlafzimmer;since=1656356578.21987;fmt=JSON&fw_id=557&timestamp=1656356579427; BUFLEN:0
Referer: http://fhem:8083/fhem?detail=Klima_Schlafzimmer&fw_id=


Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 27 Juni 2022, 21:15:37
Hi JudgeDredd
bin inzwischen auch etwas voran gekommen,
hänge aber auch an der Komunikation zwischen Modul und Script.

2022.06.27 21:04:05 4: KlimaKlb Aufruf setAC: /opt/midea-msmart/setAC.py off -H 192.168.178.56 -I 175.............797
hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/53_mideaAC.pm line 249.


Sind bei mir sehr wenige Logeinträge trotz Modul von gerade eben.

Der anfängliche "Fehler" lag am Verweis auf den Interpreter im Script.
Hab ich auf: #!/opt/fhem/Python-3.9.5/python geändert

LG
Manfred

Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 28 Juni 2022, 08:34:40
Zitat von: chrisse111179 am 27 Juni 2022, 21:04:15
Nochmal danke dass du dich da so reinhängst!
Kein Problem, interessiert mich ja selbst, warum das nur bei Dir so ist.

Diese Zeile zeigt, warum das setAC.py nicht aufgerufen wird.
2022.06.27 21:00:08 5: Klima_Schlafzimmer BlockingCall skipped existingPID (HASH(0x7183608)))
Offensichtlich, gibt es schon einen Aufruf, welcher noch vollstaendig beendet ist.

Sagt Dir das irgendwas ?
rufst Du das Modul in sehr kurzen Abständen auf, oder hast einen extrem kurzen RefreshIntervall eingestellt ?

Kannst Du es bitte nochmal ohne Intervall und direkt nach einem FHEM Neustart testen ?



Zitat von: pink99panther am 27 Juni 2022, 21:15:37
Hab ich auf: #!/opt/fhem/Python-3.9.5/python geändert
Komisch, meine Python installationen liegen alle in /usr/bin
Nunja, dann ist diese Hürde ja zumindest genommen.
Zitat von: pink99panther am 27 Juni 2022, 21:15:37
hänge aber auch an der Komunikation zwischen Modul und Script.
Funktioniert denn bei Dir der direkte Aufruf auf der Shell ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 28 Juni 2022, 08:59:46
ZitatFunktioniert denn bei Dir der direkte Aufruf auf der Shell ?
Ja, sogar aus der Eingabezeile in fhem.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 28 Juni 2022, 11:40:09
Hallo Manfred,
Zitat von: pink99panther am 27 Juni 2022, 21:15:37
hänge aber auch an der Komunikation zwischen Modul und Script.
2022.06.27 21:04:05 4: KlimaKlb Aufruf setAC: /opt/midea-msmart/setAC.py off -H 192.168.178.56 -I 175.............797
hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/53_mideaAC.pm line 249.
Der Fehler sieht mir eher danach aus, als ob Du nicht die neuste version von mac-zhou verwendest (msmart 0.2.3)
bzw. nicht die passende setAC.py zum msmart hast.
Kannst Du mal schauen, ob Du noch eine frühere Version von msmart installiert hast ?

evtl. hilft ein update:
pip3 install --upgrade msmart
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 28 Juni 2022, 15:09:54
Zitat von: JudgeDredd am 28 Juni 2022, 11:40:09
Hallo Manfred,Der Fehler sieht mir eher danach aus, als ob Du nicht die neuste version von mac-zhou verwendest (msmart 0.2.3)
bzw. nicht die passende setAC.py zum msmart hast.
Kannst Du mal schauen, ob Du noch eine frühere Version von msmart installiert hast ?

evtl. hilft ein update:
pip3 install --upgrade msmart

hatte schon die neueste Version
fhem@raspiKlb:~$ pip3 list module
Package                   Version
------------------------- ---------
certifi                   2022.6.15
cffi                      1.15.0
charset-normalizer        2.0.12
click                     8.1.3
idna                      3.3
ifaddr                    0.2.0
msmart                    0.2.3
pip                       22.1.2
pycparser                 2.21
pycryptodome              3.15.0
pycryptodome-test-vectors 1.0.10
pycryptodomex             3.14.1
PyYAML                    6.0
requests                  2.27.1
setuptools                56.0.0
shellescape               3.8.1
urllib3                   1.26.9
fhem@raspiKlb:~$
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 28 Juni 2022, 17:12:57
Hallo,

Zitat von: JudgeDredd am 28 Juni 2022, 08:34:40


Diese Zeile zeigt, warum das setAC.py nicht aufgerufen wird.
2022.06.27 21:00:08 5: Klima_Schlafzimmer BlockingCall skipped existingPID (HASH(0x7183608)))
Offensichtlich, gibt es schon einen Aufruf, welcher noch vollstaendig beendet ist.

Sagt Dir das irgendwas ?
rufst Du das Modul in sehr kurzen Abständen auf, oder hast einen extrem kurzen RefreshIntervall eingestellt ?

Kannst Du es bitte nochmal ohne Intervall und direkt nach einem FHEM Neustart testen ?

ich hatte das Attribut AutoRefresh gar nicht gesetzt. Ich habe es jetzt auf 10 gestellt, da sollte der Intervall ja groß genug sein.
Direkt nach einem Neustart von FHEM konnte ich das Klimagerät ein Mal vom Webinterface aus schalten. Dann geht wieder nichts.

Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 29 Juni 2022, 12:03:23
@chrisse111179, @pink99panther

Hi ihr beiden,

also ich muss gestehen, so langsam gehen mir die Ideen aus.
Nur mal zur Sicherheit, das wir auf der gleichen Basis analysieren, habe ich beide aktuelle Dateien hier nochmal angehängt.
Diese erfordern die Version 0.2.3 von msmart.

Es war sicherlich etwas Pech, das mac-zhou Änderungen an msmart während der Entwicklungsphase meines Moduls vorgenommen hat.

Bitte nochmal versuchen.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 29 Juni 2022, 14:36:06
2022.06.29 14:27:50 3: FHEMWEB WEB CSRF error: csrf_26xxxxxxxxxxxxx ne csrf_42xxxxxxxxxxxxx for client WEB_192.168.115.21_60152 / command get KlimaKlb Status . For details see the csrfToken FHEMWEB attribute.
2022.06.29 14:27:50 2: KlimaKlb Select: get KlimaKlb Status
2022.06.29 14:27:50 3: KlimaKlb Parameter BlockingCall: KlimaKlb|/opt/midea-msmart/setAC.py|state -H 192.168.178.56 -I 175........797
2022.06.29 14:27:50 5: KlimaKlb BlockingCall newPID (972))
2022.06.29 14:27:50 4: KlimaKlb Aufruf setAC: /opt/midea-msmart/setAC.py state -H 192.168.178.56 -I 175........797
hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/53_mideaAC.pm line 249.
2022.06.29 14:28:55 2: KlimaKlb Select: get KlimaKlb Status
2022.06.29 14:28:55 5: KlimaKlb BlockingCall skipped existingPID (DEAD:972))


Ich glaube, ich sollte mich mal mit dem csrf-Thema beschäftigen  :o
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Cinem am 30 Juni 2022, 12:30:30
Hallo Zusammen,

ich hatte die selben Probleme, dass die Anlage nicht steuerbar war und habe mich die letzten Stunden ein wenig dahinter geklemmt und ein wenig herumgetestet.
Zitat von: JudgeDredd am 29 Juni 2022, 12:03:23
@chrisse111179, @pink99panther

Hi ihr beiden,

also ich muss gestehen, so langsam gehen mir die Ideen aus.
Nur mal zur Sicherheit, das wir auf der gleichen Basis analysieren, habe ich beide aktuelle Dateien hier nochmal angehängt.
Diese erfordern die Version 0.2.3 von msmart.

Es war sicherlich etwas Pech, das mac-zhou Änderungen an msmart während der Entwicklungsphase meines Moduls vorgenommen hat.

Bitte nochmal versuchen.

  • setAC.py und 53_mideaAC.pm aus diesem Post nehmen
  • FHEM neu starten
  • Modul auf Verbose 5 setzen
  • get Status ausführen
  • nochmal get Status ausführen
  • das Log mir zur Verfügung stellen und mitteilen was passiert ist.

Gruß,
JudgeDredd

Ich konnte es soweit herunterbrechen, dass der Rückgabewert vom Aufruf des Python-Scriptes nicht korrekt umgewandelt werden konnte. Ich habe die, derzeit bei mir funktionierende Version, mit angehängt.

Die grundsätzlichen Veränderungen sind, dass ich den Aufruf in ein Array stecke und anschließend das JSON als Objekt convertiere und zurück gebe (Zeile 249 bis 253).
Anschließend in der callScript_finish-Funktion wird der JSON-String wieder decodiert (Zeile 263 bis 264).

Hoffe das bringt alle ein wenig weiter
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 30 Juni 2022, 12:38:02
Zitat von: Cinem am 30 Juni 2022, 12:30:30
ich hatte die selben Probleme, dass die Anlage nicht steuerbar war und habe mich die letzten Stunden ein wenig dahinter geklemmt und ein wenig herumgetestet.
Die grundsätzlichen Veränderungen sind, dass ich den Aufruf in ein Array stecke und anschließend das JSON als Objekt convertiere und zurück gebe (Zeile 249 bis 253).
Anschließend in der callScript_finish-Funktion wird der JSON-String wieder decodiert (Zeile 263 bis 264).

Hi Cinem,

im Prinzip hast Du es fast genauso gemacht, wie ich in meinem Modul ganz zu Beginn (vor der Veröffentlichung)
Aktuell verwendet das Modul die Funktion "encode_json/decode_json", wie es auch im Modulentwickler-WIKI steht.

Ich würde gerne verstehen, warum es bei einigen (wie auch bei mir) Funktioniert und bei einigen eben nicht. Ich hoffe ich komme am Wochenende dazu das mal nachzustellen.
Danke schonmal für Deinen Einsatz.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Cinem am 30 Juni 2022, 12:43:52
Zitat von: JudgeDredd am 30 Juni 2022, 12:38:02
Hi Cinem,

im Prinzip hast Du es fast genauso gemacht, wie ich in meinem Modul ganz zu Beginn (vor der Veröffentlichung)
Aktuell verwendet das Modul die Funktion "encode_json/decode_json", wie es auch im Modulentwickler-WIKI steht.

Ich würde gerne verstehen, warum es bei einigen (wie auch bei mir) Funktioniert und bei einigen eben nicht. Ich hoffe ich komme am Wochenende dazu das mal nachzustellen.
Danke schonmal für Deinen Einsatz.

Gruß,
JudgeDredd

Gute und berechtigte Frage,

in meiner Installation hat dein Modul leider auch nicht funktioniert. Beim Debuggen konnte ich es auf den Rückgabewert von Python-Script zurückführen, da die Konvertierung für die Übergabe nicht korrekt funktioniert hat.
Zitat
hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/53_mideaAC.pm line 249.
Die Lösung lag hierbei im "allow_nonref" sowie der Enkodierung als UTF8 (Zeile 251).


Falls es bei deiner Fehlersuche hilft: In meinem Fall läuft FHEM in einer Docker-Umgebung mit dem Network-Mode "host".
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 30 Juni 2022, 15:19:43
Zitat von: Cinem am 30 Juni 2022, 12:30:30
............

Hoffe das bringt alle ein wenig weiter

Ja!!!
damit funktioniert es bei mir.
Danke für's Forschen.
Ich bin zuversichtlich, dass das eigentliche Problem noch gefunden wird.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 30 Juni 2022, 18:08:17
Hallo,

Zitat von: Cinem am 30 Juni 2022, 12:30:30
Hoffe das bringt alle ein wenig weiter

ja, klasse! Damit funktioniert es bei mir auch! Danke euch allen!

Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 01 Juli 2022, 10:26:57
Hallo Zusammen,

ich habe nun die letzte Version in Post #12 (https://forum.fhem.de/index.php/topic,60548.msg1218572.html#msg1218572) aktualisiert.
Damit sollte es nun bei allen funktionieren.

Leider habe ich keinen Überblick mehr, wie groß denn nun das Intresse ist, das Modul offiziell ins SVN zu bringen.
Wenn dazu Jemand Vorschläge hat, immer gerne.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 01 Juli 2022, 11:40:50
 8) 8) 8)

damit läuft meine
DIMSTAL GoldenFin ECO Smart WLAN/WiFi 3,5kW 12000 BTU Inverter Klimaanlage einwandfrei.

Soll hier keine Werbung für DIMSTAL sein, aber damit wissen auch andere, dass diese Anlagen sich in fhem integrieren lassen.

Vielen, vielen Dank für das Modul.



Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 02 Juli 2022, 10:23:29
Guten Morgen,

Zitat von: JudgeDredd am 01 Juli 2022, 10:26:57
Hallo Zusammen,

ich habe nun die letzte Version in Post #12 (https://forum.fhem.de/index.php/topic,60548.msg1218572.html#msg1218572) aktualisiert.
Damit sollte es nun bei allen funktionieren.

Leider habe ich keinen Überblick mehr, wie groß denn nun das Intresse ist, das Modul offiziell ins SVN zu bringen.
Wenn dazu Jemand Vorschläge hat, immer gerne.

Gruß,
JudgeDredd

ich finde, das Modul sollte mit FHEM ausgeliefert werden. Ich kann natürlich nur von mir sprechen, aber ich habe wirklich lange nach einer Möglichkeit gesucht meine Dimstal-Anlage nativ in FHEM einzubinden. Dass mich das ganze noch von der Cloud und der schlechten App befreit ist ein echtes Plus. Ich weiß nicht, ob das möglich ist, aber wenn die Installation des Moduls noch einfacher wäre, also das Script und midea-discover sich da irgendwie mitinstallieren würden, wäre es sicher auch für User interessant, die NOCH weniger versiert sind als ich.

Viele Grüße,
Christian
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag 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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 03 Juli 2022, 12:41:01
Hallo Thorsten,
Zitat von: Thorsten.N am 03 Juli 2022, 11:10:54Was mache ich falsch?
Welche Python Version hast Du denn installiert ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 03 Juli 2022, 14:37:33
pi@raspberrypi:~ $ python --version
Python 2.7.13


Ist das also die Ursache?

Mit Python 3.9.5 ist der gleiche Fehler.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: chrisse111179 am 03 Juli 2022, 16:56:13
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

Berechtigung? Mal mit sudo versucht?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 03 Juli 2022, 17:19:04
Hey,

leider kommt bei sudo midea-discover auch der gleiche Fehler.
Was habt ihr denn anders gemacht?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 03 Juli 2022, 17:53:24
Wie hast Du denn das msmart installiert ?
pip Install msmart
oder
pip3 Install msmart
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 04 Juli 2022, 07:58:28
Hallo,

ich habe das mit pip3 install msmart installiert. Danach kommt auch Successfully installed certifi-2022.5.18 chardet-4.0.0 click-7.1.2 idna-2.10 ifaddr-0.2.0 msmart-0.2.3 pycryptodome-3.15.0 requests-2.25.1 urllib3-1.26.9


Mir scheint irgendein Paket zu fehlen, oder muss ich nach der Installation noch ein (paar) Scripte anpassen?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 04 Juli 2022, 08:52:56
Bei mir kam am Ende die Meldung, dass midea-discover sich nicht im PATH befindet.
Also kannst du entweder die PATH-Variable erweitern, oder midea-discover mit der komletten Pfadangabe aufrufen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 04 Juli 2022, 14:05:49
Hallo Thorsten,

also um erstmal auszuschließen, das Du midea-discover mit der falschen Python-Version aufrufst,
versuche es mal mit einem expliziten Python3 Aufruf.

python3 /usr/local/bin/midea-discover

und zeige nochmal den Output.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 04 Juli 2022, 19:01:41
Jippieeeeeh! Es funktioniert. Ist das cool :)

Vielen Dank für eure ganzen Bemühungen. Ich habe auf einem andere Raspberry msmart installiert. Da wurde mir dann sofort ein Gerät angezeigt.
Zurück auf das alte System mit fhem. Das Device angelegt. Und läuft auf anhieb. x_outdoor_temperature zeigt mir ein Wert von 102.5. Was ist das für ein Wert? Und vielleicht wären ein paar Dropdown Felder in fhem ganz cool :)

Vielleicht sollte man die Installation mal übersichtlicher gestalten. Ich denke das mehrere gern ihre Klimaanlage lokal über fhem steuern möchten. Ohne Cloud :)

Nochmals vielen Dank :)

Gruß Thorsten
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 06 Juli 2022, 14:04:41
Zitat von: Thorsten.N am 04 Juli 2022, 19:01:41
Jippieeeeeh! Es funktioniert. Ist das cool :)
Na dann viel Spass damit.
Zitat von: Thorsten.N am 04 Juli 2022, 19:01:41
x_outdoor_temperature zeigt mir ein Wert von 102.5. Was ist das für ein Wert?
In dem Reading sollte (wie der Name vermuten lässt) die Außentemperatur stehe.
102.5 °C scheint mir aber "etwas" hoch, sofern der Radiator nicht in der Sauna hängt.
Ich vermute mal, es sind 102.5 °F. Schau mal, ob Du das an der AC umstellen kannst.
Zitat von: Thorsten.N am 04 Juli 2022, 19:01:41
vielleicht wären ein paar Dropdown Felder in fhem ganz cool :)
Dropdownfelder hat das Modul doch einige  :)
Was stellst Du Dir denn vor, was diese beinhalten sollten ?
Zitat von: Thorsten.N am 04 Juli 2022, 19:01:41
Vielleicht sollte man die Installation mal übersichtlicher gestalten.
Was meinst Du mit übersichtlicher ?
Das Modul ist ja noch nicht offiziell im SVN, daher muss man es hier im Thread herunterladen.
Oder meinst Du die Installation von msmart aus dem GitHub ?
Da habe ich leider keinen Einfluss drauf, da diese ja nicht von mir stammt.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 16 Juli 2022, 21:34:12
Zitat von: JudgeDredd am 01 Juli 2022, 10:26:57
Hallo Zusammen,

ich habe nun die letzte Version in Post #12 (https://forum.fhem.de/index.php/topic,60548.msg1218572.html#msg1218572) aktualisiert.
Damit sollte es nun bei allen funktionieren.

Leider habe ich keinen Überblick mehr, wie groß denn nun das Intresse ist, das Modul offiziell ins SVN zu bringen.
Wenn dazu Jemand Vorschläge hat, immer gerne.

Gruß,
JudgeDredd

Ich nutze das Modul auch - schaltet bei mir die Klima in Abhängigkeit von Innen- und Außentemperatur sowie Überschuss von der PV-Anlage. Danke! Insofern fände ich es auch gut, wenn das Modul "offiziell" wird.

Grüße
Jan
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 25 Juli 2022, 21:22:04
Hallo,

habe seit gestern auch eine Dimstal am laufen und würde gerne das Modul installieren.
Gibt es einen kompakte Anleitung was ich genau alles tun muss ?
Eine "offizielle" Version wäre natürlich klasse  ;)

Ich kann nicht einmal msmart installieren.
Jeder dieser Aufrufe bringt : Kommando nicht gefunden
- git clone https://github.com/mac-zhou/midea-msmart.git
- pip3 install msmart
- pip install msmart

python --version --> zeigt 2.7.16
python3 -V --> zeigt 3.7.3

Verwende Linux Buster unter Raspy

Sorry bin "nicht" - linuxer
Gruss
Joe
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 25 Juli 2022, 22:34:02
Nachdem ich nun folgende Befehle eingegeben habe :

sudo apt update
sudo apt install python3-venv python3-pip
sudo -H pip3 install --upgrade pip

konnte ich
pip3 install msmart erfolgreich ausführen

Nun kann ich aber : midea-discover nicht ausführen

Gruss
Joe
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 26 Juli 2022, 08:57:31
Zitat von: cotecmania am 25 Juli 2022, 21:22:04Gibt es einen kompakte Anleitung was ich genau alles tun muss ?
Aktuell ergibt sich die Installation noch aus dem, was in diesem Thread geschrieben wurde.
Also msmart vom GitHub installieren (hast Du ja gemacht)
Das Python-Script aus Post#12 auf dem FHEM Rechner ablegen und für FHEM ausführbar machen
Das Modul aus Post#12 im FHEM Modulverzeichnis (i.d.R. /opt/fhem/FHEM) ablegen und für FHEM ausführbar machen
Zitat von: cotecmania am 25 Juli 2022, 22:34:02Nun kann ich aber : midea-discover nicht ausführen
Hier wären ein paar Infos erforderlich.
Was passiert denn beim Aufruf von "midea-discover" ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 26 Juli 2022, 10:13:09
Hi,

Script und Modul sind abgelegt. Was heisst : "Für fhem ausführbar machen ?"

midea-discover startet nun und liefert :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


Muss ich einen Account irgendwo anlegen ? Dachte das geht ohne ?
Bis jetzt habe ich nur den Stick gesteckt sonst nichts. Auch keine App installiert.

Gruss
Joe
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 26 Juli 2022, 11:56:07
Zitat von: cotecmania am 26 Juli 2022, 10:13:09
Muss ich einen Account irgendwo anlegen ? Dachte das geht ohne ?
Bis jetzt habe ich nur den Stick gesteckt sonst nichts. Auch keine App installiert.
Der Stick muss ja erstmal den Weg in Dein Netzwerk finden.
Ohne geht es natürlich nicht.
Soweit ich mich erinnere, muss das Klimagerät erst in den AccessPoint Modus gesetzt werden (7 x auf der Fernbedienung eine bestimmte Taste drücken (steht in der Anleitung) )
Dann mit einem Smartphone die App installieren und Deine Zugangsdaten eingeben.

Ist das erledigt, kann die App auch theoretisch wieder gelöscht werden

Nun startest Du das midea-discover um die Zugangsdaten für das Python Script zu bekommen (IP, ID, KEY, TOKEN)

Wenn sich die Klimaanlage nicht in der gleichen Layer2 Domain befindet (anderes Subnetz), dann noch mit dem Parameter -i die IP angeben.
(wenn Du gerade nicht weißt, wovon ich schreibe, dann vergiss es einfach und ignoriere den letzten Satz)

Was ich aber gerade gesehen habe, ist das mac-zhou wohl ein neues msmart update gemacht hat. Aktuell funktioniert das Modul mit Version 0.2.3
Die installiert man mit:

pip3 install --upgrade msmart==0.2.3
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 26 Juli 2022, 13:41:39
Was habe ich geschafft :
- version 0.2.3 installiert
- App installiert und nun kann ich die AC per handy steuern
- midea-discover zeigt mir die notwendigen Daten ip/key/token ... also V3
- Device angelegt in FHEM erfolgreich

Was geht nun nicht :
- State steht auf "? ? ?"
- wenn ich get status mache kommt der Fehler : attribut "processscript" missing

bin mit linux berechtigungen nicht firm ...

Was nun ?

Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 26 Juli 2022, 16:39:28
Zitat von: cotecmania am 26 Juli 2022, 13:41:39
- wenn ich get status mache kommt der Fehler : attribut "processscript" missing
in Post #12 findest Du ja sowohl mein Modul als auch das Steuerungsscript (setAC.py)
Das Script kopierst Du auf Deinen FHEM Rechner und sagtst dann im Attribut "processscript"
wo FHEM es findet (/pfad/zum/script/setAC.py)
Wichtig ist dabei noch, das der Benutzer, unter dem FHEM läuft, das Script auch ausführen darf.
Im Zweifel und zum testen, kannst Du dem Script auch die Berchtigung 777 geben.
chmod 777 /pfad/zum/script/setAC.py
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 31 Juli 2022, 16:20:01
Ich bin nach wie vor begeistert von dem Modul.

Aber ich habe das Problem mit stateFormat. Die Daten werden angezeigt, so bald von der Klimaanlage Werte kommen, aber wenn ich die Seite aktualisiere, steht da immer nur On oder Off.

Was mache ich falsch? Oder wird das State Format immer wieder zurück gesetzt von der Klimaanlage?

Gruß
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 31 Juli 2022, 19:17:15
Zitat von: Thorsten.N am 31 Juli 2022, 16:20:01
Aber ich habe das Problem mit stateFormat. Die Daten werden angezeigt, so bald von der Klimaanlage Werte kommen, aber wenn ich die Seite aktualisiere, steht da immer nur On oder Off.
Also aktiv wäre mir nicht bewusst, das das Modul etwas überschreibt, aber da ich selbst stateformat nicht verwende, habe ich da auch keinen größeren Augenmerk drauf gelegt.
Ich kann es mir aber gerne die Tage mal anschauen und gebe Dir dann bescheid.

Gruß,
JudgeDredd
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 31 Juli 2022, 22:02:26
Das wäre cool, aber nicht so eilig. Also keinen Stress!  :)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 01 August 2022, 09:54:24
Ich habe nun folgendes gemacht :

chmod 777 /opt/midea-msmart/setAC.py
und das Attribiut processScript auch so angelegt.
Danach ging der Status auf Ready bzw. 0

Es regt sich aber nichts an der Klimaanlage

2022.08.01 09:50:33 2: Klima_SZ Select: get Klima_SZ Status
2022.08.01 09:50:33 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 09:50:33 5: Klima_SZ BlockingCall newPID (7438))
2022.08.01 09:50:33 4: Klima_SZ Aufruf setAC: /opt/midea-msmart/setAC.py state -H net_ac_EFB5 -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 09:50:34 4: Klima_SZ Result setAC:
2022.08.01 09:50:34 5: Klima_SZ Delete BlockingCall PID(7438)
2022.08.01 09:50:43 2: Klima_SZ Select: get Klima_SZ Status
2022.08.01 09:50:43 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 09:50:43 5: Klima_SZ BlockingCall newPID (7441))
2022.08.01 09:50:44 4: Klima_SZ Aufruf setAC: /opt/midea-msmart/setAC.py state -H net_ac_EFB5 -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 09:50:44 4: Klima_SZ Result setAC:
2022.08.01 09:50:44 5: Klima_SZ Delete BlockingCall PID(7441)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 01 August 2022, 11:00:37
Hallo cotecmania

such mal wo dein python gelandet ist.
dann im setAC.py die erste Zeile entsprechend abändern.

War bei mir das gleiche Problem
Nach ändern im Script auf
#!/opt/fhem/Python-3.9.5/python
hat's dann funktioniert.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag 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)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 01 August 2022, 12:37:33
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 01 August 2022, 12:39:49
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 ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 01 August 2022, 13:31:37
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)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 01 August 2022, 13:36:47
@cotecmania:

zeig doch mal bitte Deine installierten Python Module
pip3 list
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 01 August 2022, 13:58:04
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 01 August 2022, 14:14:15
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 01 August 2022, 14:23:51
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 ...
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 01 August 2022, 14:32:16
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Thorsten.N am 01 August 2022, 16:22:31
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 ;)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Punisher am 02 August 2022, 11:07:50
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Punisher am 02 August 2022, 11:31:03
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 02 August 2022, 11:46:43
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
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 02 August 2022, 12:17:10
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Punisher am 02 August 2022, 12:48:06
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 02 August 2022, 13:01:45
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.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Punisher am 02 August 2022, 13:20:07
Zitat von: JudgeDredd am 02 August 2022, 13:01:45
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.

Nein mit der Smartlife App, ich hatte darauf gehofft das die Geräte sich im Netzwerk mehr oder weniger gleich verhalten. Dem ist nicht so.
Auch eine spezifische Suche mit der IP war nicht erfolgreich. Ich probiere erstmal auf den ESP bzw die Klima zuzugreifen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 02 August 2022, 14:23:17
Zitat von: JudgeDredd am 02 August 2022, 12:17:10
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.

Danke für deinen Support

Habe ich alles so gemacht :
Zitat2022.08.02 14:15:20 2: Klima_SZ Select: get Klima_SZ Status
2022.08.02 14:15:20 3: Klima_SZ Parameter BlockingCall: Klima_SZ|/opt/scripts/setAC.py|state -H 192.168.1.203 -I 144036023278226 -K B2FB331F479A4C9FA453B129261F17B8F8C93FB21A5344D9BCE9618298AE1B4C -T 9D85A91439641E375F691F56BC4228FA62B861B749AD55015D63674B334FBBE846FFFEE98898E746FF0B2ACA2D2EB93FEC3DAFFB503481142D80D8D5683FED07
2022.08.02 14:15:20 5: Klima_SZ BlockingCall newPID (12034))
2022.08.02 14:15:20 4: Klima_SZ Aufruf setAC: /opt/scripts/setAC.py state -H 192.168.1.203 -I 144036023278226 -K B2FB331F479A4C9FA453B129261F17B8F8C93FB21A5344D9BCE9618298AE1B4C -T 9D85A91439641E375F691F56BC4228FA62B861B749AD55015D63674B334FBBE846FFFEE98898E746FF0B2ACA2D2EB93FEC3DAFFB503481142D80D8D5683FED07
Traceback (most recent call last):
  File "/opt/scripts/setAC.py", line 6, in <module>
    from msmart.device import air_conditioning as ac
ModuleNotFoundError: No module named 'msmart'
2022.08.02 14:15:20 4: Klima_SZ Result setAC:
2022.08.02 14:15:20 5: Klima_SZ Delete BlockingCall PID(12034)

Parallel habe ich in Github einen issue bei mac_zhou aufgemacht ...
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 02 August 2022, 19:24:00
Also der Fehler:
Zitat von: cotecmania am 02 August 2022, 14:23:17ModuleNotFoundError: No module named 'msmart'
sagt ja deutlich aus, das Python Programm msmart nicht gefunden wird.

Da Du ja sagst, das es installiert ist, kann das nur 2 Ursachen haben:
Um Fall 2 mal zu überprüfen mache mal folgendes:
schau im Script in der ersten Zeile welches pyton Du verwendest.
Dann startest Du Python direkt auf der Shell.
z.B.
/opt/fhem/Python-3.9.5/python
oder
/usr/bin/env python3
(das sollte bevorzugt werden und ich habe es auch schon in meinem aktuellen Script angepasst)

dann:
>>> import sys
>>> sys.path
>>> exit()

Jetzt werden alle Verzeichnisse angezeigt in denen msmart gesucht wird
Du musst nun schauen, ob msmart tatsächlich in irgeneinem dieser Verzeichnisse existiert.
Desweiteren ist es wichtig, das im Verzeichnis
/opt/scripts
nur die setAC.py liegt und keinerlei Dateien oder Unterverzeichnisse die msmart oder ähnlich heißen.

Wenn das gecheckt ist, dann schreibe bitte mal die Ausgabe von sys.path und wo msmart installiert ist
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 09 August 2022, 08:30:38
Hallo JudgeDredd,

auf Github tut sich leider nichts.
Kannst Du Post 121 nochmals anschauen.
Nachdem das Script im Verzeichnis scripts liegt kommt ja nun ein anderer Fehler ...

Gruss
Joe
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 09 August 2022, 15:17:16
Zitat von: cotecmania am 09 August 2022, 08:30:38
Kannst Du Post 121 nochmals anschauen.
Nachdem das Script im Verzeichnis scripts liegt kommt ja nun ein anderer Fehler ..
Hallo Joe,
meine Antwort #122 bezog sich doch schon auf Deinen Post #121
Hast Du das Mal geprüft, bzw. Was ist dabei rausgekommen ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 12 August 2022, 13:14:58
Hier die Ausgabe
pi@RASPYPI3:~ $ /usr/bin/env python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/pi/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages']
>>> exit()
pi@RASPYPI3:~ $


pi@RASPYPI3:/opt/midea-msmart $ dir
0xAC.zip  example.py  LICENSE  msmart  README.md  requirements.txt  setup.py


pi@RASPYPI3:/opt/scripts $ dir
setAC.py



Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 12 August 2022, 13:46:43
Hi Joe,

wie ich schon sagte, das Paket msmart liegt nicht innerhalb des syspath von Python.
Eine Frage wäre, wie kommt das Paket denn nach /opt/midea-msmart ?
Wenn man es mit pip3 installiert hätte es eigentlich in /home/pi/.local/lib/python3.7/site-packages landen müssen.
Das hast Du aber offensichtlich nicht gemacht  ???

Du kannst es ja mal ins script Verzeichnis verschieben.
mv /opt/midea-msmart /opt/scripts
verschieben. Das ist dann zwar eher die quick-and-dirty Lösung, aber es sollte funktionieren.

Gruß,
JudgeDredd

EDIT:
Unter Linux schaut man die Verzeichnisse eigentlich mit
ls -al
an. Gut, Dir scheint auch zu funktionieren, kommt aber eher aus der Windows-Welt.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: SuMiHe am 29 August 2022, 17:00:58
Zitat von: Punisher am 02 August 2022, 13:20:07
Nein mit der Smartlife App, ich hatte darauf gehofft das die Geräte sich im Netzwerk mehr oder weniger gleich verhalten. Dem ist nicht so.
Auch eine spezifische Suche mit der IP war nicht erfolgreich. Ich probiere erstmal auf den ESP bzw die Klima zuzugreifen.

Hi Punisher,

bist Du denn für Dein Gerät weiter gekommen ? 
Ich habe 2x Splitanlage von "Kältebringer" ist glaube technisch das Gleiche und hat auch die gleichen WLAN-Dongles drin (Artikelnummer etc. auch identisch).
Hat jemand diese Teile schon unter fhem zum laufen gebracht ??? Bei mir blieben bis jetzt leider alle Versuche erfolglos.
zB bekommen die Geräte auch in der "SmartLife - App" eine Geräte ID, die ist aber HEX und läst sich beim fhem-Modul nicht eingeben.

Gruß Mirko
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: lynckmeister am 02 Oktober 2022, 15:07:39
Also erstmal ein riesen Dankeschön an den JudgeDredd, der das Modul hier für uns gebastelt hat.... Ich habe es heute auf Anhieb mit meiner Diloc 4 fach Splitt zum laufen gebracht , phantastisch !
Nebenbei : Diese 4 Fach Split bekommt man in Italien für schlappe 1500 € nachgeworfen... Ich nutze sie jetzt als Heizung und da ist das natürlich mega, wenn ich sie auf meinen PV Strom abstimmen kann ... Das geht jetzt ;)

Das letzte Problem hier im Thread ist bei mir übrigens auch aufgetreten :


File "/opt/scripts/setAC.py", line 6, in <module>
    from msmart.device import air_conditioning as ac
ModuleNotFoundError: No module named 'msmart'

Ich kenne mich mit Python auch nicht so gut aus, aber das liegt daran, dass PIP das Modul nur für root installiert hat. Sobald man den Shell Call als user fhem ausführt erlebt man in der bash das gleiche, das Modul wird nicht gefunden...
ich habe es pragmatisch gelöst : einfach mit su -i nach root wechseln, dann von da mit sudo fhem als User Fhem wechseln  und einfach nochmal pip3 install msmart laufen lassen ;)

Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: lynckmeister am 08 Oktober 2022, 14:44:33
Wie ist denn eigentlich die Syntax in FHEM , um die Innenteile anzusprechen? Ich steh hier auf dem Schlauch :

set AC_KZI Heat temp:22,swing:on,fan:Auto

geht nicht ;)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 08 Oktober 2022, 15:08:42
Zitat von: lynckmeister am 08 Oktober 2022, 14:44:33
Wie ist denn eigentlich die Syntax in FHEM , um die Innenteile anzusprechen? Ich steh hier auf dem Schlauch :

set AC_KZI Heat temp:22,swing:on,fan:Auto

geht nicht ;)

Deine Syntax ist im Prinzip so korrekt, allerdings unterstützt Swing nicht den Modus "on" sondern nur "Off,Vertical,Horizontal,Both".

set AC_KZI Heat temp:22,swing:vertical,fan:auto
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: lynckmeister am 10 November 2022, 21:35:50
Zitat von: JudgeDredd am 08 Oktober 2022, 15:08:42
Deine Syntax ist im Prinzip so korrekt, allerdings unterstützt Swing nicht den Modus "on" sondern nur "Off,Vertical,Horizontal,Both".

set AC_KZI Heat temp:22,swing:vertical,fan:auto

danke , funktioniert so... 
was meldet denn das Modul WANN für einen Status ? Zunächst sind die Dinger in Ready, wenn ich sie einschalte "on" und wenn ich sie ausschalte "off" ... irgendwann scheinen sie aber wieder in "ready" zu wechseln, gibt es hier irgendeine Regel?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 12 November 2022, 12:19:06
Zitat von: lynckmeister am 10 November 2022, 21:35:50
danke , funktioniert so... 
was meldet denn das Modul WANN für einen Status ? Zunächst sind die Dinger in Ready, wenn ich sie einschalte "on" und wenn ich sie ausschalte "off" ... irgendwann scheinen sie aber wieder in "ready" zu wechseln, gibt es hier irgendeine Regel?
Das Modul hat im "state" entweder "Off" oder "On". Je nachdem ob die Klimaanlage im Betrieb ist.

"Ready" steht im "state" nur unmittelbar nach dem setzen des Attributs "processScript", da das Modul dann noch nicht weiß, in welchem Status sich Klimaanlage befindet.
Nach einem ersten ausführen von "get <device> status" gilt dann "On" oder "Off"
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: lynckmeister am 09 Dezember 2022, 15:44:05
Zitat von: JudgeDredd am 12 November 2022, 12:19:06
Das Modul hat im "state" entweder "Off" oder "On". Je nachdem ob die Klimaanlage im Betrieb ist.

Passt danke dafür ...
wie kann ich denn das beep abschalten ? Muss ich jedesmal mit setreading das beep auf false setzen , oder gibt es da einen eleganteren weg?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 09 Dezember 2022, 19:50:37
Zitat von: lynckmeister am 09 Dezember 2022, 15:44:05
Passt danke dafür ...
wie kann ich denn das beep abschalten ? Muss ich jedesmal mit setreading das beep auf false setzen , oder gibt es da einen eleganteren weg?
Ich habe keine Ahnung, wie Du mit Ssetreading das beep ausschaltest, aber der eingebaute Weg wäre,
einfach das Atrribut zu setzen.
attr <device> Signal Off
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: lynckmeister am 13 Dezember 2022, 08:41:34
ja war quatsch.. irgendwie hab ich das Signal übersehen, sorry und danke für die Hilfe...

Noch ein Punkt: Wenn die Geräte einen Fehler melden (leider tun meine das selten mal und müssen dann neu gestartet werden ), werden solche Fehlermeldungen in das Modul übertragen ? Kann man überhaupt den Status empfangen ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 13 Dezember 2022, 09:13:47
Zitat von: lynckmeister am 13 Dezember 2022, 08:41:34
Noch ein Punkt: Wenn die Geräte einen Fehler melden (leider tun meine das selten mal und müssen dann neu gestartet werden ), werden solche Fehlermeldungen in das Modul übertragen ? Kann man überhaupt den Status empfangen ?
Werden die Fehler auch in der mobilen App angezeigt ?
Da ich nicht weiß, welche Geräte was für Fehler melden, kann ich im Modul auch kein entsprechendes ErrorHandling einbauen. Wenn aber das Python-Modul von mac-zhou einen Fehler zurückliefern sollte, dann steht dieser in der Log-Datei.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 13 Dezember 2022, 09:35:37
Hallo JudgeDredd;

Habe mitlerweile 2 Anlagen mit dem Modul im Betrieb.
Funktioniert super!

Wunsch wäre: auch die Frostschutzfuntion der Anlagen damit schalten zu können.

LG
p99p
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 14 Dezember 2022, 10:48:14
Zitat von: pink99panther am 13 Dezember 2022, 09:35:37
Wunsch wäre: auch die Frostschutzfuntion der Anlagen damit schalten zu können.
Das FHEM-Modul verarbeitet lediglich die Ein- / Ausgabe des Phyton-Moduls von mac-zhou (https://github.com/mac-zhou/midea-msmart)

Neue Funktionen müssen dort implementiert werden. Danach kann ich das Modul entsprechend anpassen um die Funktionalität auch in FHEM bereitzustellen.
Der erste Schritt ist also ein leider Feature-Request auf der GitHub Seite.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: pink99panther am 14 Dezember 2022, 15:27:31
Hab mal gestöbert im Git bei mac-zhou
und folgendes gefunden:
Implement freeze/frost protection support (https://github.com/mac-zhou/midea-msmart/pull/99)

Sieht aus, als wäre das schon in der Pipeline soweit ich das mit meinen geringen
Git- und Englischkenntnissen da rauslesen kann.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 12 Januar 2023, 11:42:50
Hallo,

erst mal vielen Dank für die Arbeit.

Ich habe seit gestern auch meine DIMSTAL- Klimaanlage per FHEM eingebunden.

Hab dabei aber noch ein paar Probleme:
- Egal welche Temperatur ich einstelle, am Gerät kommt immer der Sollwert von 20 Grad an
- Swing funktioniert ebenfalls nicht, egal was ich probiere

Folgende Einträge finde ich im Logfile:
Device is not capable of operational mode 1.
Device is not capable of swing mode 0.

Hat hier jemand eine Idee, woran es liegen kann?

Beste Grüße
Markus
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 12 Januar 2023, 12:02:15
Zitat von: wick1 am 12 Januar 2023, 11:42:50
Ich habe seit gestern auch meine DIMSTAL- Klimaanlage per FHEM eingebunden.

Hab dabei aber noch ein paar Probleme:
...
Hat hier jemand eine Idee, woran es liegen kann?
Hallo Markus,
zuerst solltest Du mal prüfen, ob das Python-Script von mac-zhou die AC auch unterstützt.

Gibt denn der Befehl:
midea-discover -i <ip-adresse>

ein 'type': 'ac'
'support': True
'run_test': True
zurück ?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 12 Januar 2023, 12:18:25
Danke für die Antwort,

ja, das schaut gut aus:

'type': 'ac', 'sn': '000P0000000Q1A0681C153FCB0000', 'model': '00Q1A', 'support': True, 'run_test': True}

Gruß
Markus
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 12 Januar 2023, 12:45:56
... hab gerade anhand des example.py Script die Temperatur gesetzt, das hat soweit funktioniert
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 12 Januar 2023, 12:56:15
Zitat von: wick1 am 12 Januar 2023, 12:45:56
... hab gerade anhand des example.py Script die Temperatur gesetzt, das hat soweit funktioniert
Device is not capable of operational mode 1.
Device is not capable of swing mode 0.

Das heißt ja eigentlich nix anderes, als das Dein Gerät diese Modi nicht unterstützt.

Wenn ich bei mir nicht unterstützte Einstellung sende, bekomme ich die gleiche Meldungen, allerdings werden die anderen unterstützten Einstellungen dennoch übernommen (z.B. Temperatur)

Weißt Du denn, welche Eigenschaften Deine Klimaanlage unterstützt ?

Ich müsste das Verhalten bei übergabe nicht unterstützten Parametern nachstellen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 12 Januar 2023, 13:46:39
welche Modi es unterstützt, weiß ich nicht. Eigentlich sollte alles, bis auf den horizontalen Swing möglich sein.

Was mir noch aufgefallen ist, auch wenn ich nur "FAN " aktiviere, heizt sie, und der Sollwert geht auf 20 Grad.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 12 Januar 2023, 18:48:49
hab nun neue Erkenntnisse:

- Ansteuerung über das Beispielskript example.py funktioniert
- sobald ich das Gerät per Fernbedienung einschalte, wird mir in FHEM auch das richtige angezeigt:

beep   false   2023-01-12 18:30:50
fan   Auto   2023-01-12 18:30:50
id   145135534971387   2023-01-12 18:30:50
intense   normal   2023-01-12 18:30:50
mode   auto   2023-01-12 18:30:50
name   192.168.178.112   2023-01-12 18:30:50
power   On   2023-01-12 18:30:50
state   On   2023-01-12 18:30:51
swing   Vertical   2023-01-12 18:30:50
temperature   24.0   2023-01-12 18:30:50
x_indoor_temperature   17.5   2023-01-12 18:30:50
x_outdoor_temperature   7.0   2023-01-12 18:30:50

Es scheint so, als ob die Daten zwischen dem Fhem-Modul und dem Python-Script nicht richtig übertragen werden, warum kann ich mir beim besten Willen nicht vorstellen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 13 Januar 2023, 20:31:25
... nachdem ich mich heute nochmals etwas damit auseinandergesetzt habe, habe ich festgestellt, dass bei jeglicher Ansteuerung immer die Standardwerte aus dem Script (setAC.py) an die Anlage übertragen werden. Nur der Off-Befehl funktioniert einwandfrei.
Sobald ich im Script die Standardwerte ändere, werden auch diese übertragen.
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: wick1 am 23 Januar 2023, 21:36:17
... keiner mehr eine Idee, woran es bei mir liegen kann?
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: lynckmeister am 24 Januar 2023, 12:43:21
Achja, ich hätt dann auch nochmal ne Frage ;) Die Klimageräte stellen sich (bei Swing=off) immer auf irgendeinen Winkel ein mit dem sie pusten. Es scheint mir nicht immer der gleiche zu sein. Bzw wenn ich mit der FB mit der Taste "Direct" einen anderen einstelle, wird der sich nicht gemerkt und das Innengerät pustet beim nächsten mal wieder anders. Gibt es irgendeine Möglichkeit den WInkel zu bestimmen ?  Meine Frau beschwert sich , weil das Ding ihr immer ins Gesicht pustet ;)
Titel: Antw:Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 22 Februar 2023, 22:45:43
Zitat von: wick1 am 23 Januar 2023, 21:36:17
... keiner mehr eine Idee, woran es bei mir liegen kann?
Eine Idee habe ich leider nicht, kann das Verhalten aber bestätigen.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Johannes B. am 09 Juli 2023, 15:25:12
Hallo,
ich bekomme jedes mal wenn ich die Klima schalten oder den Status abfragen möchte diese Fehlermeldung:

Traceback (most recent call last):
  File "/opt/midea-msmart/setAC.py", line 6, 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'

Ich hoffe irgendjemand kann mir da weiterhelfen.

Johannes B.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 10 Juli 2023, 08:46:40
Zitat von: Johannes B. am 09 Juli 2023, 15:25:12Ich hoffe irgendjemand kann mir da weiterhelfen.
Ich denke mal, da fehlt Dir ein python-modul.

Ist denn die Sowftware von mac-zhou richtig installiert ?
Was bekommst Du mit
pip3 show msmart
Bekommst Du eine Rückmeldung von der AC wenn Du das Script ausführst ?
<IP>, <ID> noch anpassen
und bei Protokoll V3:
<YOUR_AC_K1>, <YOUR_AC_TOKEN> auch noch anpassen und auskommentieren.

#!/usr/bin/env python3
#Version 1.2 -- for msmart 0.2.5

from msmart.device import air_conditioning as ac
from msmart.device.base import device
import logging
import time
logging.basicConfig(level=logging.DEBUG)

# first take device's ip and id, port is generally 6444
device = ac('<IP>', int('<ID>'), 6444)
# If the device is using protocol 3 (aka 8370)
# you must authenticate with device's k1 and token.

#device.authenticate('<YOUR_AC_K1>', '<YOUR_AC_TOKEN>')

device.get_capabilities()
device.refresh()
print({
    'id': device.id,
    'name': device.ip,
    'power_state': device.power_state,
    'prompt_tone': device.prompt_tone,
    'target_temperature': device.target_temperature,
    'operational_mode': device.operational_mode,
    'fan_speed': device.fan_speed,
    'swing_mode': device.swing_mode,
    'eco_mode': device.eco_mode,
    'turbo_mode': device.turbo_mode,
    'fahrenheit': device.fahrenheit,
    'indoor_temperature': device.indoor_temperature,
    'outdoor_temperature': device.outdoor_temperature
})
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 24 Juli 2023, 20:28:48
Zitat von: Johannes B. am 24 Juli 2023, 20:16:41Requires: click, ifaddr, pycryptodome, requests
und die benötigten Module sind auch alle installiert ?

pip3 show click ifaddr pycryptodome requests
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Johannes B. am 24 Juli 2023, 20:41:56
Die vorherige Fehlermeldung konnte ich schonmal beheben. Allerdings habe ich jetzt eine neue im LogFile drin stehen.
2023.07.24 20:36:47 3: Klimaanlage_Flur Parameter BlockingCall: Klimaanlage_Flur|/opt/midea-msmart/setAC.py|state -H 192.168.3.49 -I 15********* -K bab3*********** -T 7A5*******************************************
Traceback (most recent call last):
  File "/opt/midea-msmart/setAC.py", line 112, in <module>
    print( main() )
  File "/opt/midea-msmart/setAC.py", line 49, in main
    device.authenticate( args.key[0], args.token[0] )
  File "/opt/midea-msmart/msmart/device/base.py", line 40, in authenticate
    return self._authenticate()
  File "/opt/midea-msmart/msmart/device/base.py", line 44, in _authenticate
    return self._lan_service.authenticate(self._token, self._key)
  File "/opt/midea-msmart/msmart/lan.py", line 113, in authenticate
    tcp_key, success = self.security.tcp_key(response, self._key)
  File "/opt/midea-msmart/msmart/security.py", line 112, in tcp_key
    self._tcp_key = strxor(plain, key)
TypeError: argument 2 must be bytes, not bytearray
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 24 Juli 2023, 21:10:00
Was passiert denn, wenn Du das Script direkt auf der Konsole aufrufst (natürlich mit vollständigem ID/KEY/TOKEN)?
/opt/midea-msmart/setAC.py state -H 192.168.3.49 -I 15********* -K bab3*********** -T 7A5*******************************************
Was mir allerdings noch auffällt:
Haben ID / KEY / TOKEN exakt die länge die du inkl. "*" angegeben hast ?
Aktuell habe ich leider keinen V3-Stick zur verügung, aber ich meine das vorallem KEY und TOKEN wesentlich länger waren als bei Dir.
Hast Du die mit "midea-discover" ermittelt ?
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Johannes B. am 24 Juli 2023, 21:19:25
Fehler gefunden !
Aus irgendeinem Grund wollte er Crypt nicht haben, aber mit pycryptodome funktionierts.
Die Anzahl der Sternchen habe ich beliebig gewählt.

Danke für deine Mühe und schönen Abend noch.

Johannes B.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Wastegate am 25 Juli 2023, 18:25:33
Zitat von: Johannes B. am 24 Juli 2023, 21:19:25Fehler gefunden !
Aus irgendeinem Grund wollte er Crypt nicht haben, aber mit pycryptodome funktionierts.
Die Anzahl der Sternchen habe ich beliebig gewählt.

Danke für deine Mühe und schönen Abend noch.

Johannes B.

Perfekt, danke für die Lösung
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: cotecmania am 31 August 2023, 11:38:02
Hallo,

habe seit kurzem in meinem Log immer folgende Fehlermeldung von meiner Klimaanlage :

Sokcet is None: 192.168.1.203:6444
unexpected data length
Authentication failed for None -> 192.168.1.203:6444 retries: 0 time: 2.0

Jemand 'ne idee ?

Gruss
Joe
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: rabbit83 am 31 August 2023, 11:43:46
Das gleiche Problem habe ich auch. Liegt wohl an midea-msmart: https://github.com/mac-zhou/midea-msmart/issues/108 (https://github.com/mac-zhou/midea-msmart/issues/108)
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 31 August 2023, 13:05:11
Da ich die Klimaanlage aufgrund der zur Zeit gemäßigten Temperaturen nicht nutze, habe ich mal eben bei mir getestet. Da funktioniert allerdings die Steuerung noch so wie immer.

Habt ihr irgendwas geupdated ? (z.B. Debian bookworm, Python, Firewall, etc ...)

Was zeigen denn die Debugausgaben ?
#!/usr/bin/env python3

from msmart.device import air_conditioning as ac
from msmart.device.base import device
import logging
import time
logging.basicConfig(level=logging.DEBUG)

#für V2 & V3:
device = ac('YOUR_AC_IP', int('YOUR_AC_ID'), 6444)

#für V3:
#device.authenticate('YOUR_AC_K1', 'YOUR_AC_TOKEN')

device.get_capabilities()
device.refresh()
print({
    'id': device.id,
    'name': device.ip,
    'power_state': device.power_state,
    'prompt_tone': device.prompt_tone,
    'target_temperature': device.target_temperature,
    'operational_mode': device.operational_mode,
    'fan_speed': device.fan_speed,
    'swing_mode': device.swing_mode,
    'eco_mode': device.eco_mode,
    'turbo_mode': device.turbo_mode,
    'fahrenheit': device.fahrenheit,
    'indoor_temperature': device.indoor_temperature,
    'outdoor_temperature': device.outdoor_temperature
})

Wenn es tatsächlich Änderungen bei Midea-msmart gab, dann werden wir wohl warten müssen, bis der Author des Pythonscripts sich der Probleme annimmt.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: normen am 27 Dezember 2023, 18:33:11
Hey,

da ich einige Probleme mit dem msmart Projekt hatte bin ich im Netz ein wenig auf die Suche gegangen und habe das hier gefunden: https://github.com/ashevchuk/midea-ac

Eine komplett in Perl implementierte Lösung um mit Midea Geräten zu kommunizieren. Vielleicht passt die besser in FHEM? Der Autor lebt allerdings in der Ukraine und hat seit 2020 nichts mehr gepostet  :-\

Ich habe momentan meine Midea Entfeuchter direkt über HomeBridge eingebunden, da gibt es ein neues homebridge-midea-platform plugin (nutze FHEM als "Backend" für HB). Trotzdem fand ich diese Lösung auch sehr interessant, vielleicht Hilft der Link ja irgendwem irgendwann, dache ich melde das mal.

Vielen Dank an alle für all die Infos, Plugins etc!
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 28 Dezember 2023, 10:35:59
Hallo Normen,
Zitat von: normen am 27 Dezember 2023, 18:33:11da ich einige Probleme mit dem msmart Projekt hatte
Welche auch immer das waren, bei mir läuft es mit dem python-script schon recht zuverlässig.
Zitat von: normen am 27 Dezember 2023, 18:33:11Eine komplett in Perl implementierte Lösung um mit Midea Geräten zu kommunizieren.
Die Perl-Version hätte natürlich schon den Vorteil, das man es nativ aus FHEM steuern könnte.
Zitat von: normen am 27 Dezember 2023, 18:33:11Der Autor ... hat seit 2020 nichts mehr gepostet
Naja, die letzte Anpassung vom Python-Kollege (mac-zhou) ist ja auch schon > 1 Jahr

Ich habe das bei mir mal auf die schnelle getestet. Hat zwar funktioniert, aber der Reply vom Gerät dauert relativ lange.
Zitat von: normen am 27 Dezember 2023, 18:33:11vielleicht Hilft der Link ja irgendwem irgendwann, dache ich melde das mal
Dafür schonmal vielen Dank. Mal schauen, ob ich das (oder Jemand Anderes) mal umsetze.

Bei Midea gibt es ja (stand heute) mit V2 und V3, zwei Protokollversionen. Ob es mit der V3 auch funktioniert, müsste mal Jemand mit entsprechendem WiFi-Stick versuchen.

Gruß,
JudgeDredd
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: Wastegate am 30 Dezember 2023, 17:34:21
Guten Abend,

ich habe seit Juni eine Dimstal AC mit dem Midea Modul laufen. Der Stick hat schon die V3.
Auch da dauert das Reply vom Gerät relativ lange, funktioniert aber sehr gut.

Vielen Dank für das Modul und deine Arbeit.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: joklemm am 24 März 2024, 19:08:20
Hallo,

ich bin Anfänger und habe versucht, das zum Laufen zu bringen. Nachdem ich jetzt alles was ich so gefunden habe aktualisiert habe, komme ich momentan hier nicht weiter: 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

Ich habe ein neues Gerät - ich hoffe mal dass das nicht eine neue Version ist, die jetzt nicht mehr unterstützt wird?
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 24 März 2024, 22:24:02
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
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: B10S am 09 April 2024, 13:38:39
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.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: B10S am 09 April 2024, 15:19:06
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.
Titel: Aw: Midea Comfee Klimaanlage über Fhem ?!
Beitrag von: JudgeDredd am 12 April 2024, 08:48:02
Hallo B10S,
Zitat von: B10S am 09 April 2024, 13:38:39Mit der msmart Bibliothek von https://github.com/mac-zhou/midea-msmart (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 (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 (https://github.com/ashevchuk/midea-ac) 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