Autor
Logo

Status

Version

v1.0.11 (Cloud); V3.1.3(Unterstützung für SK-103-Sticks) 

Min. LB Version

Download
ZweckIntegration der Midea Klimaanlagen in Loxone
LanguagesDE
DiskussionKommentarfunktion verwenden



Version 3.1.4

  • installation von python-venv (sollte es aus rigendwelchen gründen nicht vorhanden sein)
  • Fehler bei einlesen der json config-datei behoben

Version 3.1.3

  • Token Key und IP werden über discover / Entdecke Geräte gespeichert und müssen daher nicht mehr von Loxone übertragen werden. Lediglich die ID reicht um die gewünschte Klimaanlage zu steuern. 

Version 3.1.2

  • Fix falsche Pfadangaben..
  • update msmart auf 0.1.35
  • Optimierung IP-Adressen Erkennung
  • Unterstützung nur noch für Loxberry ab Version 2.x (1.x ist mittlerweile ja doch schon alt)

Version 3.1.1 RELEASE

  • siehe 3.0.0 und 3.1.0
  • update msmart auf 0.1.33 → bugfixes. Es werden voraussichtlich noch Updates folgen, das Plugin läuft aber soweit stabil.
  • Python Pakete werden in einer venv installiert.
  • Bugfixes und error-logging verbessert
  • gefundene Geräte werden in separater Logdatei aufbereitet und abgespeichert

Version 3.1.0  Pre-Release

  • update msmart auf 0.1.30 → bugfixes
  • Anbindung ans MQTT Gateway, falls das Plugin installiert ist. Falls nicht erfolgt die Steuerung der Loxoneeingänge wie gehabt.
    → Änderung der Bezeichnungen der Loxone Eingänge notwendig, um die Nomenklatur des MQTT Plugins zu unterstützen. Das Plugin erkennt jedoch eine Loxoneconfig die mit Midea2Lox V2.x erstellt wurde und funktioniert noch mit den alten Loxone configs. Es wird jedoch dazu geraten auf die Config ab Midea2Lox v.3.x.x umzustellen. Die Datenübertragung über MQTT funktioniert nur wenn die Loxoneconfig auf aktuellen stand gebracht wird (siehe Beispiel)

Version 3.0.0 Pre-Release

  • msmart 0.1.29 → Unterstützung der neueren OSK-103 Sticks. (Auch Midea protocol V3 genannt)
    Zur Steuerung der neuen Sticks muss der Key und der Token aus der MideaApp für jede Klimaanlage extrahiert und über Loxone bei jedem Befehl zur jeweiligen Klimaanlage mitgesendet werden. (details siehe LoxWiki)
  • neue Befehle zur Steuerung von Power, Eco, Turbo und Audio/promt_Tone notwendig. (Änderung der Loxone config notwendig) jedoch werden die "älteren" Loxone Konfigurationen die mit Midea2Lox V 2.x erstellt wurden noch unterstützt (nur Steuerung der V2 Sticks).
  • Befehle müssen in der Loxone-config nicht mehr zwingend zusammengesetzt werden. Das zusammensetzen wird jedoch auf Grund der Fehlersicherheit empfohlen.
  • Beispieldatei Loxoneconfig angehängt.
  • größere Codeänderungen und Fehler Behebungen. Daher nur Pre-Release, zum Testen frei!

Version 2.1.6

  • nur Solltemperaturen von 17-30°C werden übernommen. (Bugfix) Andere Temperaturen führen zu fehlerhaften verhalten bei den Klimaanlagen.

Version 2.1.5

  • Release Version
  • kleinere Codefixes

Version 2.1.4

  • update auf msmart 0.1.20
    • fix set swingmode
    • bugfix turbomode
    • enhanced discover
  • nicht mehr benötigtes packet python requests bei neuinstallation entfernt.

