nachdem ich mir eine MIDEA-Klimaanlage gegönnt habe, musste diese natürlich auch ins IPS Falls jemand überlegt welchen Hersteller … hilft vielleicht meine Lösung etwas :rolleyes:
Aktuell werden die Klimaanlagen mit einem WLAN-Stick (SMART Kit für Mission Serie) ausgeliefert. Original kann man darüber mit der Handy-App die Geräte steuern.
Dank der tollen Arbeit von mac-zhou (midea-msmart) kann aber auch auf die Geräte über das lokale LAN/WLAN zugegriffen werden (ohne Cloud!)
(Anleitung lesen auf der [Webseite](http://github.com/mac-zhou/midea-msmart.git))
[li]in Konsole danach: pip3 install msmart[/li][li]In das Unterverzeichnis midea-msmart wechseln und dahin die Datei [i]symcon.py[/i] aus Anhang speichern (und umbenennen [i]symcon.py.txt [/i][i]symcon.py (ins Forum kein Upload von .php und .py möglich [/i]:banghead:)[/li][li]In IPS z.B. ein Dummy-Modul anlegen und darunter die benötigten Variablen (siehe Snapshot ips-1.jpg) und ein Script mit dem Inhalt aus (Anhang: [i]SendenUndEmpfangen.ips.php.txt[/i]) anlegen[/li][/LIST]
[b]Betrieb[/b]Dieses Script über einen Timer (z.B. 5 Minuten) zyklisch aufrufen – es werden dann die Werte geholt. Wird das Script anders aufgerufen (z.B. Execute, Webfront..) werden auch die Werte aus IPS als Befehle gesandt.
Schönen -kühlen ;) - Sonntag noch
Ciao
HerbertF


[SendenUndEmpfangen.ips.php.txt|attachment](upload://AsWkAakoqSWdn7O6hUnWNmZkZbW.txt) (10.9 KB)
[symcon.py.txt|attachment](upload://hctQiyN2XXp6sxLxrwYCwg2EAit.txt) (8.61 KB)
*Überarbeitung Oktober 2024 wegen nicht mehr aktuellem Download MSMART:
Neuer Download: midea-msmart.zip (185,8 KB)
Dieser Ordner funktioniert auch auf einem Raspberry - nicht nur auf Windows; somit in der unten angefügten Install-Anleitung die Schritte 2 und 3 überspringen und stattdessen den gepackten Ordner nach z.B. /midea entpacken;
danach (für Raspberry) in den Unterordner /midea-msmart wechseln und:
sudo python setup.py build
und
sudo python setup.py install
und mit Schritt 4 fortfahren
Hallo IPSler,
nachdem ich mir eine MIDEA-Klimaanlage gegönnt habe, musste diese natürlich auch ins IPS Falls jemand überlegt welchen Hersteller … hilft vielleicht meine Lösung etwas
Aktuell werden die Klimaanlagen mit einem WLAN-Stick (SMART Kit für Mission Serie) ausgeliefert. Original kann man darüber mit der Handy-App die Geräte steuern.
Dank der tollen Arbeit von mac-zhou (midea-msmart) kann aber auch auf die Geräte über das lokale LAN/WLAN zugegriffen werden (ohne Cloud!)
In das Unterverzeichnis midea-msmart wechseln und dahin die Datei symcon.py.txt (8,8 KB) aus Anhang speichern (und umbenennen symcon.py.txt symcon.py (ins Forum kein Upload von .php und .py möglich )
In IPS z.B. ein Dummy-Modul anlegen und darunter die benötigten Variablen (siehe Snapshot
Betrieb
Dieses Script über einen Timer (z.B. 5 Minuten) zyklisch aufrufen – es werden dann die Werte geholt. Wird das Script anders aufgerufen (z.B. Execute, Webfront…) werden auch die Werte aus IPS als Befehle gesandt.
Hallo Herbert,
vielen Dank für die Mühe, die Du hier investiert hast. Ich habe habe mir die Codeschnippsel in meinem IPS 6.0 eingefügt und Deiner Anleitung nach die Variablen angelegt.
Wenn ich in der Eingabeaufforderung midea-discover eingebe, wird mein Klimagerät (übrigens eine Vivax, die die gleiche Steuerung wie Midea nutzt) auch als unterstütztes Gerät gefunden, die korrekte IP ausgegeben und auch die ID wird angezeigt.
Im PHP-Skript wurde von Dir die Abfrage für einen zusätzlichen Schalter hinzugefügt, sowie zu einem Fensterstatus. Dies hatte ich zunächst mal auskommentiert. Als dies nicht funktionierte, habe ich dann auch mit fix hinterlegten Werten die Variablen (Hauptschalter und FensterID) angelegt und Dein Skript, bis auf die Anpassung bezüglich des Pfades zur symcon.py original belassen.
Es werden jedoch keine Werte ausgelesen.
Debug habe ich auf „true“ gesetzt.
Die Scriptengine gibt folgendes aus:
28.12.2021, 21:41:27 | ScriptEngine | Result for Event 15567
F:\IPSdata\midea\midea-msmart\symcon.py
Vivax Solltemp=15
Aufruf über TimerEvent oder Scriptimer sende KEINE Befehle an Midea - lese Werte aus
F:\IPSdata\midea\midea-msmart\symcon.py 192.168.181.68 281115211133817 False 1 False 15 40 0 False False False
Array
(
[0] => Funktionsname: F:\IPSdata\midea\midea-msmart\symcon.py
[1] => IP Adresse= 192.168.181.68
[2] => ID= 281115211133817
[3] => Power= False
[4] => Modus= 1
[5] => Tone= False
[6] => Solltemp= 15.0
[7] => Fan= 40
[8] => Swing= 0
[9] => Eco= False
[10] => Turbo= False
[11] => IPSMaster= False
)
Raumtemp ungültig= - vermutlich alle Werte ungültig - ignoriere alle - vermutlich auch Befehle erfolglos
Ich verstehe hier übrigens den Wert, bzw die Variable IPSMaster nicht, vermute aber dass es hiermit zu tun hat.
Wird damit abgefragt, ob das Klimagerät mit der Cloud verbunden ist und deshalb kann das Gerät nicht mit IPS direkt kommunizieren?
Wenn Du mal ein paar Minuten über hast, würde ich mich über einen Tipp sehr freuen.
Gruß
Dirk
hast Du denn die Anleitung genau befolgt und läuft das Python-Script?
Wichtig ist: ``C:\ProgramData\Symcon\midea\midea-msmart\symcon.py 192.168.4.150 12345678901234 False 1 False 19 102 1 False False True" der Befehl (siehe unten). Diesen kannst Du auch in einem cmd-Fenster direkt ausführen - dies ergibt dann den Snapshot im Anhang.
Vielen Dank für Deine umfangreiche Hilfestellung.
Wenn ich die Abfrage in der Konsole durchführe erhalte ich die Meldung, dass das msmart Modul nicht gefunden werden kann:
from msmart.device import device as midea_device
ModuleNotFoundError: No module named 'msmart'
Das Moduls ist aber installiert:
Package Version
------------------ ---------
certifi 2021.10.8
charset-normalizer 2.0.9
click 8.0.3
colorama 0.4.4
idna 3.3
ifaddr 0.1.7
msmart 0.1.35
pip 21.3.1
pycryptodome 3.12.0
pycryptodomex 3.12.0
requests 2.26.0
setuptools 47.1.0
urllib3 1.26.7
C:\Users\egal>pip3 check msmart
No broken requirements found.
C:\Users\.egal>pip3 show msmart
Name: msmart
Version: 0.1.35
Summary: A library to control Midea appliances via the Local area network
Home-page: https://github.com/mac-zhou/midea-msmart
Author: mac_zhou
Author-email: mac.zfl@gmail.com
License: MIT
Location: c:\python38\lib\site-packages
Requires: click, ifaddr, pycryptodome, pycryptodomex, requests
Required-by:```
dies ist sicher der Fehler. Am besten gehst Du die Anleitung von mac-zhou nochmals durch. Seine Lösung muss halt laufen, sonst können meine Scripte nicht funktionieren.
Die 2 Schritte die dort beschrieben sind, habe ich durchgeführt und die funktionieren auch.
Ich hake das ab.
Trotzdem nochmals vielen Dank für Deine Hilfe.
Hey Herbert,
kannst Du mir evtl. helfen?
Ich habe alles installiert und sehe, wenn ich midea-discover eingebe die Anlage mit IP und allen möglichen Daten.
Ich nutze Linux (Debian Buster) und habe das IPS-Script in den gleichen Ordner kopiert und auch den Ordnerpfad in dem sendenundempfangen.php angepasst.
Leider kommen gar keine Daten rein.
Hast Du eine Idee zum Debuggen?
Hey Herbert,
ich habe die Scripte (PHP und Python) soweit geflickt bekommen, dass diese funktionieren.
Ich werde die Tage ein paar Details hier reinschreiben!
Kannst Du mir bitte sagen, was für eine „eigene Aktion“ bei den Variablen angegeben ist?
Doch nicht etwas das PHP-Script zum Senden und Empfangen, oder?
Das hat bei mir so garnicht funktioniert…
ich blicke hier grad nicht ganz durch.
Benötige ich einen PC wo IPS drauf läuft oder ist das nur zum auslesen der ID? (weil ein Windows Pfad angegeben ist)
Mein IPS läuft auf einer Himbeere.
Ich würde sehr gern meine Dimstal Klimaanlagen steuern und auslesen, um den PV Strom besser zu verwerten.
Die APP ist ja schon nicht schlecht aber mit ALEXA oder Google wollte ich die Klima nicht verbinden und über IFTTT kann ich sie im Moment nur ein und ausschalten über IPS, das reicht aber nicht.
Es wäre echt klasse wenn das funktioniert, weil ich hier mehrere der Geräte habe.
vllt kann mir jemand Starthilfe geben.
könntest du mir kurz erklären was ich mit dem GitHub Link anstellen muss?
auf einen PC installieren? (extra Pyton installieren?)
Auf meinen Lappi, welcher im gleichen Netz wie die Klima ist?
auf den RPi IPS? (welcher nicht im gleichen Subnet ist, das Netz der Klima aber erreichen kann)
Kann ich dir auch nicht mehr sagen, ist zu lange her. Im Moment ist die Klima eingemottet. Kommt erst wieder im Sommer raus, dann werde ich weiter probieren.