Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Intext App v0.0.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Intext App v0.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • PLCHome 0
      PLCHome 0 Developer @tklein last edited by PLCHome 0

      @tklein Kannst ja mal ne E-Mail an Intex schreiben, warum man das in der App nicht erkennen kann und dir nen Textbaustein abholen 🙂

      T 1 Reply Last reply Reply Quote 0
      • T
        tklein @PLCHome 0 last edited by

        @plchome-0 said in Test Intext App v0.0.x:

        @tklein Kannst ja mal ne E-Mail an Intex schreiben, warum man das in der App nicht erkennen kann und dir nen Textbaustein abholen

        ich lass es auf ein Versuch ankommen 🙂

        1 Reply Last reply Reply Quote 0
        • PLCHome 0
          PLCHome 0 Developer @tklein last edited by

          @tklein said in Test Intext App v0.0.x:

          intex.0 2022-06-05 14:19:51.142 error at Intex.onStateChange (/opt/iobroker/node_modules/iobroker.intex/main.js:581:37)

          Ich hab den Fehler gefunden....

          T 1 Reply Last reply Reply Quote 0
          • T
            tklein @PLCHome 0 last edited by

            @plchome-0 👍

            1 Reply Last reply Reply Quote 0
            • D
              drheck @PLCHome 0 last edited by

              @plchome-0
              Hallo,
              wie hast du das mit der homebridge Anbindung gemacht?
              "Ich hab den jetzt Pool über MQTT in der Homebridge darüber dann in Alexa und Handy."
              Ich finde kein plugin für intex...

              Danke,
              Peter

              PLCHome 0 1 Reply Last reply Reply Quote 0
              • PLCHome 0
                PLCHome 0 Developer @drheck last edited by PLCHome 0

                @drheck Ja, ich hab alles über MQTT an die Homebridge angeklemmt. Allerdings ist die Alexa-Anbindung nun auch kostenpflichtig, aber mit 2$ im Monat fair 🙂
                ioBroker Alexa kostet aber auch nur 1,75 im Monat....

                D 1 Reply Last reply Reply Quote 0
                • D
                  drheck @PLCHome 0 last edited by

                  @plchome-0 Okay. Danke für die Info. Aber wie mache ich das über MQTT? Gibt es dazu eine Anleitung?

                  1 Reply Last reply Reply Quote 0
                  • D
                    Diamand2k22 last edited by

                    @plchome-0

                    Hallo plchome,

                    ist das Skript komplett und kann man dein Skript kopieren. Ich habe die selbe Konstellation mit dem Intex Pool und PV Anlage.

                    Grüße

                    PLCHome 0 1 Reply Last reply Reply Quote 0
                    • PLCHome 0
                      PLCHome 0 Developer @Diamand2k22 last edited by

                      @diamand2k22 Es schauf auf den Akku füllstand...

                      let autoheat = false
                      //const pvSOC='growatt.0.359213.devices.NNCJA2400C.statusData.SOC'/*Soc*/;
                      //const pvOK='growatt.0.info.connection';
                      const pvSOC='0_userdata.0.grott.values.SOC'/*Soc*/;
                      const pvOK='0_userdata.0.grott.buffered';
                      
                      const poolPower = "intex.0.e8fa6219-64f7-4aa2-bac4-b92f37ebf9af.control.Power"
                      const poolHeat = "intex.0.e8fa6219-64f7-4aa2-bac4-b92f37ebf9af.control.Heat"
                      const poolSanitzer = "intex.0.e8fa6219-64f7-4aa2-bac4-b92f37ebf9af.control.Sanitzer"
                      const poolTemperatur = "intex.0.e8fa6219-64f7-4aa2-bac4-b92f37ebf9af.control.Temperature"
                      const poolTargetTemperature = "intex.0.e8fa6219-64f7-4aa2-bac4-b92f37ebf9af.control.TargetTemperature"
                      
                      start()
                      async function start() {
                          let state = await getStateAsync(pvSOC);
                          doHeat(state);
                      }
                      let run=false
                      schedule('0,15,30,45 * * * *', doSchedule) 
                      let errcount = 0
                      async function doSchedule(){
                          if (run) {
                              log ('double run')
                              return
                          }
                          try {
                              run = true
                              log ('check')
                              let [ok,
                                  temp,
                                  state,
                                  heat] = await Promise.all([getStateAsync(pvOK),
                                                              getStateAsync(poolTemperatur),
                                                              getStateAsync(pvSOC),
                                                              getStateAsync(poolHeat)])
                              //if (ok.val == false) 
                              if (ok.val != "no") 
                                  {errcount++} 
                              else 
                                  {errcount = 0};
                              //if (autoheat && ok.val == false && errcount >= 3) {
                              if (autoheat && ok.val != "no" && errcount >= 3) {
                                  if (heat.val)
                                    setState(poolHeat,false,false);
                                  log ('emergency off')
                                  autoheat = false;
                                  sendTo("email.0", {
                                      //from:    "iobroker@mydomain.com",
                                      //to:      "aabbcc@gmail.com, xxyyzz@gmail.com", // comma separated multiple recipients.
                                      subject: "Der Inverter ist seit 45min gestört",
                                      text:    "Die Poolheizung wird bei "+temp.val+"°C abgestellt..."
                                  });
                              } else {
                                  doHeat(state);
                              }
                          } finally {
                              run=false
                          }
                      }
                      
                      on({id: pvSOC, change: "ne"},(obj)=>{doHeat(obj.state)});
                      async function doHeat(state) {
                          let h = (new Date()).getHours()
                          let [ok,
                               temp,
                               target,
                               heat,
                               sanitzer] = await Promise.all([getStateAsync(pvOK),
                                                          getStateAsync(poolTemperatur),
                                                          getStateAsync(poolTargetTemperature),
                                                          getStateAsync(poolHeat),
                                                          getStateAsync(poolSanitzer)])
                          //if (!autoheat && (ok.val == true) && (((state.val >= 30) && (h >= 4) && (h <= 8)) ||((state.val >= 60) && (h >= 9) && (h <= 10)) || ((state.val >= 85) && (h >= 11) && (h <= 15)))) {
                          if (!autoheat && (ok.val == "no") && (((state.val >= 30) && (h >= 4) && (h <= 8)) ||((state.val >= 60) && (h >= 9) && (h <= 10)) || ((state.val >= 85) && (h >= 11) && (h <= 15)))) {
                              autoheat = true;
                              //setState(poolPower,true,false);
                              if (sanitzer.val)  setState(poolSanitzer,false,false);
                              if (!heat.val)  setState(poolHeat,true,false);
                              log ('on')
                              sendTo("email.0", {
                                  //from:    "iobroker@mydomain.com",
                                  //to:      "aabbcc@gmail.com, xxyyzz@gmail.com", // comma separated multiple recipients.
                                  subject: "Es ist viel Sonne am Himmel",
                                  text:    "Der Pool wird bei "+temp.val+"°C auf "+target.val+"°C geheitzt..."
                              });
                          } else if (autoheat && (((state.val < 80) && (h > 12) ) || ((state.val < 95) && (h > 17)) || ((state.val < 55) && (h >= 9) && (h <= 12))|| ((state.val < 29) && (h >= 4) && (h <= 8)))) {
                              autoheat = false;
                              if (heat.val)  setState(poolHeat,false,false);
                              log ('off')
                              sendTo("email.0", {
                                  //from:    "iobroker@mydomain.com",
                                  //to:      "aabbcc@gmail.com, xxyyzz@gmail.com", // comma separated multiple recipients.
                                  subject: "Die Sonne geht weg",
                                  text:    "Die Poolheizung wird bei "+temp.val+"°C abgestellt..."
                              });
                          }
                      };
                      
                      D 1 Reply Last reply Reply Quote 0
                      • D
                        Diamand2k22 @PLCHome 0 last edited by

                        @plchome-0

                        danke dir, ein geniales Skript! Genau sowas habe ich gesucht, vielen dank!

                        VG Thomas

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          Diamand2k22 @Diamand2k22 last edited by

                          @plchome-0

                          eine Frage noch, welche Funktion hast du noch bei doheat () hinterlegt?

                          Gruß

                          PLCHome 0 1 Reply Last reply Reply Quote 0
                          • PLCHome 0
                            PLCHome 0 Developer @Diamand2k22 last edited by

                            @diamand2k22
                            doSchedule prüft ob der Inverter erreichbar ist und schaltet dann ab
                            doHeat prüft den Füllstand des Akku und die Uhrzeit

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Diamand2k22 @PLCHome 0 last edited by

                              @plchome-0

                              ok danke, kannst du da eine Vorlage posten? ich weiß du hast dir da viel Mühe gemacht, aber stehe noch am Anfang was JavaSscript betrifft und tu mich da etwas schwer, mit blockly gehts da so einigermaßen 😄

                              Grüße

                              PLCHome 0 1 Reply Last reply Reply Quote 0
                              • PLCHome 0
                                PLCHome 0 Developer @Diamand2k22 last edited by

                                @diamand2k22 Mehr als das Script habe ich nicht.

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Diamand2k22 @PLCHome 0 last edited by

                                  @plchome-0

                                  ok trotzdem danke! dann schau ich mal, dass ich mir was zusammen bastel 😄

                                  PLCHome 0 1 Reply Last reply Reply Quote 0
                                  • PLCHome 0
                                    PLCHome 0 Developer @Diamand2k22 last edited by

                                    @diamand2k22 h ist die Sunde am Tag, state.val ist der Akkustand

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      Diamand2k22 @PLCHome 0 last edited by

                                      @plchome-0

                                      ich hab das Skript auf WhatsApp umgestellt.
                                      kann dir mal kurz zeigen, wie es aussieht.

                                      
                                      let autoheat = false
                                      const pvSOC='fronius.0.powerflow.P_PV'/*pv power*/;
                                      //const pvOK='growatt.0.info.connection';
                                      const pvOK='';
                                       
                                      const poolPower = "intex.0.7e88c852-bc88-4470-a009-d8d4744363f6.control.Power"
                                      const poolHeat = "intex.0.7e88c852-bc88-4470-a009-d8d4744363f6.control.Heat"
                                      const poolSanitzer = "intex.0.7e88c852-bc88-4470-a009-d8d4744363f6.control.Sanitzer"
                                      const poolTemperatur = "intex.0.7e88c852-bc88-4470-a009-d8d4744363f6.control.Temperature"
                                      const poolTargetTemperature = "intex.0.7e88c852-bc88-4470-a009-d8d4744363f6.control.TargetTemperature"
                                       
                                      start()
                                      async function start() {
                                          let state = await getStateAsync(pvSOC);
                                          doHeat(state);
                                      }
                                      let run=false
                                      schedule('0,15,30,45 * * * *', doSchedule) 
                                      let errcount = 0
                                      async function doSchedule(){
                                          if (run) {
                                              log ('double run')
                                              return
                                          }
                                          try {
                                              run = true
                                              log ('check')
                                              let [ok,
                                                  temp,
                                                  state,
                                                  heat] = await Promise.all([getStateAsync(pvOK),
                                                                              getStateAsync(poolTemperatur),
                                                                              getStateAsync(pvSOC),
                                                                              getStateAsync(poolHeat)])
                                              //if (ok.val == false) 
                                              if (ok.val != "no") 
                                                  {errcount++} 
                                              else 
                                                  {errcount = 0};
                                              //if (autoheat && ok.val == false && errcount >= 3) {
                                              if (autoheat && ok.val != "no" && errcount >= 3) {
                                                  if (heat.val)
                                                    setState(poolHeat,false,false);
                                                  log ('emergency off')
                                                  autoheat = false;
                                                  sendTo("whatsapp-cmb.0", "send", {
                                                      text:    "*Der Inverter ist seit 45min gestört!*<br>Die Poolheizung wird bei "+temp.val+"°C abgestellt..."
                                                  });
                                              } else {
                                                  doHeat(state);
                                              }
                                          } finally {
                                              run=false
                                          }
                                      }
                                       
                                      on({id: pvSOC, change: "ne"},(obj)=>{doHeat(obj.state)});
                                      async function doHeat(state) {
                                          let h = (new Date()).getHours()
                                          let [ok,
                                               temp,
                                               target,
                                               heat,
                                               sanitzer] = await Promise.all([getStateAsync(pvOK),
                                                                          getStateAsync(poolTemperatur),
                                                                          getStateAsync(poolTargetTemperature),
                                                                          getStateAsync(poolHeat),
                                                                          getStateAsync(poolSanitzer)])
                                          //if (!autoheat && (ok.val == true) && (((state.val >= 30) && (h >= 4) && (h <= 8)) ||((state.val >= 60) && (h >= 9) && (h <= 10)) || ((state.val >= 85) && (h >= 11) && (h <= 15)))) {
                                          if (!autoheat && (ok.val == "no") && (((state.val >= 30) && (h >= 4) && (h <= 8)) ||((state.val >= 60) && (h >= 9) && (h <= 10)) || ((state.val >= 85) && (h >= 11) && (h <= 15)))) {
                                              autoheat = true;
                                              //setState(poolPower,true,false);
                                              if (sanitzer.val)  setState(poolSanitzer,false,false);
                                              if (!heat.val)  setState(poolHeat,true,false);
                                              log ('on')
                                              sendTo("whatsapp-cmb.0", "send", {
                                                  text:    "*Es ist viel Sonne am Himmel!*<br>Der Pool wird bei "+temp.val+"°C auf "+target.val+"°C geheitzt..."
                                              });
                                          } else if (autoheat && (((state.val < 80) && (h > 12) ) || ((state.val < 95) && (h > 17)) || ((state.val < 55) && (h >= 9) && (h <= 12))|| ((state.val < 29) && (h >= 4) && (h <= 8)))) {
                                              autoheat = false;
                                              if (heat.val)  setState(poolHeat,false,false);
                                              log ('off')
                                              sendTo("whatsapp-cmb.0", "send", {
                                                  subject: "Die Sonne geht weg",
                                                  text:    "*Die Sonne geht weg!*<br>Die Poolheizung wird bei "+temp.val+"°C abgestellt..."
                                              });
                                          }
                                      };
                                      

                                      er bring mir als Fehler:

                                      pool.JPG

                                      Gruß

                                      1 Reply Last reply Reply Quote 0
                                      • PLCHome 0
                                        PLCHome 0 Developer last edited by PLCHome 0

                                        @diamand2k22 ja der Objektname für pvOK fehlt. Daher ist der State für ok null und hat keine Propety val.
                                        Das Script geht auch auf Akkustand 0%-100% und nicht auf PV-Leistung.
                                        Durch die schwankende Leistung wird das so nicht funktionieren.

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          Diamand2k22 @PLCHome 0 last edited by

                                          @plchome-0

                                          Ok, Leider habe ich meinen Akku noch nicht.
                                          Dann schau ich mal ob ich das Skript auf pv überschuss Leistung in w umgestellt bekommen.
                                          Const pvOK liefert True or false Signal oder?

                                          Danke und Grüße

                                          PLCHome 0 1 Reply Last reply Reply Quote 0
                                          • PLCHome 0
                                            PLCHome 0 Developer @Diamand2k22 last edited by

                                            @diamand2k22

                                            && (ok.val == "no")
                                            

                                            in den auskommentierten Zeilen ist es true

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            794
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            192
                                            19377
                                            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