Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Intext App v0.0.x

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Test Intext App v0.0.x

Geplant Angeheftet Gesperrt Verschoben Tester
203 Beiträge 19 Kommentatoren 32.8k Aufrufe 14 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • PLCHome 0P PLCHome 0

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

    Hallo nochmal,
    so wie ich das sehe, zeigt der DP "heat" an, ob gerade geheitzt wird oder nicht. Kann ich an einem anderen DP erkennen, ob die Heizung angeschaltet (muss halt nicht heizen, falls Isttemp noch vorhanden) ist?

    Also ich sehe keine Änderung in den Values wenn die Heizung die Zieltemperatur erreicht hat, auch in der App wird das nicht angezeigt.
    Lediglich am Bedienteil wird die LED grün.
    Oder was meinst du?

    T Offline
    T Offline
    tklein
    schrieb am zuletzt editiert von
    #61

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

    Lediglich am Bedienteil wird die LED grün.
    Oder was meinst du?

    Ja genau das wäre es. So sieht man, ob die Heizung aktiv heizt.

    PLCHome 0P 1 Antwort Letzte Antwort
    0
    • T tklein

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

      Lediglich am Bedienteil wird die LED grün.
      Oder was meinst du?

      Ja genau das wäre es. So sieht man, ob die Heizung aktiv heizt.

      PLCHome 0P Offline
      PLCHome 0P Offline
      PLCHome 0
      Developer
      schrieb am zuletzt editiert von PLCHome 0
      #62

      @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 Antwort Letzte Antwort
      0
      • PLCHome 0P 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 Offline
        T Offline
        tklein
        schrieb am zuletzt editiert von
        #63

        @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 Antwort Letzte Antwort
        0
        • T tklein

          @tombox

          Hi,

          nachdem ich bei der 0.6 Version nicht mehr schalten konnte und folgendes im Log sehen konnte:

          intex.0	2022-06-05 14:20:27.106	info	(3669) starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.intex, node: v14.17.0, js-controller: 4.0.21
          intex.0	2022-06-05 14:19:51.174	warn	(1852) Terminated (UNCAUGHT_EXCEPTION): Without reason
          intex.0	2022-06-05 14:19:51.171	info	(1852) terminating
          intex.0	2022-06-05 14:19:51.143	error	(1852) Cannot read property 'toString' of undefined
          intex.0	2022-06-05 14:19:51.142	error	at Intex.onStateChange (/opt/iobroker/node_modules/iobroker.intex/main.js:581:37)
          intex.0	2022-06-05 14:19:51.142	error	(1852) TypeError: Cannot read property 'toString' of undefined
          intex.0	2022-06-05 14:19:51.137	error	(1852) unhandled promise rejection: Cannot read property 'toString' of undefined
          intex.0	2022-06-05 14:19:51.136	error	(1852) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
          intex.0	2022-06-05 14:15:05.598	error	(1852) {"code":404,"msg":"The device is not found in IOT Hub."}
          intex.0	2022-06-05 14:15:05.597	error	(1852) AxiosError: Request failed with status code 404
          
          

          habe ich vergeblich versucht auf die 0.7 zu updaten. Habe seit 5 min den Spinner bei der Installation per Githublink:

           iobroker url https://github.com/TA2k/ioBroker.intex --host raspberrypi-iob
          
          install TA2k/ioBroker.intex#600bfb66f1f4d1...
          
          NPM version: 6.14.13
          
          Installing TA2k/ioBroker.intex#600bf...ef... (System call)
          ERROR: Process exited with code 25
          

          Per App kann ich schalten. Was kann ich machen?
          Adapter selbst ist grün.

          Grüße und schöne Pfingsten
          Thomas

          PLCHome 0P Offline
          PLCHome 0P Offline
          PLCHome 0
          Developer
          schrieb am zuletzt editiert von
          #64

          @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 Antwort Letzte Antwort
          0
          • PLCHome 0P PLCHome 0

            @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 Offline
            T Offline
            tklein
            schrieb am zuletzt editiert von
            #65

            @plchome-0 :+1:

            1 Antwort Letzte Antwort
            0
            • PLCHome 0P PLCHome 0

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

              Wie oft fragt der iobroker Adapter den Status über die cloud ab?

              Das liegt an deiner (inneren) Einstellung ich hab 1 eingestellt :-)

              460766a7-5e26-49f9-b274-f29d821aef6d-image.png

              Meine Intex-Fernbedienung ist ziemlich wasserempfindlich - ein paar Tropfen und sie spinnt für die nächsten 24h.

              Mit der Fernbedienung hatte ich noch keine Wasserprobleme, die ist bei uns immer in der Halterung, wenn wir drinsitzen, allerdings nehme ich die morgens aus der Ladeschale, wenn es warm wird. Da steht die Sonne drauf und der alte Pool ist schon mal ausgestiegen, weil dem Bedienteil zu warm war. Nachts ist die in der Ladeschale auch bei Regen. Weder an meinem Alten noch an dem neuen Pool hatte wir Feuchtigkeitsprobleme.

              Wir hatten 2 Jahre einen kleinen 750l ohne WLAN und ich hab jetzt den gleichen mit 1m³ und WLAN bestellt.

              Das Projekt mit dem ESP hatte ich zu spät gefunden. Komisch ist, dass man dort dreimal den ESP bespielen muss.
              Die Teile hab ich da, wenn ich Zeit habe, werde ich das mal ausprobieren.

              Wenn es funktioniert, kann ich z.B. für die Kinder 2 Knöpfe machen - Jet für 10 Min ein und Blubberblasen für 10 Min ein

              Zigbee-Taster -> iobroker? oder tasmota.Taster -> MQTT -> iobroker -> Script?
              Ich hab den jetzt Pool über MQTT in der Homebridge darüber dann in Alexa und Handy.

              Mit Conbee/dconz ist aber auch ein Zigbee Taster von Xiaomi Aqara möglich, so was hab ich für die Zirkulation. In der Küche und im Bad Zigbee Taster drücken, Alexa sagt, es wurde gestartet und in 2min ist das Wasser warm. Bei 2x Drücken wird auch zur "Unzeit" der Speicher aufgeheizt.

              D Offline
              D Offline
              drheck
              schrieb am zuletzt editiert von
              #66

              @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 0P 1 Antwort Letzte Antwort
              0
              • D drheck

                @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 0P Offline
                PLCHome 0P Offline
                PLCHome 0
                Developer
                schrieb am zuletzt editiert von PLCHome 0
                #67

                @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 Antwort Letzte Antwort
                0
                • PLCHome 0P 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 Offline
                  D Offline
                  drheck
                  schrieb am zuletzt editiert von
                  #68

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

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    Diamand2k22
                    schrieb am zuletzt editiert von
                    #69

                    @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 0P 1 Antwort Letzte Antwort
                    0
                    • D Diamand2k22

                      @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 0P Offline
                      PLCHome 0P Offline
                      PLCHome 0
                      Developer
                      schrieb am zuletzt editiert von
                      #70

                      @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 Antwort Letzte Antwort
                      0
                      • PLCHome 0P PLCHome 0

                        @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 Offline
                        D Offline
                        Diamand2k22
                        schrieb am zuletzt editiert von
                        #71

                        @plchome-0

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

                        VG Thomas

                        D 1 Antwort Letzte Antwort
                        0
                        • D Diamand2k22

                          @plchome-0

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

                          VG Thomas

                          D Offline
                          D Offline
                          Diamand2k22
                          schrieb am zuletzt editiert von
                          #72

                          @plchome-0

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

                          Gruß

                          PLCHome 0P 1 Antwort Letzte Antwort
                          0
                          • D Diamand2k22

                            @plchome-0

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

                            Gruß

                            PLCHome 0P Offline
                            PLCHome 0P Offline
                            PLCHome 0
                            Developer
                            schrieb am zuletzt editiert von
                            #73

                            @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 Antwort Letzte Antwort
                            0
                            • PLCHome 0P PLCHome 0

                              @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 Offline
                              D Offline
                              Diamand2k22
                              schrieb am zuletzt editiert von
                              #74

                              @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 :-D

                              Grüße

                              PLCHome 0P 1 Antwort Letzte Antwort
                              0
                              • D Diamand2k22

                                @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 :-D

                                Grüße

                                PLCHome 0P Offline
                                PLCHome 0P Offline
                                PLCHome 0
                                Developer
                                schrieb am zuletzt editiert von
                                #75

                                @diamand2k22 Mehr als das Script habe ich nicht.

                                D 1 Antwort Letzte Antwort
                                0
                                • PLCHome 0P PLCHome 0

                                  @diamand2k22 Mehr als das Script habe ich nicht.

                                  D Offline
                                  D Offline
                                  Diamand2k22
                                  schrieb am zuletzt editiert von
                                  #76

                                  @plchome-0

                                  ok trotzdem danke! dann schau ich mal, dass ich mir was zusammen bastel :-D

                                  PLCHome 0P 1 Antwort Letzte Antwort
                                  0
                                  • D Diamand2k22

                                    @plchome-0

                                    ok trotzdem danke! dann schau ich mal, dass ich mir was zusammen bastel :-D

                                    PLCHome 0P Offline
                                    PLCHome 0P Offline
                                    PLCHome 0
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #77

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

                                    D 1 Antwort Letzte Antwort
                                    0
                                    • PLCHome 0P PLCHome 0

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

                                      D Offline
                                      D Offline
                                      Diamand2k22
                                      schrieb am zuletzt editiert von
                                      #78

                                      @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 Antwort Letzte Antwort
                                      0
                                      • PLCHome 0P Offline
                                        PLCHome 0P Offline
                                        PLCHome 0
                                        Developer
                                        schrieb am zuletzt editiert von PLCHome 0
                                        #79

                                        @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 Antwort Letzte Antwort
                                        0
                                        • PLCHome 0P 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 Offline
                                          D Offline
                                          Diamand2k22
                                          schrieb am zuletzt editiert von
                                          #80

                                          @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 0P 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          826

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe