NEWS
Test Adapter melcloud v1.0.x Latest
-
@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