NEWS
Welcher Adapter für Klimaanlage(mitsubishi2MQTT)
-
@pi_noob15
hier kannst auch mal schauen, da gibt es schon ein threat...
https://forum.iobroker.net/topic/17041/anfrage-airconwithme-intesishome-klimasteuerung-adapterhttps://forum.iobroker.net/topic/17041/anfrage-airconwithme-intesishome-klimasteuerung-adapter/27
-
@smartboart wenn ich das *.bin file per OTA Update auf den D1 mini lade ist es wie bisher auch, der "control" button fehlt und der "HVAC" status ist disconnected. Werde jetzt mal zum testen eine RobotDyn NodeMCU bestellen.
Weiß echt nicht weiter....... -
@pi_noob15 sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):
@smartboart wenn ich das *.bin file per OTA Update auf den D1 mini lade ist es wie bisher auch, der "control" button fehlt und der "HVAC" status ist disconnected. Werde jetzt mal zum testen eine RobotDyn NodeMCU bestellen.
Weiß echt nicht weiter.......Das kannst dir schenken... Das muss mit dem d1 mini gehen..probier mal nen anderen.. Der cn 105 ist richtig angeschlossen?
-
@smartboart sagte in
Das kannst dir schenken... Das muss mit dem d1 mini gehen..probier mal nen anderen.. Der cn 105 ist richtig angeschlossen?
- Einen anderen D1 mini hatte ich auch schon probiert, gleiches Ergebnis
- Also ich gehe davon aus das Pinning vom CN105 stimmt so wie oben beschrieben. Schaue mir das heute Abend nochmal genau an.
Es wäre doch auch möglich den Connector(CN110)vom WLAN Adapter zu nehmen, oder ?
-
@pi_noob15 soweit ich weiß nicht... Sicher das dein Geraet unterstützt wird? Les mal den anderen threat durch den ich verlinkt habe... Manche Geraete gehen mit dieser Variante nicht.. Es gibt aber eine andere..
-
@smartboart meines wissens nach gibts nur die Unterscheidung zwischen den Mitsubishi Heavy und den Mitsubishi Electric Geräten. Habe gerade noch mal meinen Wemos genauer angeschaut, in den beiden RX/TX Leitungen sind 470Ohm plaziert. Habs mal zum testen rausgemacht und gebrückt jedoch ohne Erfolg.
-
@pi_noob15 mach dochmal ein foto von dem angeschlossenen Stecker am Gerät und dem D1 mini...Evtl gibts auch nix zu controlen bis das Gerät in Betrieb ist..Wann hast denn inbetriebnahme...Weiss garnicht ob das so gut ist dem Splitgerät einfach an Spannung anzuschließen...
-
@smartboart so, hier die Bilder. Im Betrieb gehen soll das ganze erst nächstes Jahr. Ich wollte nur bis dahin alles vorbereitet haben.
-
@pi_noob15 sieht gut aus so... So wie es ist ist der wemo ja auch online erreichbar also an oder? Nur der Button control fehlt?
Ich denke du solltest warten bis die Kiste in Betrieb ist... -
@smartboart ja klar WebIF ist eigentlich immer erreichbar, nur der Control Button war bisher nur einmal kurz zu sehen. Ich habe jetzt noch 2x andere Boards bestellt, diese teste ich noch. Wenn sich mit diesen jedoch auch nichts ändert werde ich wohl warten müssen bis die Anlage nächste Jahr in Betrieb geht.
-
hab jetzt mal parallel mit nem Adafruit huzza getestet, jedoch ohne Unterschied
Würde mal gerne die serielle Schnittstelle der Klimaanlage "abhören" und nen USB/seriell Adapter anschließen. Weiß jemand wie die Parameter für die Verbindung sein müssen ?
Ok laut Original Autor sind es 2400baud und parity even. Ich bekomme aber trotzdem keinen Output an der Klima.
Über die MelCloud kann ich komischerweise einige Sachen steuern... ich verstehe es nicht.....
Werde mir später mal die Pegel der RX/TX Pins an der Klima anschauen. -
so gerade die Pegel mit dem Multimeter(Gleichspannungsmessbereich) gegen Masse gemessen.
Klima
RX: 0,4V
TX: 5,0VESP
RX: 3,0V
TX: 3,3V -
so..... mittlerweile habe ich mal den Adafruit Huzzah wieder angesteckt, da der ESP01 machmal auch per WLAN nicht erreichbar war........ und siehe da per WebIF kann ich alles steuern (ich habe bisher nur keine Ahnung was die Ursache war, ist)
Nur per MQTT habe ich noch ein Problem, wenn die Klima ausgeschaltet ist bekomme ich Sie per MQTT nicht an. Per WebIF ist das Einschalten kein problem........... -
@pi_noob15 wie es per mqtt angesteuert wird und welcher state dazu wie beschrieben wird habe ich weiter oben schon beschrieben..
-
@smartboart ok die States kommen ja automatisch über den MQTT Adapter..... und das ich per "Mode" das Gerät einschalte habe ich nach längerem Probieren auch gemerkt . Aber wie splitte ich die Rückmeldungsstring(state) wiederum in einzelne States auf ?
-
@pi_noob15 Wenn du einzelne States daraus ableiten willst, musst du den String mittels script aufbröseln , was ich ebenfalls oben schon erwähnt habe..
Ein Objekt für jede Rückmeldung und dieses Objekt dann entsprechend der Infos aus dem string beschreiben... -
@smartboart sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):
@pi_noob15 Wenn du einzelne States daraus ableiten willst, musst du den String mittels script aufbröseln , was ich ebenfalls oben schon erwähnt habe..
Ein Objekt für jede Rückmeldung und dieses Objekt dann entsprechend der Infos aus dem string beschreiben...kannst du mir kurz erklären wie ich das im groben mache?
Ich muss nen neue States für den aktuellen Status der einzelnen Funktion z.B. "akt_Temp" in diesem State wird dann ein Skript ausgeführt welches sich die Temperatur aus dem String der State variable herausholt ? -
@pi_noob15
hier mein Script dazu.../* Visualisierung und Rückmeldung der Mitsubishi2mqtt strings Breitstellung einzelner Rückmelde States aus den mqtt Strings. Skripterstellung: Smartboart https://forum.iobroker.net/topic/37332/welcher-adapter-f%C3%BCr-klimaanlage-mitsubishi2mqtt/38 */ // Erstellung der States für KlimaGeräte // State Example {"roomTemperature":25,"temperature":31,"fan":"2","vane":"2","action":"heating","mode":"heat"} // Setting Example {"temperature":31,"fan":"2","vane":"2","mode":"heat"} var logging = true; var debug = true; const fC = true; // nach 1. Skriptstart auf false setzen const Statepfad = 'javascript.' + instance + '.Raumklima.Mitsubishi.'; // Trigger const idEGSettings = 'mqtt.0.Mitsubishi.Klima-EG.settings'/*Mitsubishi/Klima-EG/settings*/; const idEGState = 'mqtt.0.Mitsubishi.Klima-EG.state'/*Mitsubishi/Klima-EG/state*/; const idOGSettings = 'mqtt.0.Mitsubishi.Klima-OG.settings'/*Mitsubishi/Klima-OG/settings*/; const idOGState = 'mqtt.0.Mitsubishi.Klima-OG.state'/*Mitsubishi/Klima-OG/state*/; const idConnection = 'mqtt.0.info.connection'/*List of connected clients*/; const idStoerung = 'javascript.0.Vis.KlimaStoerung'/*Klima Stoerung*/; //const id0 = Statepfad + 'Klima-EG.State.Connection'; const id1 = Statepfad + 'Klima-EG.Settings.Temperature'; const id2 = Statepfad + 'Klima-EG.Settings.Fan'; const id3 = Statepfad + 'Klima-EG.Settings.Vane'; const id4 = Statepfad + 'Klima-EG.Settings.Mode'; const id5 = Statepfad + 'Klima-EG.State.RoomTemperature'; const id6 = Statepfad + 'Klima-EG.State.Temperature'; const id7 = Statepfad + 'Klima-EG.State.Fan'; const id8 = Statepfad + 'Klima-EG.State.Vane'; const id9 = Statepfad + 'Klima-EG.State.Action'; const id10 = Statepfad + 'Klima-EG.State.Mode'; const id11 = Statepfad + 'Klima-OG.Settings.Temperature'; const id12 = Statepfad + 'Klima-OG.Settings.Fan'; const id13 = Statepfad + 'Klima-OG.Settings.Vane'; const id14 = Statepfad + 'Klima-OG.Settings.Mode'; const id15 = Statepfad + 'Klima-OG.State.RoomTemperature'; const id16 = Statepfad + 'Klima-OG.State.Temperature'; const id17 = Statepfad + 'Klima-OG.State.Fan'; const id18 = Statepfad + 'Klima-OG.State.Vane'; const id19 = Statepfad + 'Klima-OG.State.Action'; const id20 = Statepfad + 'Klima-OG.State.Mode'; createState(id1, null, fC, { type: 'number', name: 'KlimaEG Temperatur Vorwahl',role:'value'}); createState(id2, null, fC, { type: 'string', name: 'KlimaEG Luefter Vorwahl'}); createState(id3, null, fC, { type: 'string', name: 'KlimaEG Luftstromstellung Vorwahl'}); createState(id4, null, fC, { type: 'string', name: 'Klima EG Modus Vorwahl'}); createState(id5, null, fC, { type: 'number', name: 'KlimaEG Raumtemperatur',role:'value'}); createState(id6, null, fC, { type: 'number', name: 'KlimaEG Geraetestatus Temperatur',role:'value'}); createState(id7, null, fC, { type: 'string', name: 'KlimaEG Geraetestatus Luefter'}); createState(id8, null, fC, { type: 'string', name: 'KlimaEG Geraetestatus Luftstromstellung '}); createState(id9, null, fC, { type: 'string', name: 'KlimaEG Geraetestatus Aktion'}); createState(id10, null, fC, { type: 'string', name: 'KlimaEG Geraetestatus Modus'}); createState(id11, null, fC, { type: 'number', name: 'KlimaOG Temperatur Vorwahl',role:'value'}); createState(id12, null, fC, { type: 'string', name: 'KlimaOG Luefter Vorwahl'}); createState(id13, null, fC, { type: 'string', name: 'KlimaOG Luftstromstellung Vorwahl'}); createState(id14, null, fC, { type: 'string', name: 'KlimaOG Modus Vorwahl'}); createState(id15, null, fC, { type: 'number', name: 'KlimaOG Raumtemperatur',role:'value'}); createState(id16, null, fC, { type: 'number', name: 'KlimaOG Geraetestatus Temperatur',role:'value'}); createState(id17, null, fC, { type: 'string', name: 'KlimaOG Geraetestatus Luefter'}); createState(id18, null, fC, { type: 'string', name: 'KlimaOG Geraetestatus Luftstromstellung '}); createState(id19, null, fC, { type: 'string', name: 'KlimaOG Geraetestatus Aktion'}); createState(id20, null, fC, { type: 'string', name: 'KlimaOG Geraetestatus Modus'}); // Setting Example {"temperature":31,"fan":"2","vane":"2","mode":"heat"} on(idEGSettings, function(dp) { var EGSettings = getState(idEGSettings).val; if(debug)log(['Klima EG: Einstellungen geändert. ' , getState(idEGSettings).val,''].join('') ); let stringsetEG = JSON.parse(dp.state.val); var EGtemperaturesetting = toFloat(stringsetEG.temperature); setState(id1 , EGtemperaturesetting, true); setState(id2 , stringsetEG.fan, true); setState(id3 , stringsetEG.vane, true); setState(id4 , stringsetEG.mode, true); if(logging)log('Klimaanlage EG: Setting: '+ EGtemperaturesetting +' °C Temperatureinstellung, '+stringsetEG.fan+ ' Fan, '+ stringsetEG.vane + ' vane, '+stringsetEG.mode+ ' Mode.'); }); // State Example {"roomTemperature":25,"temperature":31,"fan":"2","vane":"2","action":"heating","mode":"heat"} on(idEGState, function(dp) { var EGState = getState(idEGState).val; if(debug)log(['Klima EG: Status geändert.' , getState(idEGState).val,''].join('') ); let stringstateEG = JSON.parse(dp.state.val); var EGtemperaturestate = toFloat(stringstateEG.temperature); setState(id5 , stringstateEG.roomTemperature, true); setState(id6 , EGtemperaturestate, true); setState(id7 , stringstateEG.fan, true); setState(id8 , stringstateEG.vane, true); setState(id9 , stringstateEG.action, true); setState(id10, stringstateEG.mode, true); if(debug)log('Klimaanlage EG: Status: ' + stringstateEG.roomTemperature + ' °C Raumtemperatur, '+ EGtemperaturestate +' °C Tempstate, '+ stringstateEG.fan +' Fansetting, '+stringstateEG.vane+ ' Vanesetting, '+stringstateEG.action +' Action, '+stringstateEG.mode + ' Mode. '); }); on(idOGSettings, function(dp) { var OGSettings = getState(idOGSettings).val; if(debug)log(['Klima OG: Einstellungen geändert.' , getState(idOGSettings).val,''].join('') ); let stringsetOG = JSON.parse(dp.state.val); var OGtemperaturesetting = toFloat(stringsetOG.temperature); setState(id11 , OGtemperaturesetting, true);; setState(id12 , stringsetOG.fan, true); setState(id13 , stringsetOG.vane, true); setState(id14 , stringsetOG.mode, true); if (logging) log('Klimaanlage OG: Setting: '+ OGtemperaturesetting +' °C Temperatureinstellung, '+stringsetOG.fan+ ' Fan, '+ stringsetOG.vane + ' vane, '+stringsetOG.mode+ ' Mode.'); }); on(idOGState, function(dp) { var OGState = getState(idOGState).val; if(debug)log(['Klima OG: Status geändert.:' , getState(idOGState).val,''].join('') ); let stringstateOG = JSON.parse(dp.state.val); var OGtemperaturestate = toFloat(stringstateOG.temperature); setState(id15 , stringstateOG.roomTemperature, true); setState(id16 , OGtemperaturestate, true); setState(id17 , stringstateOG.fan, true); setState(id18 , stringstateOG.vane, true); setState(id19 , stringstateOG.action, true); setState(id20 , stringstateOG.mode, true); if(debug)log('Klimaanlage OG: Status: ' + stringstateOG.roomTemperature + ' °C Raumtemperatur, '+ OGtemperaturestate +' °C Tempstate, '+ stringstateOG.fan +' Fansetting, '+stringstateOG.vane+ ' Vanesetting, '+stringstateOG.action +' Action, '+stringstateOG.mode + ' Mode. '); });
-
@smartboart ok vielen Dank
Nur wo "packe" ich das jetzt rein, hatte mit dem Thema bisher noch nichts gemacht, daher frag ich. -
@pi_noob15 installiere den javascriptadapter und lese dir die Dokumentation dazu durch.
Das Script must du im javascript Adapter anlegen...Wahrscheinlich musst du noch die Pfadangabe zu deinem mqqt Namen / Pfad in meinem Script anpassen.
Beim mir ist der Name wie folgt. für EG und OG.
const idEGSettings = 'mqtt.0.Mitsubishi.Klima-EG.settings'/Mitsubishi/Klima-EG/settings/;
const idEGState = 'mqtt.0.Mitsubishi.Klima-EG.state'/Mitsubishi/Klima-EG/state/;const idOGSettings = 'mqtt.0.Mitsubishi.Klima-OG.settings'/Mitsubishi/Klima-OG/settings/;
const idOGState = 'mqtt.0.Mitsubishi.Klima-OG.state'/Mitsubishi/Klima-OG/state/;Wenn du nur ein Splitgerät hast, kannst das script noch um mein 2. Gerät einkürzen.