Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Welcher Adapter für Klimaanlage(mitsubishi2MQTT)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Welcher Adapter für Klimaanlage(mitsubishi2MQTT)

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pi_noob15 @smartboart last edited by

      @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 ?

      smartboart 1 Reply Last reply Reply Quote 0
      • smartboart
        smartboart @pi_noob15 last edited by smartboart

        @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. ');
        });
        
        P 1 Reply Last reply Reply Quote 0
        • P
          pi_noob15 @smartboart last edited by

          @smartboart ok vielen Dank 👍
          Nur wo "packe" ich das jetzt rein, hatte mit dem Thema bisher noch nichts gemacht, daher frag ich.

          smartboart 1 Reply Last reply Reply Quote 0
          • smartboart
            smartboart @pi_noob15 last edited by smartboart

            @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.

            P 1 Reply Last reply Reply Quote 0
            • P
              pi_noob15 @smartboart last edited by pi_noob15

              @smartboart Danke für die Info, habe das mal soweit auf mich angepasst. Aber irgendwie werden keine states angelegt.
              52ff642a-b0b6-4590-b34c-e941d4c8d3d4-grafik.png
              Blöderweise kommt auch keine Fehlermeldung.

              /*
              
              Visualisierung und Rückmeldung der Mitsubishi2mqtt strings
              
              Breitstellung einzelner Rückmelde States aus den mqtt Strings.
              
              {1}
              
              Skripterstellung: Smartboart
              
              {1}
              
              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 idKISettings = 'mqtt.0.mitsubishi2mqtt.Klima_kinder.settings'/*mitsubishi2mqtt/Klima_kinder/settings*/;
              
              const idKIState = 'mqtt.0.mitsubishi2mqtt.Klima_kinder.state'/*mitsubishi2mqtt/Klima_kinder/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_kinder.Settings.Temperature';
              
              const id2 = Statepfad + 'Klima_kinder.Settings.Fan';
              
              const id3 = Statepfad + 'Klima_kinder.Settings.Vane';
              
              const id4 = Statepfad + 'Klima_kinder.Settings.Mode';
              
              const id5 = Statepfad + 'Klima_kinder.State.RoomTemperature';
              
              const id6 = Statepfad + 'Klima_kinder.State.Temperature';
              
              const id7 = Statepfad + 'Klima_kinder.State.Fan';
              
              const id8 = Statepfad + 'Klima_kinder.State.Vane';
              
              const id9 = Statepfad + 'Klima_kinder.State.Action';
              
              const id10 = Statepfad + 'Klima_kinder.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: 'Klima_kinder Temperatur Vorwahl',role:'value'});
              
              createState(id2, null, fC, { type: 'string', name: 'Klima_kinder Luefter Vorwahl'});
              
              createState(id3, null, fC, { type: 'string', name: 'Klima_kinder Luftstromstellung Vorwahl'});
              
              createState(id4, null, fC, { type: 'string', name: 'Klima_kinder Modus Vorwahl'});
              
              createState(id5, null, fC, { type: 'number', name: 'Klima_kinder Raumtemperatur',role:'value'});
              
              createState(id6, null, fC, { type: 'number', name: 'Klima_kinder Geraetestatus Temperatur',role:'value'});
              
              createState(id7, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Luefter'});
              
              createState(id8, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Luftstromstellung '});
              
              createState(id9, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Aktion'});
              
              createState(id10, null, fC, { type: 'string', name: 'Klima_kinder 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(idKISettings, function(dp) {
              
              var KISettings = getState(idKISettings).val;   
              
              if(debug)log(['Klima_kinder: Einstellungen geändert. ' , getState(idKISettings).val,''].join('') );
              
              let stringsetKI = JSON.parse(dp.state.val);
              
              var KItemperaturesetting = toFloat(stringsetKI.temperature);
              
              setState(id1 , KItemperaturesetting, true);
              
              setState(id2 , stringsetKI.fan, true);
              
              setState(id3 , stringsetKI.vane, true);
              
              setState(id4 , stringsetKI.mode, true);
              
              if(logging)log('Klimaanlage Kinder: Setting: '+ KItemperaturesetting +' °C Temperatureinstellung, '+stringsetKI.fan+ ' Fan, '+ stringsetKI.vane + ' vane, '+stringsetKI.mode+ ' Mode.');
              
              });
              
               
              
               
              
              // State Example {"roomTemperature":25,"temperature":31,"fan":"2","vane":"2","action":"heating","mode":"heat"}
              
               
              
              on(idKIState, function(dp) {
              
              var KIState = getState(idKIState).val;     
              
              if(debug)log(['Klima Kinder: Status geändert.' , getState(idKIState).val,''].join('') );
              
              let stringstateKI = JSON.parse(dp.state.val);
              
              var KItemperaturestate = toFloat(stringstateKI.temperature);
              
              setState(id5 , stringstateKI.roomTemperature, true);
              
              setState(id6 , KItemperaturestate, true);
              
              setState(id7 , stringstateKI.fan, true);
              
              setState(id8 , stringstateKI.vane, true);
              
              setState(id9 , stringstateKI.action, true);
              
              setState(id10, stringstateKI.mode, true);
              
              if(debug)log('Klimaanlage Kinder: Status: ' + stringstateKI.roomTemperature + ' °C Raumtemperatur, '+ KItemperaturestate +' °C Tempstate, '+ stringstateKI.fan +' Fansetting, '+stringstateKI.vane+ ' Vanesetting, '+stringstateKI.action +' Action, '+stringstateKI.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. ');
              
              //});
              

              Klima läuft soweit:
              d9fdd993-e645-41f0-80ce-c8d7f04f324b-grafik.png

              smartboart 1 Reply Last reply Reply Quote 0
              • smartboart
                smartboart @pi_noob15 last edited by

                @pi_noob15 ohne lange zu schauen...mal den browser aktualisiert und oder browser cache gelöscht?

                P 1 Reply Last reply Reply Quote 0
                • P
                  pi_noob15 @smartboart last edited by

                  @smartboart oh man... hattest recht... sind nun da....👍
                  Aber ohne werte
                  EF6D0D33-3633-4B31-9856-6B4208B37F36.jpeg

                  smartboart 2 Replies Last reply Reply Quote 0
                  • smartboart
                    smartboart @pi_noob15 last edited by smartboart

                    @pi_noob15 werden erst geschrieben wenn sich der status des KlimaGerät ändert....und mach forcecreation fC = false nachdem sie nun angelegt sind ...sonst sind die werte immer weg nach einem neustart..

                    1 Reply Last reply Reply Quote 0
                    • smartboart
                      smartboart @pi_noob15 last edited by

                      @pi_noob15 Wenn du alles richtig abgeändert hast muss es gehen. Wenn was nicht geht überprüfe deine Änderungen...

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        pi_noob15 @smartboart last edited by

                        @smartboart ok mittlerweile sind die states da....
                        aber blöde Frage für was sind die "settings"
                        8768a9e7-d93d-4832-918f-d19fe693e41a-grafik.png

                        smartboart 1 Reply Last reply Reply Quote 0
                        • smartboart
                          smartboart @pi_noob15 last edited by smartboart

                          @pi_noob15 sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):

                          @smartboart ok mittlerweile sind die states da....
                          aber blöde Frage für was sind die "settings"
                          8768a9e7-d93d-4832-918f-d19fe693e41a-grafik.png

                          Settings sind das was du einstellst Also Info von dem was du per mqtt als Befehle an die Anlage schickst und State ist das was die Anlage macht. Also die Rückmeldung...
                          Die Settings folgen also den MqTT Befehlen an die Anlage und die Settings folgen dann der Rückmeldung der Anlage.
                          Wenn beides dann nach kurzer Zeit gleich ist, hat die Anlage den Befehl angenommen und umgesetzt.

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            pi_noob15 @smartboart last edited by pi_noob15

                            @smartboart danke für die Info 👍
                            aber die setzen tue ich ja die Parameter per MQTT.
                            Sobald ich per MQTT was schicke ändert sich das "setting" sobald die Anlage es dann übernommen hat der "State" quasi die Rückmeldung der Anlage dann. Wenn ich das so richtig verstanden habe.
                            Wie hast du eigentlicht die Vis Oberfläche zu steuerung der Klima umgesetzt, ich hab da im Moment noch keine Richtige Vorstellung....

                            smartboart 1 Reply Last reply Reply Quote 0
                            • smartboart
                              smartboart @pi_noob15 last edited by smartboart

                              @pi_noob15 sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):

                              @smartboart danke für die Info 👍
                              aber die setzen tue ich ja die Parameter per MQTT.
                              Sobald ich per MQTT was schicke ändert sich das "setting" sobald die Anlage es dann übernommen hat der "State" quasi die Rückmeldung der Anlage dann. Wenn ich das so richtig verstanden habe.
                              Wie hast du eigentlicht die Vis Oberfläche zu steuerung der Klima umgesetzt, ich hab da im Moment noch keine Richtige Vorstellung....

                              ja ...das script stellt dir nur die Rückmeldungen als einzelnen states aus den beiden mqtt strings zur Verfügung. Damit kann man dann eine vernünftige Vis erstellen ...

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                pi_noob15 @smartboart last edited by pi_noob15

                                @smartboart ich habe dein Skript mal noch um den "wideVane" Status ergänzt, sowie um die Kompressorfrequenz. Beim zweiteren habe ich jedoch probleme da die Frequenz im StateString nicht wie die anderen Werte in "0" steht sonder so.

                                {"roomTemperature":29.5,"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"off","action":"off","compressorFrequency":0}
                                

                                Der Variabentyp ist ja theoretisch egal, da ich den Werte ja nur anzeigen möchte, oder ?
                                Mein angepasstes Skript sieht im Moment so aus:

                                /*
                                
                                Visualisierung und Rückmeldung der Mitsubishi2mqtt strings
                                
                                Breitstellung einzelner Rückmelde States aus den mqtt Strings.
                                
                                {1}
                                
                                Skripterstellung: Smartboart
                                
                                
                                {1}
                                
                                https://forum.iobroker.net/topic/37332/welcher-adapter-f%C3%BCr-klimaanlage-mitsubishi2mqtt/38 
                                
                                */
                                
                                // Erstellung der States für KlimaGeräte Bsp. Gerät MSZ-AP25VGK
                                
                                
                                // State Example {"roomTemperature":27,"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only","action":"fan","compressorFrequency":0}
                                
                                // Setting Example {"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only"}
                                 
                                
                                var logging = true;
                                
                                var debug = true;
                                
                                const fC = false; // nach 1. Skriptstart auf false setzen
                                
                                const Statepfad = 'javascript.' + instance + '.Raumklima.Mitsubishi.';
                                
                                 
                                
                                 
                                
                                // Trigger
                                
                                const idKISettings = 'mqtt.0.mitsubishi2mqtt.Klima_kinder.settings'/*mitsubishi2mqtt/Klima_kinder/settings*/;
                                
                                const idKIState = 'mqtt.0.mitsubishi2mqtt.Klima_kinder.state'/*mitsubishi2mqtt/Klima_kinder/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_kinder.Settings.Temperature';
                                
                                const id2 = Statepfad + 'Klima_kinder.Settings.Fan';
                                
                                const id3 = Statepfad + 'Klima_kinder.Settings.Vane';
                                
                                const id4 = Statepfad + 'Klima_kinder.Settings.Mode';
                                
                                const id5 = Statepfad + 'Klima_kinder.Settings.wideVane';
                                
                                const id6 = Statepfad + 'Klima_kinder.State.RoomTemperature';
                                
                                const id7 = Statepfad + 'Klima_kinder.State.Temperature';
                                
                                const id8 = Statepfad + 'Klima_kinder.State.Fan';
                                
                                const id9 = Statepfad + 'Klima_kinder.State.Vane';
                                
                                const id10 = Statepfad + 'Klima_kinder.State.wideVane';
                                
                                const id11 = Statepfad + 'Klima_kinder.State.Action';
                                
                                const id12 = Statepfad + 'Klima_kinder.State.Mode';
                                
                                const id13 = Statepfad + 'Klima_kinder.State.Compressor';
                                
                                 
                                
                                 
                                
                                createState(id1, null, fC, { type: 'number', name: 'Klima_kinder Temperatur Vorwahl',role:'value'});
                                
                                createState(id2, null, fC, { type: 'string', name: 'Klima_kinder Luefter Vorwahl'});
                                
                                createState(id3, null, fC, { type: 'string', name: 'Klima_kinder Luftstromstellung vertikal Vorwahl'});
                                
                                createState(id4, null, fC, { type: 'string', name: 'Klima_kinder Modus Vorwahl'});
                                
                                createState(id5, null, fC, { type: 'string', name: 'Klima_kinder Luftstromstellung horizontal Vorwahl'});
                                
                                createState(id6, null, fC, { type: 'number', name: 'Klima_kinder Raumtemperatur',role:'value'});
                                
                                createState(id7, null, fC, { type: 'number', name: 'Klima_kinder Geraetestatus Temperatur',role:'value'});
                                
                                createState(id8, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Luefter'});
                                
                                createState(id9, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus vertikal Luftstromstellung '});
                                
                                createState(id10, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus horizontal Luftstromstellung '});
                                
                                createState(id11, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Aktion'});
                                
                                createState(id12, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Modus'});
                                
                                createState(id13, null, fC, { type: 'string', name: 'Klima_kinder Kompressor Frequenz'});
                                
                                
                                
                                // Setting Example {"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only"}
                                  
                                
                                 
                                
                                on(idKISettings, function(dp) {
                                
                                var KISettings = getState(idKISettings).val;   
                                
                                if(debug)log(['Klima_kinder: Einstellungen geändert. ' , getState(idKISettings).val,''].join('') );
                                
                                let stringsetKI = JSON.parse(dp.state.val);
                                
                                var KItemperaturesetting = toFloat(stringsetKI.temperature);
                                
                                setState(id1 , KItemperaturesetting, true);
                                
                                setState(id2 , stringsetKI.fan, true);
                                
                                setState(id3 , stringsetKI.vane, true);
                                
                                setState(id5 , stringsetKI.wideVane, true);
                                
                                setState(id4 , stringsetKI.mode, true);
                                
                                
                                
                                if(logging)log('Klimaanlage Kinder: Setting: '+ KItemperaturesetting +' °C Temperatureinstellung, '+stringsetKI.fan+ ' Fan, '+ stringsetKI.vane + ' vane, '+ stringsetKI.wideVane + ' wideVane,'+stringsetKI.mode+ ' Mode.');
                                
                                });
                                
                                 
                                
                                 
                                
                                
                                // State Example {"roomTemperature":27,"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only","action":"fan","compressorFrequency":0}
                                 
                                
                                on(idKIState, function(dp) {
                                
                                var KIState = getState(idKIState).val;     
                                
                                if(debug)log(['Klima Kinder: Status geändert.' , getState(idKIState).val,''].join('') );
                                
                                let stringstateKI = JSON.parse(dp.state.val);
                                
                                var KItemperaturestate = toFloat(stringstateKI.temperature);
                                
                                setState(id6 , stringstateKI.roomTemperature, true);
                                
                                setState(id7 , KItemperaturestate, true);
                                
                                setState(id8 , stringstateKI.fan, true);
                                
                                setState(id9 , stringstateKI.vane, true);
                                
                                setState(id10 , stringstateKI.wideVane, true);
                                
                                setState(id11 , stringstateKI.mode, true);
                                
                                setState(id12, stringstateKI.action, true);
                                
                                setState(id13, stringstateKI.compressor, true);
                                
                                if(debug)log('Klimaanlage Kinder: Status: ' + stringstateKI.roomTemperature + ' °C Raumtemperatur, '+ KItemperaturestate +' °C Tempstate, '+ stringstateKI.fan +' Fansetting, '+ stringstateKI.vane + ' Vanesetting, '+stringstateKI.wideVane+ ' wideVanesetting, '+stringstateKI.mode +' Mode, '+stringstateKI.action + ' Action,'+ stringstateKI.compressor +' Compressor, ');
                                
                                });
                                
                                

                                Und die Objektansicht:
                                f7e45f6a-7715-4e02-baf1-5a7e615fef6c-grafik.png

                                smartboart 1 Reply Last reply Reply Quote 0
                                • smartboart
                                  smartboart last edited by smartboart

                                  @pi_noob15 sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):

                                  ch habe dein Skript mal noch um den "wideVane" Status ergänzt, sowie um die Kompressorfrequenz. Beim zweiteren habe ich jedoch probleme da die Frequenz im StateString nicht wie die anderen Werte in "0" steht sonder so. Der Variabentyp ist ja theoretisch egal, da ich den Werte ja nur anzeigen möchte, oder ?

                                  ohne "" ist es kein string sonder typ number...
                                  Ich würde den Kompressor Typ number nehmen.

                                  Aber mal zu der neuen Firmware mitsubishi2mqtt, die liefert bei mir teilweise Müll zurück, deshalb hatte ich ein issue auf github aufgemacht. Ist das bereits gelöst?

                                  P 1 Reply Last reply Reply Quote 0
                                  • smartboart
                                    smartboart @pi_noob15 last edited by

                                    @pi_noob15
                                    und den type number state musst du so füllen

                                    setState(id13, stringstateKI.compressorFrequency, true);

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pi_noob15 @smartboart last edited by pi_noob15

                                      @smartboart ok habe Typ numer gesetzt

                                      createState(id13, null, fC, { type: 'number', name: 'Klima_kinder Kompressor Frequenz'});
                                      

                                      befüllt wird das ja dann so oder ?

                                      
                                      setState(id13, stringstateKI.compressorFrequency, true);
                                      
                                      if(debug)log('Klimaanlage Kinder: Status: ' + stringstateKI.roomTemperature + ' °C Raumtemperatur, '+ KItemperaturestate +' °C Tempstate, '+ stringstateKI.fan +' Fansetting, '+ stringstateKI.vane + ' Vanesetting, '+stringstateKI.wideVane+ ' wideVanesetting, '+stringstateKI.mode +' Mode, '+stringstateKI.action + ' Action,'+ stringstateKI.compressor +' compressorFrequency, ');
                                      

                                      also ich kann mich bisher nicht beklagen bezgl. der Firmware.
                                      Skript läuft jetzt 👍

                                      Hier das aktuelle Skript:

                                      /*
                                      
                                      Visualisierung und Rückmeldung der Mitsubishi2mqtt strings
                                      
                                      Breitstellung einzelner Rückmelde States aus den mqtt Strings.
                                      Verwendetes Gerät MSZ-AP25VGK
                                      
                                      {1}
                                      
                                      Skripterstellung: Smartboart
                                      Aktualisierung: pi_noob15
                                      Version: 1.0
                                      
                                      {1}
                                      
                                      https://forum.iobroker.net/topic/37332/welcher-adapter-f%C3%BCr-klimaanlage-mitsubishi2mqtt/38 
                                      
                                      */
                                      
                                      
                                      // State Example {"roomTemperature":27,"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only","action":"fan","compressorFrequency":0}
                                      
                                      // Setting Example {"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only"}
                                       
                                      
                                      var logging = true;
                                      
                                      var debug = true;
                                      
                                      const fC = false; // nach 1. Skriptstart auf false setzen
                                      
                                      const Statepfad = 'javascript.' + instance + '.Raumklima.Mitsubishi.';
                                      
                                       
                                      
                                       
                                      
                                      // Trigger
                                      
                                      const idKISettings = 'mqtt.0.mitsubishi2mqtt.Klima_kinder.settings'/*mitsubishi2mqtt/Klima_kinder/settings*/;
                                      
                                      const idKIState = 'mqtt.0.mitsubishi2mqtt.Klima_kinder.state'/*mitsubishi2mqtt/Klima_kinder/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_kinder.Settings.Temperature';
                                      
                                      const id2 = Statepfad + 'Klima_kinder.Settings.Fan';
                                      
                                      const id3 = Statepfad + 'Klima_kinder.Settings.Vane';
                                      
                                      const id4 = Statepfad + 'Klima_kinder.Settings.Mode';
                                      
                                      const id5 = Statepfad + 'Klima_kinder.Settings.wideVane';
                                      
                                      const id6 = Statepfad + 'Klima_kinder.State.RoomTemperature';
                                      
                                      const id7 = Statepfad + 'Klima_kinder.State.Temperature';
                                      
                                      const id8 = Statepfad + 'Klima_kinder.State.Fan';
                                      
                                      const id9 = Statepfad + 'Klima_kinder.State.Vane';
                                      
                                      const id10 = Statepfad + 'Klima_kinder.State.wideVane';
                                      
                                      const id11 = Statepfad + 'Klima_kinder.State.Action';
                                      
                                      const id12 = Statepfad + 'Klima_kinder.State.Mode';
                                      
                                      const id13 = Statepfad + 'Klima_kinder.State.Compressor';
                                      
                                       
                                      
                                       
                                      
                                      createState(id1, null, fC, { type: 'number', name: 'Klima_kinder Temperatur Vorwahl',role:'value'});
                                      
                                      createState(id2, null, fC, { type: 'string', name: 'Klima_kinder Luefter Vorwahl'});
                                      
                                      createState(id3, null, fC, { type: 'string', name: 'Klima_kinder Luftstromstellung vertikal Vorwahl'});
                                      
                                      createState(id4, null, fC, { type: 'string', name: 'Klima_kinder Modus Vorwahl'});
                                      
                                      createState(id5, null, fC, { type: 'string', name: 'Klima_kinder Luftstromstellung horizontal Vorwahl'});
                                      
                                      createState(id6, null, fC, { type: 'number', name: 'Klima_kinder Raumtemperatur',role:'value'});
                                      
                                      createState(id7, null, fC, { type: 'number', name: 'Klima_kinder Geraetestatus Temperatur',role:'value'});
                                      
                                      createState(id8, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Luefter'});
                                      
                                      createState(id9, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus vertikal Luftstromstellung '});
                                      
                                      createState(id10, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus horizontal Luftstromstellung '});
                                      
                                      createState(id11, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Aktion'});
                                      
                                      createState(id12, null, fC, { type: 'string', name: 'Klima_kinder Geraetestatus Modus'});
                                      
                                      createState(id13, null, fC, { type: 'number', name: 'Klima_kinder Kompressor Frequenz'});
                                      
                                      
                                      
                                      // Setting Example {"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only"}
                                        
                                      
                                       
                                      
                                      on(idKISettings, function(dp) {
                                      
                                      var KISettings = getState(idKISettings).val;   
                                      
                                      if(debug)log(['Klima_kinder: Einstellungen geändert. ' , getState(idKISettings).val,''].join('') );
                                      
                                      let stringsetKI = JSON.parse(dp.state.val);
                                      
                                      var KItemperaturesetting = toFloat(stringsetKI.temperature);
                                      
                                      setState(id1 , KItemperaturesetting, true);
                                      
                                      setState(id2 , stringsetKI.fan, true);
                                      
                                      setState(id3 , stringsetKI.vane, true);
                                      
                                      setState(id5 , stringsetKI.wideVane, true);
                                      
                                      setState(id4 , stringsetKI.mode, true);
                                      
                                      
                                      
                                      if(logging)log('Klimaanlage Kinder: Setting: '+ KItemperaturesetting +' °C Temperatureinstellung, '+stringsetKI.fan+ ' Fan, '+ stringsetKI.vane + ' vane, '+ stringsetKI.wideVane + ' wideVane,'+stringsetKI.mode+ ' Mode.');
                                      
                                      });
                                      
                                       
                                      
                                       
                                      
                                      
                                      // State Example {"roomTemperature":27,"temperature":23,"fan":"1","vane":"SWING","wideVane":"|","mode":"fan_only","action":"fan","compressorFrequency":0}
                                       
                                      
                                      on(idKIState, function(dp) {
                                      
                                      var KIState = getState(idKIState).val;     
                                      
                                      if(debug)log(['Klima Kinder: Status geändert.' , getState(idKIState).val,''].join('') );
                                      
                                      let stringstateKI = JSON.parse(dp.state.val);
                                      
                                      var KItemperaturestate = toFloat(stringstateKI.temperature);
                                      
                                      setState(id6 , stringstateKI.roomTemperature, true);
                                      
                                      setState(id7 , KItemperaturestate, true);
                                      
                                      setState(id8 , stringstateKI.fan, true);
                                      
                                      setState(id9 , stringstateKI.vane, true);
                                      
                                      setState(id10 , stringstateKI.wideVane, true);
                                      
                                      setState(id11 , stringstateKI.mode, true);
                                      
                                      setState(id12, stringstateKI.action, true);
                                      
                                      setState(id13, stringstateKI.compressorFrequency, true);
                                      
                                      if(debug)log('Klimaanlage Kinder: Status: ' + stringstateKI.roomTemperature + ' °C Raumtemperatur, '+ KItemperaturestate +' °C Tempstate, '+ stringstateKI.fan +' Fansetting, '+ stringstateKI.vane + ' Vanesetting, '+stringstateKI.wideVane+ ' wideVanesetting, '+stringstateKI.mode +' Mode, '+stringstateKI.action + ' Action,'+ stringstateKI.compressor +' compressorFrequency, ');
                                      
                                      });
                                      
                                      
                                      smartboart 2 Replies Last reply Reply Quote 0
                                      • smartboart
                                        smartboart @pi_noob15 last edited by smartboart

                                        @pi_noob15 sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):

                                        also ich kann mich bisher nicht beklagen bezgl. der Firmware.

                                        ok benutz du noch die bin die ich dir erstellt hatte, da hatte ich es ja anders gelöst...Aber heute ist hier wohl was passiert..

                                        P 1 Reply Last reply Reply Quote 0
                                        • smartboart
                                          smartboart @pi_noob15 last edited by

                                          @pi_noob15 sagte in Welcher Adapter für Klimaanlage(mitsubishi2MQTT):

                                          befüllt wird das ja dann so oder ?

                                          ja genau so..

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            pi_noob15 @smartboart last edited by

                                            @smartboart ich hatte ja versucht die per OTA Update zu laden, ging dann aber nicht, vielleicht da ich den Huzzah von Adafruit verwende. Werde bei der nächsten Klima dann den Wemos D1 Mini nehmen, da ich ja ein anderes Problem hatte, und einfach alle Fehlerquellen ausschließen wollte.

                                            P 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            784
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter klimaanlage mqtt
                                            7
                                            74
                                            9977
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo