NEWS
Test Adapter melcloud v1.0.x Latest
-
@Black-Thunder
hast Recht 1 ist Flüstermode und 2-4 sind die Lüfterstufen - insgesamt 5Schade das man den ECO und den NIGHT Mode nicht in der App zur Auswahl hat. der Nightmode ist für das Schlafzimmer interessant weil die LED gedimmt werden. Es wird aber auch der Geräuschpegel vom Außengerät gedimmt Müsste weniger Leistung bedeuten - daher habe ich keine Ahnung ab das so gut über Tag funktioniert ... Ich habe insgesamt 3 Innengeräte dran. Die anderen 2 müssten dann unter der Einstellung vom Schlafzimmer leiden ...
Viele Grüße,
Marc -
@Black-Thunder
Hey
Irgend etwas funktioniert beim senden der Temperatur noch nicht so 100%. Vielleicht liegt es auch an meinem Script. Ich sende eine errechnete Temperatur.Ich habe folgendes geändert an meinem Script. Es werden jetzt nicht immer alle Daten übertragen, nur wenngleich noch nicht gesetzt sind. Da wenn das Script einmal eine Lüfterstufe geschickt hat und sich diese nicht geändert hat wird sie nicht noch einmal gesendet.
Die Temperatur hingegen wird fast immer gesendet. Das liegt daran das sie immer neu errechnet wird.Kann es sein das man Melcloud eine Ganzzahl liefern muss oder maximal mit .5 und nicht mehr stellen ? Muss es ein . Sein oder darf es auch ein , sein ?
Ich hatte eben die Automatik beim Vane rausgenommen, die Temperatur auf 16 Grad gesetzt und Lüfter auf 5. Das Script hat dann fast gleichzeitig den Lüfter und Vane wieder auf Auto gesetzt, nur die Temperatur bleibt eisern bei 16 stehen und wird nicht auf den gerechneten Wert eingestellt.
Was muss bei der Übergabe der Temperatur beachtet werden ?
Vg
Marc -
@meicker
Ich berechne und setze auch die Solltemperatur mittels Javascript und konnte da bisher keine Probleme feststellen. Allerdings runde ich immer auf 0.5 genau, da ich nicht weiß, ob andere "krumme" Werte auch akzeptiert werden. Ich orientier mich da immer an den offiziellen Einstellmöglichkeiten (dort gibt's nur 0.5-Schritte).
Die Frage, ob "." oder "," stellt sich eigentlich nicht, da der state den Typ "number" hat und keine Zeichenkette erwartet.Wie sieht denn dein Skript für die Berechnung der Temperatur aus?
-
@Black-Thunder
das war was anderes ... die anderen 2 Räume haben funktioniert. Nur die Temperatur im Wohnzimmer hat Probleme gemacht. Ich habe im Adapter das Wohnzimmer gelöscht und neu anlegen lassen und den Bereich im Script noch mal genau angesehen und die Variablen neu gesetzt. Vielleicht hat da was fest gehangen. Zusätzlich habe ich jetzt noch eine Rundung eingesetzt. Jetzt ist alles gut im MomentHier das komplette script fürd Wohnzimmer:
var Solltemp1, Solltemp2, Solltemp3, WZENDE3, Regeltemperatur1, Regeltemperatur2, Regeltemperatur3, WZENDE2, WZENDE4; // Beschreibe diese Funktion … function WZabschalten() { if (getState("melcloud.0.devices.214557.control.power").val == true) { console.warn('WZ ENDE in 30 Minuten'); WZENDE3 = setTimeout(function () { setState("melcloud.0.devices.214557.control.power"/*Power*/, false); console.warn('WZ ENDE'); }, 1800000); } } createState("Mitsubishi.kuehlen.aussentemperatur", function () { }); createState("Mitsubishi.kuehlen.wohnzimmertemp", function () { }); createState("Mitsubishi.kuehlen.auto-wohnzimmer-an", function () { }); schedule("*/2 * * * *", function () { if (getState("javascript.0.Homepilot.Temperatur").val > 23 && getState("javascript.0.Controme.wohnzimmer.frt_temp").val > Solltemp1 && getState("javascript.0.global.homepilot.balkontuere").val == 0 && getState("hm-rpc.0.0007DA49A781A1.1.STATE").val == 0 && compareTime("07:00", "16:30", "between")) { // Bedingung 1 console.warn('WZ Bedingung 1 erfüllt'); (function () {if (WZENDE3) {clearTimeout(WZENDE3); WZENDE3 = null;}})(); setState("javascript.0.Mitsubishi.kuehlen.auto-wohnzimmer-an"/*Mitsubishi.kuehlen.auto-wohnzimmer-an*/, true, true); setState("javascript.0.Mitsubishi.kuehlen.wohnzimmertemp"/*Mitsubishi.kuehlen.wohnzimmertemp*/, true, true); setState("javascript.0.Mitsubishi.kuehlen.aussentemperatur"/*Mitsubishi.kuehlen.aussentemperatur*/, true, true); if (getState("melcloud.0.devices.214557.control.targetTemp").val != getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Regeltemperatur1) { setState("melcloud.0.devices.214557.control.targetTemp"/*Target temperature*/, (getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Regeltemperatur1)); } if (getState("melcloud.0.devices.214557.control.power").val != true) { setState("melcloud.0.devices.214557.control.power"/*Power*/, true); } if (getState("melcloud.0.devices.214557.control.mode").val != 3) { setState("melcloud.0.devices.214557.control.mode"/*Operation mode*/, 3); } if (getState("melcloud.0.devices.214557.control.fanSpeed").val != 0) { setState("melcloud.0.devices.214557.control.fanSpeed"/*Fan speed (while in manual mode)*/, 0); } if (getState("melcloud.0.devices.214557.control.vaneVerticalDirection").val != 0) { setState("melcloud.0.devices.214557.control.vaneVerticalDirection"/*Vane vertical direction*/, 0); } } else if (getState("javascript.0.Homepilot.Temperatur").val > 21 && getState("javascript.0.Controme.wohnzimmer.frt_temp").val > Solltemp2 && getState("javascript.0.global.homepilot.balkontuere").val == 0 && getState("hm-rpc.0.0007DA49A781A1.1.STATE").val == 0 && compareTime("16:30", "22:30", "between")) { // Bedingung 2 console.warn((['Bedingung 2 erfüllt','Regeltemperatur Wohnzimmer',Regeltemperatur2].join(''))); (function () {if (WZENDE3) {clearTimeout(WZENDE3); WZENDE3 = null;}})(); setState("javascript.0.Mitsubishi.kuehlen.auto-wohnzimmer-an"/*Mitsubishi.kuehlen.auto-wohnzimmer-an*/, true, true); setState("javascript.0.Mitsubishi.kuehlen.wohnzimmertemp"/*Mitsubishi.kuehlen.wohnzimmertemp*/, true, true); setState("javascript.0.Mitsubishi.kuehlen.aussentemperatur"/*Mitsubishi.kuehlen.aussentemperatur*/, true, true); if (getState("melcloud.0.devices.214557.control.targetTemp").val != getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Regeltemperatur2) { console.warn('Wohnzimmer Temperatur gesendet'); setState("melcloud.0.devices.214557.control.targetTemp"/*Target temperature*/, (getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Regeltemperatur2)); } if (getState("melcloud.0.devices.214557.control.power").val != true) { console.warn('Wohnzimmer Power gesendet'); setState("melcloud.0.devices.214557.control.power"/*Power*/, true); } if (getState("melcloud.0.devices.214557.control.mode").val != 3) { console.warn('Wohnzimmer Mode gesendet'); setState("melcloud.0.devices.214557.control.mode"/*Operation mode*/, 3); } if (getState("melcloud.0.devices.214557.control.fanSpeed").val != 0) { console.warn('Wohnzimmer FanSpeed gesendet'); setState("melcloud.0.devices.214557.control.fanSpeed"/*Fan speed (while in manual mode)*/, 0); } if (getState("melcloud.0.devices.214557.control.vaneVerticalDirection").val != 0) { console.warn('Wohnzimmer Vane Vertical gesendet'); setState("melcloud.0.devices.214557.control.vaneVerticalDirection"/*Vane vertical direction*/, 0); } } else if (getState("javascript.0.Homepilot.Temperatur").val > 23 && getState("javascript.0.Controme.wohnzimmer.frt_temp").val > Solltemp3 && getState("javascript.0.global.homepilot.balkontuere").val == 0 && getState("hm-rpc.0.0007DA49A781A1.1.STATE").val == 0 && compareTime("07:00", "22:30", "not between")) { // Bedingung 3 console.warn('WZ Bedingung 3 erfüllt'); (function () {if (WZENDE3) {clearTimeout(WZENDE3); WZENDE3 = null;}})(); setState("javascript.0.Mitsubishi.kuehlen.auto-wohnzimmer-an"/*Mitsubishi.kuehlen.auto-wohnzimmer-an*/, true, true); setState("javascript.0.Mitsubishi.kuehlen.wohnzimmertemp"/*Mitsubishi.kuehlen.wohnzimmertemp*/, true, true); setState("javascript.0.Mitsubishi.kuehlen.aussentemperatur"/*Mitsubishi.kuehlen.aussentemperatur*/, true, true); if (getState("melcloud.0.devices.214557.control.targetTemp").val != getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Regeltemperatur3) { setState("melcloud.0.devices.214557.control.targetTemp"/*Target temperature*/, (getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Regeltemperatur3)); } if (getState("melcloud.0.devices.214557.control.power").val != true) { setState("melcloud.0.devices.214557.control.power"/*Power*/, true); } if (getState("melcloud.0.devices.214557.control.mode").val != 3) { setState("melcloud.0.devices.214557.control.mode"/*Operation mode*/, 3); } if (getState("melcloud.0.devices.214557.control.fanSpeed").val != 0) { setState("melcloud.0.devices.214557.control.fanSpeed"/*Fan speed (while in manual mode)*/, 0); } if (getState("melcloud.0.devices.214557.control.vaneVerticalDirection").val != 0) { setState("melcloud.0.devices.214557.control.vaneVerticalDirection"/*Vane vertical direction*/, 0); } console.warn(getState("melcloud.0.devices.214557.control.targetTemp").val); } else { if (getState("melcloud.0.devices.214557.control.power").val == true && getState("javascript.0.Mitsubishi.kuehlen.auto-wohnzimmer-an").val == true) { WZabschalten(); console.warn('WZ Bedingungen NICHT erfüllt - Zur Abschaltung'); } setState("javascript.0.Mitsubishi.kuehlen.auto-wohnzimmer-an"/*Mitsubishi.kuehlen.auto-wohnzimmer-an*/, false, true); } }); on({id: "javascript.0.global.homepilot.balkontuere"/*global.homepilot.balkontuere*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.global.homepilot.balkontuere").val != 0) { console.warn('WZ Balkontüre auf - Stop in 5 Minuten'); WZENDE2 = setTimeout(function () { setState("melcloud.0.devices.214557.control.power"/*Power*/, false); console.warn('WZ ENDE - Wegen Balkontüre'); }, 300000); } else if (getState("javascript.0.global.homepilot.balkontuere").val == 0) { (function () {if (WZENDE2) {clearTimeout(WZENDE2); WZENDE2 = null;}})(); console.warn('WZ TIMER beendet - Balkontüre geschlossen'); } }); on({id: "hm-rpc.0.0007DA49A781A1.1.STATE"/*Fenster Esszimmer.STATE*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.0007DA49A781A1.1.STATE").val != 0) { console.warn('EZ Fenster auf - Stop in 5 Minuten'); WZENDE4 = setTimeout(function () { setState("melcloud.0.devices.214557.control.power"/*Power*/, false); console.warn('WZ ENDE - Wegen Esszimmer Fenster'); }, 300000); } else if (getState("hm-rpc.0.0007DA49A781A1.1.STATE").val == 0) { (function () {if (WZENDE4) {clearTimeout(WZENDE4); WZENDE4 = null;}})(); console.warn('WZ TIMER beendet - EZ Fenster geschlossen'); } }); schedule("* * * * *", function () { Solltemp1 = 29; Solltemp2 = 24.9; Solltemp3 = 27.5; Regeltemperatur1 = Math.ceil((getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Solltemp1) + 1); Regeltemperatur2 = Math.ceil((getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Solltemp2) + 2); Regeltemperatur3 = Math.ceil((getState("javascript.0.Controme.wohnzimmer.frt_temp").val - Solltemp3) + 1); console.warn(('Regeltemperatur 1: ' + String(Regeltemperatur1))); console.warn(('Regeltemperatur 2: ' + String(Regeltemperatur2))); console.warn(('Regeltemperatur 3: ' + String(Regeltemperatur3))); });
vg
Marc -
Guten Morgen Black-Thunder
Das mit dem vertikalen Luftauslass hat sich geklärt. Ich habe mich mit dem Hersteller in Verbindung gesetzt und folgende Info erhalten: Wird der vertikale Luftauslass beim Kühlen nach unten gestelle könnte es Wassertropfen an den Lamellen geben. Um diesem vorzubeugen wird automatisch nach ca. 60 Minuten der vertikale Luftauslass nach oben gestellt ohne das der MelCloud diese Wertänderung mitgeteilt wird. Diese Funktion ist auch bei anderen Hersteller verbaut.Gruess Andy
-
Hallo zusammen,
mal ne kurze allgemeine Frage.... geht das ganze auch ohne die MELCloud ?
Da ich mir in naher Zukunft auch ne Klimaanlage von Mitsubishi zulegen werde, aber nicht möchte das es über externe Server gesteuert wird.....
Für die alten Geräte gibts ja umbauten mit dem ESP Modul. Hat da jemand Infos wie das mit dem original WLAN Modul von Mitsubishi läuft ?
Liese sich das so konfigurieren das es nur im Heimnetz läuft aber per Iobroker steuerbar wäre, vergleichbar mit der Tasmota SW. Über infos bin ich dankbar -
@pi_noob15
Die einzig mir bekannte Lösung ohne MELCloud liegt in der Nutzung von "Echonet Lite" (siehe hier).
Allerdings wird dieses Protokoll nur vom MAC-568F-E WiFi-Adapter unterstützt. Ich selbst habe allerdings den MAC-567IF-E1 in meinen Innengeräten verbaut, der das nicht unterstützt, von daher habe ich mich damit nicht näher beschäftigt. Eine beispielhafte Implementierung für HA in Python gibt's hier: https://github.com/scottyphillips/mitsubishi_hassWenn ansonsten jemanden weitere Infos hat, das ganze aus der Cloud ins lokale Netz zu holen, gerne her damit.
-
Ja ich habe mittlerweile auch etwas nachgeforscht und mehrere Projekte dazu gefunden. Unterscheiden muss man prinzipiell zwischen Mitsubishi Electric und Mitsubishi Heavy Geräten. Die Heavy Geräte müssen per SPI Interface angesprochen werden, die Electric seriell.
Ich habe für mich die Lösung mit dem Wemos D1 mini als bisher beste ausgesucht und diese auch schon teilweise eingerichtet:
https://forum.iobroker.net/topic/37332/welcher-adapter-für-klimaanlage-mitsubishi2mqtt/7Sobald alles läuft wie es soll werde ich es ausführlich Schritt für Schritt dokumentieren.
Weitere infos sind auch hier zu finden:
https://chrdavis.github.io/hacking-a-mitsubishi-heat-pump-Part-2/sowie das GitHub Projekt:
https://github.com/gysmo38/mitsubishi2MQTT -
Hi,
hat jemand ein schönes Widget für die Klima?
BIn auf der Suche nach einem Widget für iobrokerGruß
Alero -
Hi, hat niemandxein widget für die klima?
Gruß
Alero -
Bitte ab sofort hier mit v1.1.x weiter: https://forum.iobroker.net/topic/40705/test-adapter-melcloud-v1-1-x-latest
@Vadim Power consumption reports are now implemented if you want to try that out now.
-
@Black-Thunder
Ich hab dann mal hier zugemacht