Version 2.1.3

  • Installationsprobleme behoben (fehlende Pakete werden installiert, Installation kann länger dauern!
  • Device support Abfrage (msmart logik).
  • verbessertes Logging
  • Bugfix discover
  • Update msmart auf 0.1.19


Version 2.1.2

  • fix debug logging on discover


Version 2.1.1

update to msmart 0.1.18 -->

  • fix decrypt ValueError
  • finer grained temperature control (0.5C)

Version 2.1

  • Cloudanbindung komplett entfernt
  • Gerätesuche im Lan (ohne Cloud)
  • len 88 Befehle ergänzt. (Support von neueren Midea Geräten)
  • englische Sprache ergänzt
  • ... mehrere kleinere Bugfixes im Script ...

Version 2.0

  • Umstellung von Cloudsteuerung auf Steuerung direkt über LAN, thx max-zhou for msmart
  • Multidevice support (mehrere Klimaanlagen) (!! konnte ich nicht testen, evtl treten hier fehler auf !!)
  • Achtung, Loxone Config muss angepasst werden. Angepasste Config im Anhang.

Version 1.0.11

  • Fehler beim Deinstallieren behoben.

Version 1.0.10

  • Sicherheitsupdate, nur gültige Argumente werden akzeptiert.
  • logging verbessert.

Version 1.0.9

  • Fehlerbehebung wenn der HTTP Port des Miniservers geändert ist: Port des Miniservers abfragen und für das setzen der Virtuellen Eingänge nutzen.

Version 1.0.8

  • Logging überarbeitet
  • Fehler mit Umlauten behoben
  • Schleife bricht nun nach 20 erfolglosen Versuchen ab (vorher endlos) (Device is Offline Fehler scheint wohl nur durch aus/einstecken des Midea Wlan empfängers behoben werden zu können)
  • Ausgang Fehlerschleife wird in Loxone nichtmehr aktiviert.

Version 1.0.7

  • Verbesserungen im WebIF
  • Passwortanzeige des Mideazugangs im Webif verschlüsselt
  • MS Passwort wird nicht mehr in der Plugincfg gespeichert

Version 1.0.6

  • Zeitstempel im Log hinzugefügt
  • falsch zugeordnete Loxberry Variablen richtiggestellt.
  • configparser aus Plugin entfernt (ist bereits bei python3 integriert)
  • automatischer Neustart des Service nach Speichern

Version 1.0.5

  • benötigte Pakete werden mit installiert

Version 1.0.4

  • nur Statusabfrage möglich

Version 1.0.3

  • benötigte Pakete werden mit installiert

Version 1.0.2

  • Backup der alten Configfiles vor Update auf neuere Version

Version 1.0.1

  • Anzeige im Webinterface ob Service Midea2Lox läuft

  • Nach der Installation muss der Loxberry nicht mehr neu gestartet werden

  • Möglichkeit vom WebIF aus den Serverice zu starten/stoppen/neustarten

  • automatische Erkennung der LoxberryIP

Version 1.0.0

  • erste öffentliche Version



Inhalt



Download

https://github.com/seppe912/Midea2Lox/releases

V1.x: CLOUD – wird nicht mehr weiter entwickelt. Kann aber noch von github geladen werden falls benötigt.

Installation

Nach der Installation Miniserver auswählen und UDP Port eintragen. → Speichern und neustart drücken.
Discover: Um vorhandene Klimaanlagen zu finden müssen die Zugangsdaten zur Mideacloud angegeben werden. Anschließend werden über Discover alle im Lan befindlichen Geräte angezeigt und die Daten abgespeichert (werden zur Steuerung benötigt)

Konfigurationsoptionen

UDP Port frei wählbar, muss mit gewählten Port von Loxone übereinstimmen. Standard 7013
MideaCloud User/Passwort → notwendig um den Token für V3 sticks zu bekommen
Broadcast Pakets → wenn sehr viele Geräte vorhanden sind kann es sein dass man diesen Wert erhöhen muss um alle Geräte über Discover zu finden.

Funktion des Plugins

Steuerung und Abfrage des aktuellen Status der Midea(-Group) Klimaanlagen! Luftentfeuchter leider nicht unterstützt.
Suche und Erkennung der Klimaanlagen im Netzwerk → Discover

genutzt wird dazu das Python script msmart von mac_zhou. Midea2Lox stellt eine Brücke zwischen Loxone und msmart dar.

Kompatibilität:

Integration von Midea-Group Klimaanlagen in Loxone. Ich selbst habe eine Midea Klimaanlage, diese funktioniert sicher, folgende Modelle sind beim Homeassistant Plugin genannt, sie könnten auch mit Midea2Lox funktionieren:

----- mit Loxone nicht getestet, folgende Hersteller können aber funktionieren----
Custom Integration for Midea Group(Ariston, Hualing, Senville, Klimaire, Kaysun, AirCon, Century, Pridiom, Thermocore, Comfee, Alpine Home Air, Artel, Beko, Electrolux, Galactic, Idea, Inventor, Kaisai, Mitsui, Mr. Cool, Neoclima, Olimpia Splendid, Pioneer, QLIMA, Royal Clima, Qzen, Toshiba, Carrier, Goodman, Friedrich, Samsung, Kenmore, Trane, Lennox, LG and much more) Air Conditioners via LAN.
----- nicht getestet----

Es kommt auf den USB/Wlan Stick an, die Bezeichnung muss SK-102 oder SK-103 (Unterstützung ab Midea2Lox V3.x) lauten. OSK-101 gibt es auch, diese konnte ich aber noch nicht testen ob sie funktionieren. 


V1.0.11: Version V1.1.x kommuniziert über die MideaCloud, es kann eine Klimaanlage gesteuert werden. 
V1.1.x (experimental!): Version V1.1.x kommuniziert über die MideaCloud, es können mehrere Klimaanlagen gesteuert werden. Da ich nur eine Klimaanlage habe kann ich die Funktion nicht testen, es sollte jedoch funktionieren. Zu finden in Github unter Releases.
— V1.x.x End of Life — kein weiterer support von mir, Download bleibt noch erhalten.

V2.x: Ab V2.0 erfolgt die Kommunikation direkt über LAN/WLAN im lokalen Netzwerk. Es können mehrere Verschiedene Klimaanlagen gesteuert werden.
Es gibt verschiedene WiFi Sticks für die Klimaanlagen. Das Plugin Unterstützt aktuell die WiFi-Stick Version OSK-102. Unterstützung OSK-101 nicht getestet.
Nach Rückmeldungen unter den Kommentaren funktionieren auch andere Klimaanlagen bzw "Midea kopien" die den Stick EU-OSK 102 verwenden. 

V3.x: Der Stick EU-OSK 103 wird zusätzlich unterstützt. Key und Token werden für V3 Sticks benötigt. Unterstützung OSK-101 nicht getestet.

V3.1 zusätzlich MQTT Gateway Anbindung


Einrichtung in der Loxone Config Software

Beispielconfig ist hinterlegt.

Bis V1.0.11: ( CLOUD ) – nicht mehr unterstützt --

Ab V.3.1 NEU


Jede Klimaanlage hat eine eigene ID, über diese ID und IP werden die Klimaanlagen gesteuert.
Daher muss die ID der zu steuernden Klimaanlage über Loxone gesendet werden.
Die ID und IP der Klimaanlage kann über Midea2Lox discover / Entdecke Geräte erkannt werden. Die gefundenen Geräte werden im Log abgelegt.
Neu ab V3.x: Key und Token für V3/OSK-103 Sticks werden über die Cloud extrahiert und gespeichert. Der Key und Token erneuert sich bei jeder Abfrage über discover, die alten paare bleiben aber auch aktiv/funktionieren weiterhin.

Ab V3.1.3 werden die daten die über discover /Entdecke Geräte erkannt werden gespeichert und zur jeweiligen ID genutzt. es reicht ab sofort über Loxone nurnoch die ID mit zu senden. Ein Discover/Entdecke Geräte muss einmal durchgeführt werden damit die Klimaanlage richtig gesteuert wird!

1. Neuen Virtuellen Ausgang anlegen:
Bezeichnung: Midea2Lox (frei wählbar)
Adresse: /dev/udp/loxberry/7013  (eventuell "loxberry" durch die IP ersetzen, z.B 192.168.178.20; 7013 ist der UDP Port, der muss mit der Midea2Lox Konfiguration übereinstimmen.)

2. Virtueller Ausgang Befehl (für jede Klimaanlage separat):

Virtueller Ausgang BefehlKlima 1Klima 2...

Bezeichnung (frei wählbar)

Midea V2 OSK102Midea V3 OSK103...
Befehl bei EIN:<v> ID <v> ID ...
Als Digitalausgang verwendenAUSAUS...

3. Die ID der Klimaanlage muss beim Ausgangsbefehl zur jeweiligen Klimaanlage angegeben werden.

Beispiel:
Virtueller Ausgang Befehl

V2 / OSK 102
Befehl bei EIN:<v> 17592186057450 

4. Haken bei "als Digital Ausgang verwenden" ENTFERNEN


Statusanzeige

In der Beispielkonfig ist in der oberen hälfte die Statusanzeige untergebracht:

ACHTUNG ab v3.1 müssen die Eingänge umbenannt werden, damit das MQTT-Gateway unterstützt werden kann. Midea2Lox_ muss an jedem Eingang vorangestellt sein und die Punkte müssen durch Unterstriche _ ersetzt werden: (die ID muss durch die Device ID der Klimaanlage ersetzt werden) Zusätzlich können nun Power_state,audible_feedback, eco_mode und turbo_mode als virtueller Eingang angelegt werden. Sie werden ab V3.1 mit 0 und 1 beschalten. (siehe Beispielkonfig, siehe auch MQTT - Schritt für Schritt: MQTT -> Loxone)

VI Eingang LoxoneWerteBeschreibung

Midea2Lox_Midea_ID_power_state
(virtueller Eingang)

True / False 
1/0 
Schaltzustand der Klimaanlage 
Wird über einen Statusbaustein in der App angezeigt.
Midea2Lox_Midea_ID_audible_feedback
(virtueller Eingang)
True / False 
1/0 
Audio Rückmeldung
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_fan_speed
(virtueller Text-Eingang)

fan_speed_enum.High
fan_speed_enum.Medium
fan_speed_enum.Low
fan_speed_enum.Auto
fan_speed_enum.Silent
Lüfter Geschwindigkeit (Silent/Low/Medium/High/Auto)
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_operational_mode
(virtueller Text-Eingang)

operational_mode_enum.auto
operational_mode_enum.cool
operational_mode_enum.heat
operational_mode_enum.dry
operational_mode_enum.fan_only
Klimamodus heat/cool/dry/fan/auto (heizen/kühlen/entfeuchten/trocknen/automatik)
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_swing_mode
(virtueller Text-Eingang)

swing_mode_enum.Off
swing_mode_enum.Vertical
swing_mode_enum.Horizontal
swing_mode_enum.Both
Klappe schwingmodus Off/Horizontal/Vertical/Both (aus/horizontal/vertikal/beides)
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_eco_mode
(virtueller Eingang)

True/False
1/0 
Sparmodus 
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_turbo_mode
(virtueller Eingang)

True/False
1/0 
Turboboost 
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_indoor_temperature
(virtueller Eingang)


Innentemperatur
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_outdoor_temperature
(virtueller Eingang)


Ausentemperatur
Wird über einen Statusbaustein in der App angezeigt.

Midea2Lox_Midea_ID_target_temperature
(virtueller Eingang)


Zieltemperatur (bei Heizen/Kühlen/Auto)
Wird über einen Statusbaustein in der App angezeigt.

neu:
Midea2Lox_Midea_ID_online
(virtueller Eingang)

1/0

Onlinestatus der Klimaanlage. 
Das Plugin versucht je nach Fehler 2-4 mal das Senden des Befehls zu wiederholen.
Kommt keine Antwort von der Klimaanlage geht der Eingang auf Aus. Details im Log von Midea2Lox

Die Eingänge können in Loxone nur gesetzt werden, wenn sie in der Loxone-Config auch für den Benutzer von Loxberry freigegeben wurden!

Befehle zum Setzen der gewünschten Parameter der Klimaanlage:

Die Befehle werden im unteren Teil der Beispiel-Konfig gesetzt, d.h es gibt jeweils Schalter die die einzelnen Befehle(siehe Tabelle unten) setzen. Anschließend werden die 8 einzelnen Befehle zu einen langen Befehl zusammengesetzt über 3 Statusbausteine (hab hier leider keine bessere Lösung gefunden)
Bei jeder Statusänderung wird ein Befehl zu Midea abgesetzt.
Die Befehle müssen ab V3.x angepasst werden, die Befehle für AC Power (power.True / power.False) , AC Audio/Tone (tone.True / tone.False) , Eco Modus(eco.True / eco.False) und Turbo Modus(turbo.True / turbo.False) müssen  wie angegeben geschalten werden. (Statusbausteine untere hälfte der Loxone konfig). Das Plugin erkennt Loxone Konfigurationen die mit Midea2Lox V2.x erstellt wurden und unterstützt diese weiterhin (ohne MQTT und kein Stick V3), für die volle Funktion sollte die Konfiguration gepupdated werden.

NameBefehlBeschreibung
AC Power

power.True
power.False

Ein/Ausschalten der Klimaanlage
AC Audio / Tone

tone.True
tone.False

Ein/Ausschalten des Bestätigungstons
AC Modus

ac.operational_mode_enum.auto
ac.operational_mode_enum.cool
ac.operational_mode_enum.heat
ac.operational_mode_enum.dry
ac.operational_mode_enum.fan_only

gewünschter Modus: Auto
Kühlen
Heizen
Entfeuchten
Lüften

AC Fanspeedac.fan_speed_enum.High
ac.fan_speed_enum.Medium
ac.fan_speed_enum.Low
ac.fan_speed_enum.Auto
ac.fan_speed_enum.Silent

Lüftergeschwindigkeit: Hoch
Mittel
Niedrig
Auto
Leise

AC Swingmodeac.swing_mode_enum.Off
ac.swing_mode_enum.Vertical
ac.swing_mode_enum.Horizontal
ac.swing_mode_enum.Both

Luftklappe bewegung: Aus
Vertikal
Horizontal
Beide richtungen

Eco Modus

eco.True
eco.False

Ecomodus Ein/Aus
Turbo Modusturbo.True
turbo.False

Turbomodus Ein/Aus
(deaktiviert sich nach einer gewissen Zeit von selbst wieder,
wird jedoch als Status nicht automatisch zurückgesetzt)

Zieltemperatur17 bis 30Zieltemperatur Min 17°C Max 30°C

Die Befehle müssen richtig geschrieben sein, auch auf Groß/Kleinschreibung achten! Am besten die Beispielkonfig übernehmen!

UPDATE V3.x

Unterstützung der SK-103 Sticks

Fragen stellen und Fehler melden

Github oder hier