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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Aus Esp32 Soc wert soll Tasmota Gosund schalten

NEWS

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

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

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

Aus Esp32 Soc wert soll Tasmota Gosund schalten

Geplant Angeheftet Gesperrt Verschoben Blockly
28 Beiträge 3 Kommentatoren 2.4k Aufrufe 2 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.
  • D dismaster

    @sralus dafür müsstest Du Dir einen zwischen Schritt bauen, welcher den vorherigen und neuen Wert speichert.
    Also sagen wir, es war vorher <50 und ist jetzt >=50 dann schalten.
    Gleiches anders herum.

    Also dann wie folgt:
    wenn updata von "jkbms/Data/Percent"
    -> dann update Wert(alt) mit Wert(Neu)
    -> dann update Wert(neu) mit "jkbms/Data/Percent"

    Verstehst Du das?
    :)

    Grüße

    sralusS Offline
    sralusS Offline
    sralus
    schrieb am zuletzt editiert von
    #3

    @dismaster
    Hallo
    Vielen Dank für die Antwort aber leider fehlt mir das nötige wissen um das so umzusetzten.
    Würdest du mir evtl. ein beispiel von Blockly erstellen ?

    Dann hätte ich den aufbau schonmal richtig.

    Dann würde ich die nötigen Daten punkte dort eintragen.

    Vielen Dank vorab

    Gruß
    Sralus

    1 Antwort Letzte Antwort
    0
    • D dismaster

      @sralus dafür müsstest Du Dir einen zwischen Schritt bauen, welcher den vorherigen und neuen Wert speichert.
      Also sagen wir, es war vorher <50 und ist jetzt >=50 dann schalten.
      Gleiches anders herum.

      Also dann wie folgt:
      wenn updata von "jkbms/Data/Percent"
      -> dann update Wert(alt) mit Wert(Neu)
      -> dann update Wert(neu) mit "jkbms/Data/Percent"

      Verstehst Du das?
      :)

      Grüße

      sralusS Offline
      sralusS Offline
      sralus
      schrieb am zuletzt editiert von
      #4

      @dismaster
      Hallo so in etwa aber läuft nicht wirklich ..
      schaltung.jpg

      oder so _

      
      on({id: [].concat(['mqtt.0.Data.Percent_Remain']), change: "ne"}, async function (obj) {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        if (getState("mqtt.0.Data.Percent_Remain").ack <= 50) {
          setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, true);
        } else {
          if (getState("mqtt.0.Data.Percent_Remain").ack == 50) {
            setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, false);
      
      

      Evtl. weißt du ja was ich falsch gemacht habe

      1 Antwort Letzte Antwort
      0
      • sralusS sralus

        Hallo
        Ich habe ein ESP32 welches mein JK-BMS ausließt.
        Ein wert davon ist der SOC wert. Diesen möchte ich gerne nutzen um damit mein Gosund Sp1 (Sonoff) Adapter zu schalten.
        Also bei Soc wert <70 soll der Sonoff adaper an gehen und bei Soc Wert >50 wieder aus.

        Hierfür müsste der wert von dem sonoff adapert "tasmota POWER" von FALSE auf TRUE gestetzt werden

        und der Soc wert aus jkbms/Data/Percent Remain ausgelesen werden.

        Könnte mir einer sagen wie ich das in Blockly umsetzten kann...

        Vielen Dank vorab

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #5

        @sralus sagte: bei Soc wert <70 soll der Sonoff adaper an gehen und bei Soc Wert >50 wieder aus.

        Sind die Vergleiche nicht falsch herum?
        Du meinst, die Gosund Sp1 soll geschaltet werden?

        Prinzip 2-Punkt-Regler:

        Blockly_temp.JPG

        @sralus sagte in Aus Esp32 Soc wert soll Tasmota Gosund schalten:

        if (getState("mqtt.0.Data.Percent_Remain").ack <= 50) {
        

        Vergleich mit Bestätigung anstelle von Wert?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        sralusS 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @sralus sagte: bei Soc wert <70 soll der Sonoff adaper an gehen und bei Soc Wert >50 wieder aus.

          Sind die Vergleiche nicht falsch herum?
          Du meinst, die Gosund Sp1 soll geschaltet werden?

          Prinzip 2-Punkt-Regler:

          Blockly_temp.JPG

          @sralus sagte in Aus Esp32 Soc wert soll Tasmota Gosund schalten:

          if (getState("mqtt.0.Data.Percent_Remain").ack <= 50) {
          

          Vergleich mit Bestätigung anstelle von Wert?

          sralusS Offline
          sralusS Offline
          sralus
          schrieb am zuletzt editiert von
          #6

          @paul53 Hallo
          Vielen Dank für deine Antwort.
          Ich habe es jetzt so umgestetz:
          A3.jpg A2.jpg A1.jpg

          Der code sieht dann so aus :

          var akator;
          
          
          akator = getState("sonoff.0.Tasmota.POWER").val;
          on({id: "mqtt.0.Data.Percent_Remain"/*jkbms/Data/Percent_Remain*/, change: "ne"}, async function (obj) {
            let value = obj.state.val;
            let oldValue = obj.oldState.val;
            if ((obj.state ? obj.state.val : "") < 10) {
              akator = false;
            } else if ((obj.state ? obj.state.val : "") > 19) {
              akator = true;
            }
            if (akator != getState("sonoff.0.Tasmota.POWER").val) {
              setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, akator);
            }
          });
          
          

          Im Ordner Protokolle kommt dann aber :
          2024-04-01 14:33:11.384 - info: admin.0 (2268) ==> Connected system.user.admin from ::ffff:192.168.0.33
          2024-04-01 14:33:14.968 - info: javascript.0 (62589) Stop script script.js.Boiler
          2024-04-01 14:33:16.844 - info: javascript.0 (62589) Start javascript script.js.Boiler
          2024-04-01 14:33:16.849 - info: javascript.0 (62589) script.js.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          2024-04-01 14:33:16.852 - info: javascript.0 (62589) State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"
          2024-04-01 14:33:21.249 - info: admin.0 (2268) <== Disconnect system.user.admin from ::ffff:192.168.0.33 javascript

          Leider weiß ich nicht wie ich jetzt wo was ändern muss damit das auslesen des SOC wert das Gosund Sp1 relais schaltet ..

          Vielen Dank vorab
          Sralus

          paul53P 1 Antwort Letzte Antwort
          0
          • sralusS sralus

            @paul53 Hallo
            Vielen Dank für deine Antwort.
            Ich habe es jetzt so umgestetz:
            A3.jpg A2.jpg A1.jpg

            Der code sieht dann so aus :

            var akator;
            
            
            akator = getState("sonoff.0.Tasmota.POWER").val;
            on({id: "mqtt.0.Data.Percent_Remain"/*jkbms/Data/Percent_Remain*/, change: "ne"}, async function (obj) {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              if ((obj.state ? obj.state.val : "") < 10) {
                akator = false;
              } else if ((obj.state ? obj.state.val : "") > 19) {
                akator = true;
              }
              if (akator != getState("sonoff.0.Tasmota.POWER").val) {
                setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, akator);
              }
            });
            
            

            Im Ordner Protokolle kommt dann aber :
            2024-04-01 14:33:11.384 - info: admin.0 (2268) ==> Connected system.user.admin from ::ffff:192.168.0.33
            2024-04-01 14:33:14.968 - info: javascript.0 (62589) Stop script script.js.Boiler
            2024-04-01 14:33:16.844 - info: javascript.0 (62589) Start javascript script.js.Boiler
            2024-04-01 14:33:16.849 - info: javascript.0 (62589) script.js.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
            2024-04-01 14:33:16.852 - info: javascript.0 (62589) State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"
            2024-04-01 14:33:21.249 - info: admin.0 (2268) <== Disconnect system.user.admin from ::ffff:192.168.0.33 javascript

            Leider weiß ich nicht wie ich jetzt wo was ändern muss damit das auslesen des SOC wert das Gosund Sp1 relais schaltet ..

            Vielen Dank vorab
            Sralus

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #7

            @sralus sagte: State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"

            "POWER" ist vom Typ "Zahl"? Dann ändere falsch in 0 und wahr in 1.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            sralusS 2 Antworten Letzte Antwort
            1
            • paul53P paul53

              @sralus sagte: State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"

              "POWER" ist vom Typ "Zahl"? Dann ändere falsch in 0 und wahr in 1.

              sralusS Offline
              sralusS Offline
              sralus
              schrieb am zuletzt editiert von
              #8

              @paul53 Danke für deine Mühe !!

              Es läuft teilweise schon ganz ok..
              Manchmal dauert es sehr lange bis das relais schaltet.
              im LOG bekomm ich jetzt diese meldung:

              javascript.0
              	2024-04-01 22:12:08.946	info	script.js.common.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
              javascript.0
              	2024-04-01 22:12:08.945	info	script.js.common.Boiler: subscribe: {"pattern":{"id":"mqtt.0.Data.Percent_Remain","change":"ne","q":0},"name":"script.js.common.Boiler"}
              javascript.0
              	2024-04-01 22:12:08.945	info	script.js.common.Boiler: getState(id=sonoff.0.Tasmota.POWER, timerId=undefined) => {"val":false,"ack":true,"ts":1712002283354,"q":0,"from":"system.adapter.sonoff.0","user":"system.user.admin","lc":1712002283354}
              javascript.0
              	2024-04-01 22:12:08.940	info	Start javascript script.js.common.Boiler
              javascript.0
              	2024-04-01 22:12:08.874	info	Stop script script.js.common.Boiler
              javascript.0
              	2024-04-01 22:12:00.190	info	script.js.common.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
              javascript.0
              	2024-04-01 22:12:00.171	info	Start javascript script.js.common.Boiler
              

              schema11.jpg

              Ich denke mal ich habe noch einen kleinen Fehler den ich nicht erkenne...

              sralusS 1 Antwort Letzte Antwort
              0
              • sralusS sralus

                @paul53 Danke für deine Mühe !!

                Es läuft teilweise schon ganz ok..
                Manchmal dauert es sehr lange bis das relais schaltet.
                im LOG bekomm ich jetzt diese meldung:

                javascript.0
                	2024-04-01 22:12:08.946	info	script.js.common.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                javascript.0
                	2024-04-01 22:12:08.945	info	script.js.common.Boiler: subscribe: {"pattern":{"id":"mqtt.0.Data.Percent_Remain","change":"ne","q":0},"name":"script.js.common.Boiler"}
                javascript.0
                	2024-04-01 22:12:08.945	info	script.js.common.Boiler: getState(id=sonoff.0.Tasmota.POWER, timerId=undefined) => {"val":false,"ack":true,"ts":1712002283354,"q":0,"from":"system.adapter.sonoff.0","user":"system.user.admin","lc":1712002283354}
                javascript.0
                	2024-04-01 22:12:08.940	info	Start javascript script.js.common.Boiler
                javascript.0
                	2024-04-01 22:12:08.874	info	Stop script script.js.common.Boiler
                javascript.0
                	2024-04-01 22:12:00.190	info	script.js.common.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                javascript.0
                	2024-04-01 22:12:00.171	info	Start javascript script.js.common.Boiler
                

                schema11.jpg

                Ich denke mal ich habe noch einen kleinen Fehler den ich nicht erkenne...

                sralusS Offline
                sralusS Offline
                sralus
                schrieb am zuletzt editiert von
                #9

                @sralus Sorry --- der feheler lag in der Zahl .. 1 und 0 die hatte ich nicht als zahl gewählt...

                Danke es läuft alles super

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @sralus sagte: State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"

                  "POWER" ist vom Typ "Zahl"? Dann ändere falsch in 0 und wahr in 1.

                  sralusS Offline
                  sralusS Offline
                  sralus
                  schrieb am zuletzt editiert von
                  #10

                  @paul53 wirk.jpg

                  Hallo Paul
                  Danke für deine Unterstützung und hilfe eim meinem Vorhaben. !!!
                  Es rennt unt macht was es soll - DANKE

                  Wäre es möglich das skript um eine weitere abfrage zu erweitern ?
                  Und zwar möchte ich das (wie in der Grafik zu sehen ) bei einem wert der Wikleistung soll das skript das relais ausschalten.

                  Also Wirkleistung größer als zb. 2000W relais aus. sonnst soll das skript genau so laufen wie es jetzt geht,

                  Das problem ist das wenn ich meine waschmaschiene oder Spühlmaschien anmache und zusätzlich das skript meinen Warmasser boiler startet - weil SOC wer ok dann habe ich 2,2 KW Boiler und bei heizfase von Spühl bzw Waschmaschine ncohmal ~2 KW.. dann habe ich +/- 4,5KW auf einer Fase.

                  Somit würde ich dem entgegenwirken das das skript die Wirkleistund berücksichtigt.

                  Vielen Dank vorab
                  Gruß

                  Sralus

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • sralusS sralus

                    @paul53 wirk.jpg

                    Hallo Paul
                    Danke für deine Unterstützung und hilfe eim meinem Vorhaben. !!!
                    Es rennt unt macht was es soll - DANKE

                    Wäre es möglich das skript um eine weitere abfrage zu erweitern ?
                    Und zwar möchte ich das (wie in der Grafik zu sehen ) bei einem wert der Wikleistung soll das skript das relais ausschalten.

                    Also Wirkleistung größer als zb. 2000W relais aus. sonnst soll das skript genau so laufen wie es jetzt geht,

                    Das problem ist das wenn ich meine waschmaschiene oder Spühlmaschien anmache und zusätzlich das skript meinen Warmasser boiler startet - weil SOC wer ok dann habe ich 2,2 KW Boiler und bei heizfase von Spühl bzw Waschmaschine ncohmal ~2 KW.. dann habe ich +/- 4,5KW auf einer Fase.

                    Somit würde ich dem entgegenwirken das das skript die Wirkleistund berücksichtigt.

                    Vielen Dank vorab
                    Gruß

                    Sralus

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #11

                    @sralus sagte: Wirkleistung größer als zb. 2000W relais aus.

                    Was sagt die Wirkleistung aus, d.h. wo wird sie gemessen?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    sralusS 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @sralus sagte: Wirkleistung größer als zb. 2000W relais aus.

                      Was sagt die Wirkleistung aus, d.h. wo wird sie gemessen?

                      sralusS Offline
                      sralusS Offline
                      sralus
                      schrieb am zuletzt editiert von
                      #12

                      @paul53 Die Wirkleistung wir von meinem wechselrichter gemessen - Active AC.

                      Also solange kein verbraucher wie Waschmaschien oder Spühlmachiene läuft habe ich eine grundlast von ca 150W - startet das Skipt bei x Soc wert dann schaltet es meinen Heizstab für mein Warmwasser boiler - der zieht ca 2 KW- würde ich dann die Waschmachiene starten soll das script anhand der Wirkleistung erkennen das es abschalten soll bzw sollte der wert wieder unter dem sein was ich eingestellt habe darf das skript wieder anhand des SOC wert starten..
                      wirkleistung.jpg

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • sralusS sralus

                        @paul53 Die Wirkleistung wir von meinem wechselrichter gemessen - Active AC.

                        Also solange kein verbraucher wie Waschmaschien oder Spühlmachiene läuft habe ich eine grundlast von ca 150W - startet das Skipt bei x Soc wert dann schaltet es meinen Heizstab für mein Warmwasser boiler - der zieht ca 2 KW- würde ich dann die Waschmachiene starten soll das script anhand der Wirkleistung erkennen das es abschalten soll bzw sollte der wert wieder unter dem sein was ich eingestellt habe darf das skript wieder anhand des SOC wert starten..
                        wirkleistung.jpg

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #13

                        @sralus sagte: Die Wirkleistung wir von meinem wechselrichter gemessen - Active AC.

                        Die AC-Leistung passt sich dem Verbrauch an? Dann versuche es mal so:

                        Blockly_temp.JPG

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        sralusS 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @sralus sagte: Die Wirkleistung wir von meinem wechselrichter gemessen - Active AC.

                          Die AC-Leistung passt sich dem Verbrauch an? Dann versuche es mal so:

                          Blockly_temp.JPG

                          sralusS Offline
                          sralusS Offline
                          sralus
                          schrieb am zuletzt editiert von
                          #14

                          @paul53 !!! TOP - wer es kann der kann es .. Danke
                          Schade ist nur das dieses Solaranzeige Image die werte des wechselrichter per PHP ausließt und das immer im minuten intervall. Aber sobald der wert geschrieben wird schaltet das skript.

                          Die Werte wann die Wirkleistung eingreifen soll muss dann einmalig auf beiden seiten im skipt eingtragen werden oder ?
                          Rechts im skipt ist dann quasi die routine für die Abfrage der Wirkleistung oder ?
                          Und die routine für die Freigabe sind werte damit die SOC routine im linken skript starten darf ?
                          auf jeden fall macht alles das was es soll und rennt besser als die Automatisierung im Solaranzeige Image.

                          So habe ich es nach deiner Anweißung zusamen gestellt. (musste doch wahr & falsch setzten denn bei 0&1 kamm wieder die meldung im LOG:

                          You are assigning a number to the state "sonoff.0.Tasmota.POWER" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                          

                          Boiler mit AC.jpg

                          Vielen Dank nochmals ...

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • sralusS sralus

                            @paul53 !!! TOP - wer es kann der kann es .. Danke
                            Schade ist nur das dieses Solaranzeige Image die werte des wechselrichter per PHP ausließt und das immer im minuten intervall. Aber sobald der wert geschrieben wird schaltet das skript.

                            Die Werte wann die Wirkleistung eingreifen soll muss dann einmalig auf beiden seiten im skipt eingtragen werden oder ?
                            Rechts im skipt ist dann quasi die routine für die Abfrage der Wirkleistung oder ?
                            Und die routine für die Freigabe sind werte damit die SOC routine im linken skript starten darf ?
                            auf jeden fall macht alles das was es soll und rennt besser als die Automatisierung im Solaranzeige Image.

                            So habe ich es nach deiner Anweißung zusamen gestellt. (musste doch wahr & falsch setzten denn bei 0&1 kamm wieder die meldung im LOG:

                            You are assigning a number to the state "sonoff.0.Tasmota.POWER" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                            

                            Boiler mit AC.jpg

                            Vielen Dank nochmals ...

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #15

                            @sralus
                            Lass das Intervall weg! Das ist verheerend.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            sralusS 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @sralus
                              Lass das Intervall weg! Das ist verheerend.

                              sralusS Offline
                              sralusS Offline
                              sralus
                              schrieb am zuletzt editiert von
                              #16

                              @paul53
                              Hallo
                              Es läuft alles soweit klasse !!
                              Leider möchte ich gerne das das skript entweder noch die zusatz option PV-Power oder zeitlich eine Abschaltung macht,
                              Ich habe mal versucht das per Uhrzeit zu steuern aber das klappt so noch nicht, (siehe Bild)
                              Hättest du evtl. einen vorschlag für das skript ?

                              Vielen Dank
                              Sralus
                              SkriptmitUhr.jpg

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • sralusS sralus

                                @paul53
                                Hallo
                                Es läuft alles soweit klasse !!
                                Leider möchte ich gerne das das skript entweder noch die zusatz option PV-Power oder zeitlich eine Abschaltung macht,
                                Ich habe mal versucht das per Uhrzeit zu steuern aber das klappt so noch nicht, (siehe Bild)
                                Hättest du evtl. einen vorschlag für das skript ?

                                Vielen Dank
                                Sralus
                                SkriptmitUhr.jpg

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #17

                                @sralus sagte: per Uhrzeit zu steuern aber das klappt so noch nicht

                                Zu welcher Uhrzeit soll was passieren?
                                Poste bitte den Blockly-Export in Code tags, denn ich habe das Skript längst gelöscht.
                                Auf jeden Fall stimmt die Reihenfolge bei Skriptstart nicht.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                sralusS 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @sralus sagte: per Uhrzeit zu steuern aber das klappt so noch nicht

                                  Zu welcher Uhrzeit soll was passieren?
                                  Poste bitte den Blockly-Export in Code tags, denn ich habe das Skript längst gelöscht.
                                  Auf jeden Fall stimmt die Reihenfolge bei Skriptstart nicht.

                                  sralusS Offline
                                  sralusS Offline
                                  sralus
                                  schrieb am zuletzt editiert von
                                  #18

                                  @paul53
                                  Also wenn der Boiler gegen mittags durch den PV überschuss aufgeheitzt ist dann ist er nach ca 1 -2 Stunden maximal aufgeheitzt, Alles gut so soll es sein,
                                  Solange der SOC wert der Batterie dann aber noch im eingestellten bereich ist würde der Boiler beim Duschen ja wieder aufheizen und dann nicht den PV überschuss nutzen sondern meine Batterie (speicher) nutzen.

                                  Somit müsste ich zu der Schaltung entweder noch eine PV kontrolle einbauen. Also wenn PV unter 50W dann auch aus. Das wäre natürlich super das so schalten zu können.
                                  Also SOC + AC leistung und PV leistung,

                                  Oder alternativ einfach um 17:00 Uhr soll der Boiler nicht mehr heizen,

                                  So habe ich mir das in etwa vorgestellt.

                                  var freigabe, akator, wirkleistung;
                                  
                                  
                                  freigabe = akator ? wirkleistung < 200 : wirkleistung < 2800;
                                  akator = getState('sonoff.1.Tasmota1.POWER').val;
                                  wirkleistung = getState('mqtt.0.solaranzeige.3.ac_wirkleistung').val;
                                  on({ id: 'mqtt.0.Data.Percent_Remain' /* jkbms/Data/Percent_Remain */, change: 'any' }, async (obj) => {
                                    let value = obj.state.val;
                                    let oldValue = obj.oldState.val;
                                    if (freigabe) {
                                      if ((obj.state ? obj.state.val : '') < 70) {
                                        akator = false;
                                      } else if ((obj.state ? obj.state.val : '') > 71) {
                                        akator = true;
                                      }
                                      if (akator != getState('sonoff.1.Tasmota1.POWER').val) {
                                        setState('sonoff.1.Tasmota1.POWER' /* Tasmota1 POWER */, akator);
                                      }
                                    }
                                  });
                                  
                                  on({ id: 'mqtt.0.solaranzeige.3.ac_wirkleistung' /* solaranzeige/3/ac_wirkleistung */, change: 'ne' }, async (obj) => {
                                    let value = obj.state.val;
                                    let oldValue = obj.oldState.val;
                                    if ((obj.state ? obj.state.val : '') < 200) {
                                      freigabe = 1;
                                    } else if ((obj.state ? obj.state.val : '') > 2800) {
                                      freigabe = 0;
                                      if (getState('sonoff.1.Tasmota1.POWER').val) {
                                        setState('sonoff.1.Tasmota1.POWER' /* Tasmota1 POWER */, false);
                                      }
                                    }
                                  });
                                  
                                  //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyc21jJTJCYi5WTGFfVWlJTlVLdE5ITSUyMiUzRWZyZWlnYWJlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTI1eC5odCU2MEd2ZGppX2VKSGxaaTMlN0MlMjIlM0Vha2F0b3IlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJPaW9RaEZXeWw0ciU0MCU3RCUyQ1NYY0ZaJTdDJTIyJTNFd2lya2xlaXN0dW5nJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI3ciU1RG00SHd+JTJCQnElNUJGZyUzRlMlMjVzN2UlMjIlMjB4JTNEJTIyLTMxMzclMjIlMjB5JTNEJTIyLTIxMzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNtYyUyQmIuVkxhX1VpSU5VS3ROSE0lMjIlM0VmcmVpZ2FiZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY190ZXJuYXJ5JTIyJTIwaWQlM0QlMjIuJTNBaDZvSm1COG94V002JTJDNlBDenAlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjBRdGIlMkIlMjNRJTYwayUzRiU1RUYlNjB+eGVxeDYlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEhFTiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUyNUF6JTNGJTJDJTNCUiUyNSU3QiU2MEpaJTVEayU1QnYlMjQyJTI0aiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJzJTdDcyUyNGU0TiU3QlJBcCU0MGZ0S2UyQ00lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk9pb1FoRld5bDRyJTQwJTdEJTJDU1hjRlolN0MlMjIlM0V3aXJrbGVpc3R1bmclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkhYJTJDNSE5JTNCeTFsajMlMkJsNyUzQiU2MDZmVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTIwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTdDYSUzRnNYIUxqTG91LkdxYSUyRjEhM0wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUxUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyT2lJKSU3QiU3RHZFWGRuJTNGVkxUWiU0MFp3SyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyT2lvUWhGV3lsNHIlNDAlN0QlMkNTWGNGWiU3QyUyMiUzRXdpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIya0JzJTdDNE1EYjklM0QlNUUlM0ElN0JkcTVrKVhwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjgwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyNSU1RS5ER2FWbnNxJTJGIVdjXyU3QnAtSU4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTdDU1pJOS4lNjBvRl8oSTV4JTJDS2h3VzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJaSlhpLSU3QkclM0FQJTNGN2MlMjQlM0IlN0J1JTQwdyUyQ2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk9pb1FoRld5bDRyJTQwJTdEJTJDU1hjRlolN0MlMjIlM0V3aXJrbGVpc3R1bmclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJUX0QlNjBQclI1NGtTX2VvMDA0VGkhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLnNvbGFyYW56ZWlnZS4zLmFjX3dpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIyLU1rX21iLWVzIWNxJTNETVZYZyUyQyU1QkglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VtcXR0LjAuRGF0YS5QZXJjZW50X1JlbWFpbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFYW55JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMkNzJTVEZTAlNUJhdSUyQyUyNDUwOC1SUmF+JTJDdSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmIxX356JTVCJTQwJTNGKH5aayUyNUdzYWQlMkIlMkI0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzbWMlMkJiLlZMYV9VaUlOVUt0TkhNJTIyJTNFZnJlaWdhYmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiUyQ2MlN0RTYX4lN0R5RCU1RSU3RCU1RUs5eWdZJTdDM1olMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2VpZiUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMnBxJTJGJTNEWCUyQkk3SEYlM0YlNjBRRTFnJTVEUFV4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIydlpaLU0pVFolMjVfclglMkJXfnRnYzZsJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTI1JTJGKCU1RW9tbWlJaiUyRjQ2RyUyNCUyRnclN0N5cSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTcwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJPZSUzRCh+QUMyJTIzJTdDajglNUR+ZkQ0JTJCJTIzJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJWQ1MlN0R2bmYqMVBldyU1RURZdHNyJTNGLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTYwJTNCQSUyNFczXzFMISpMJTVENG1pU3RpUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMl9lN3M2MU5xMEl0T0V1JTVCcipEb3klMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkZid0QyJTdDek10JTdEbTQlNDApJTI0a2MlMkNhSiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTcxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJNJTVFTyU0MFNkJTJDZHVFc2pJUVYlM0ZlckxuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI1SG91ZW1JQmk0OFVERSUyRiU3RDFSJTdDJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc0RQJTJDdHcyVEt+MDN0a3kya0IlMjM0JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyZihocXJzalklNDB+eHE3VjcuUmJVJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJnN0ElM0JFNihHJTNBJTYwam0lN0Nua0tNJTJCUzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyeUZKa2UlM0QlM0I5dmQuRiU3QkJ0YUZ4cjElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydWgzOGRVSTglMkM0OEwoWihsaVVnUCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4xLlRhc21vdGExLlBPV0VSJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIydGdib04pJTNCJTVCU2NMZ1Ftb0RoOHgzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMmVVT0FPSXMpSyU1RVZNJTYwfiUyRnltU3JYJTIyJTIweCUzRCUyMi0yMzM3JTIyJTIweSUzRCUyMi0yMDM3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLnNvbGFyYW56ZWlnZS4zLmFjX3dpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyUSUyQiUzRGclNUVSJTVCY1ElMkYzJTI1JTI1MyUyMyU0MDUlMkN+JTJCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjI3JTIzSjUtfiUyNU0pKWIlMjVoMURCbXEhJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyJTNCMyUyNFUwUSU3QyUyQnhvZ1JxJTI1YlVlT2ppJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyciUzRC4lM0Rta0pBJTI0RU8lNjBYOThkSFhKJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI5KFclMkMlN0RaY1FRSEk4ZGItdWQpQnElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNtYyUyQmIuVkxhX1VpSU5VS3ROSE0lMjIlM0VmcmVpZ2FiZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTI1NiU3Q3hjdEVqcW0lM0FqRXQlNjAlM0RDSXUlM0YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMjVHTUJqZE8lM0ZYZDRodU8yLm54ZDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJHJTI0ci1VVEdweC0lNjA4JTdCU2pfdCUyNSklMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkIoJTJGJTNCQlMlNUIlMkMlMkJlU28uTnU2SW1wJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjgwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8xJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIySSFJKiUyQmslN0RYNEQlNjAlM0EweUdqRlRBWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc21jJTJCYi5WTGFfVWlJTlVLdE5ITSUyMiUzRWZyZWlnYWJlJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlNUJHMGclNjAoLmRkJTI0ak5qcSUyNUwlNjB1alolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ2YkpQJTI0KWMlMjR0YnFoJTNBbEklN0Q1UFJwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJqUUYhcHRvJTQwWmE2LlFkakwlM0JRKmIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJpZVF4Ni1nazZCJTQwRGgzRiU3QmN6NSUyRiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4xLlRhc21vdGExLlBPV0VSJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyQiUzRGslMjUlM0Z1N0tEIWVpJTJDQ1IlM0ZVJTI1YTAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
                                  

                                  Vielen Dank
                                  Gruß
                                  Sralus

                                  paul53P 2 Antworten Letzte Antwort
                                  0
                                  • sralusS sralus

                                    @paul53
                                    Also wenn der Boiler gegen mittags durch den PV überschuss aufgeheitzt ist dann ist er nach ca 1 -2 Stunden maximal aufgeheitzt, Alles gut so soll es sein,
                                    Solange der SOC wert der Batterie dann aber noch im eingestellten bereich ist würde der Boiler beim Duschen ja wieder aufheizen und dann nicht den PV überschuss nutzen sondern meine Batterie (speicher) nutzen.

                                    Somit müsste ich zu der Schaltung entweder noch eine PV kontrolle einbauen. Also wenn PV unter 50W dann auch aus. Das wäre natürlich super das so schalten zu können.
                                    Also SOC + AC leistung und PV leistung,

                                    Oder alternativ einfach um 17:00 Uhr soll der Boiler nicht mehr heizen,

                                    So habe ich mir das in etwa vorgestellt.

                                    var freigabe, akator, wirkleistung;
                                    
                                    
                                    freigabe = akator ? wirkleistung < 200 : wirkleistung < 2800;
                                    akator = getState('sonoff.1.Tasmota1.POWER').val;
                                    wirkleistung = getState('mqtt.0.solaranzeige.3.ac_wirkleistung').val;
                                    on({ id: 'mqtt.0.Data.Percent_Remain' /* jkbms/Data/Percent_Remain */, change: 'any' }, async (obj) => {
                                      let value = obj.state.val;
                                      let oldValue = obj.oldState.val;
                                      if (freigabe) {
                                        if ((obj.state ? obj.state.val : '') < 70) {
                                          akator = false;
                                        } else if ((obj.state ? obj.state.val : '') > 71) {
                                          akator = true;
                                        }
                                        if (akator != getState('sonoff.1.Tasmota1.POWER').val) {
                                          setState('sonoff.1.Tasmota1.POWER' /* Tasmota1 POWER */, akator);
                                        }
                                      }
                                    });
                                    
                                    on({ id: 'mqtt.0.solaranzeige.3.ac_wirkleistung' /* solaranzeige/3/ac_wirkleistung */, change: 'ne' }, async (obj) => {
                                      let value = obj.state.val;
                                      let oldValue = obj.oldState.val;
                                      if ((obj.state ? obj.state.val : '') < 200) {
                                        freigabe = 1;
                                      } else if ((obj.state ? obj.state.val : '') > 2800) {
                                        freigabe = 0;
                                        if (getState('sonoff.1.Tasmota1.POWER').val) {
                                          setState('sonoff.1.Tasmota1.POWER' /* Tasmota1 POWER */, false);
                                        }
                                      }
                                    });
                                    
                                    //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyc21jJTJCYi5WTGFfVWlJTlVLdE5ITSUyMiUzRWZyZWlnYWJlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTI1eC5odCU2MEd2ZGppX2VKSGxaaTMlN0MlMjIlM0Vha2F0b3IlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJPaW9RaEZXeWw0ciU0MCU3RCUyQ1NYY0ZaJTdDJTIyJTNFd2lya2xlaXN0dW5nJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI3ciU1RG00SHd+JTJCQnElNUJGZyUzRlMlMjVzN2UlMjIlMjB4JTNEJTIyLTMxMzclMjIlMjB5JTNEJTIyLTIxMzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNtYyUyQmIuVkxhX1VpSU5VS3ROSE0lMjIlM0VmcmVpZ2FiZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY190ZXJuYXJ5JTIyJTIwaWQlM0QlMjIuJTNBaDZvSm1COG94V002JTJDNlBDenAlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjBRdGIlMkIlMjNRJTYwayUzRiU1RUYlNjB+eGVxeDYlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEhFTiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUyNUF6JTNGJTJDJTNCUiUyNSU3QiU2MEpaJTVEayU1QnYlMjQyJTI0aiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJzJTdDcyUyNGU0TiU3QlJBcCU0MGZ0S2UyQ00lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk9pb1FoRld5bDRyJTQwJTdEJTJDU1hjRlolN0MlMjIlM0V3aXJrbGVpc3R1bmclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkhYJTJDNSE5JTNCeTFsajMlMkJsNyUzQiU2MDZmVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTIwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTdDYSUzRnNYIUxqTG91LkdxYSUyRjEhM0wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUxUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyT2lJKSU3QiU3RHZFWGRuJTNGVkxUWiU0MFp3SyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyT2lvUWhGV3lsNHIlNDAlN0QlMkNTWGNGWiU3QyUyMiUzRXdpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIya0JzJTdDNE1EYjklM0QlNUUlM0ElN0JkcTVrKVhwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjgwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyNSU1RS5ER2FWbnNxJTJGIVdjXyU3QnAtSU4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTdDU1pJOS4lNjBvRl8oSTV4JTJDS2h3VzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJaSlhpLSU3QkclM0FQJTNGN2MlMjQlM0IlN0J1JTQwdyUyQ2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk9pb1FoRld5bDRyJTQwJTdEJTJDU1hjRlolN0MlMjIlM0V3aXJrbGVpc3R1bmclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJUX0QlNjBQclI1NGtTX2VvMDA0VGkhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLnNvbGFyYW56ZWlnZS4zLmFjX3dpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIyLU1rX21iLWVzIWNxJTNETVZYZyUyQyU1QkglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VtcXR0LjAuRGF0YS5QZXJjZW50X1JlbWFpbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFYW55JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMkNzJTVEZTAlNUJhdSUyQyUyNDUwOC1SUmF+JTJDdSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmIxX356JTVCJTQwJTNGKH5aayUyNUdzYWQlMkIlMkI0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzbWMlMkJiLlZMYV9VaUlOVUt0TkhNJTIyJTNFZnJlaWdhYmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiUyQ2MlN0RTYX4lN0R5RCU1RSU3RCU1RUs5eWdZJTdDM1olMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2VpZiUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMnBxJTJGJTNEWCUyQkk3SEYlM0YlNjBRRTFnJTVEUFV4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIydlpaLU0pVFolMjVfclglMkJXfnRnYzZsJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTI1JTJGKCU1RW9tbWlJaiUyRjQ2RyUyNCUyRnclN0N5cSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTcwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJPZSUzRCh+QUMyJTIzJTdDajglNUR+ZkQ0JTJCJTIzJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJWQ1MlN0R2bmYqMVBldyU1RURZdHNyJTNGLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTYwJTNCQSUyNFczXzFMISpMJTVENG1pU3RpUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMl9lN3M2MU5xMEl0T0V1JTVCcipEb3klMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkZid0QyJTdDek10JTdEbTQlNDApJTI0a2MlMkNhSiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTcxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJNJTVFTyU0MFNkJTJDZHVFc2pJUVYlM0ZlckxuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI1SG91ZW1JQmk0OFVERSUyRiU3RDFSJTdDJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc0RQJTJDdHcyVEt+MDN0a3kya0IlMjM0JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyZihocXJzalklNDB+eHE3VjcuUmJVJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJnN0ElM0JFNihHJTNBJTYwam0lN0Nua0tNJTJCUzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyeUZKa2UlM0QlM0I5dmQuRiU3QkJ0YUZ4cjElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydWgzOGRVSTglMkM0OEwoWihsaVVnUCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4xLlRhc21vdGExLlBPV0VSJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIydGdib04pJTNCJTVCU2NMZ1Ftb0RoOHgzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMmVVT0FPSXMpSyU1RVZNJTYwfiUyRnltU3JYJTIyJTIweCUzRCUyMi0yMzM3JTIyJTIweSUzRCUyMi0yMDM3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLnNvbGFyYW56ZWlnZS4zLmFjX3dpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyUSUyQiUzRGclNUVSJTVCY1ElMkYzJTI1JTI1MyUyMyU0MDUlMkN+JTJCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjI3JTIzSjUtfiUyNU0pKWIlMjVoMURCbXEhJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyJTNCMyUyNFUwUSU3QyUyQnhvZ1JxJTI1YlVlT2ppJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyciUzRC4lM0Rta0pBJTI0RU8lNjBYOThkSFhKJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI5KFclMkMlN0RaY1FRSEk4ZGItdWQpQnElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNtYyUyQmIuVkxhX1VpSU5VS3ROSE0lMjIlM0VmcmVpZ2FiZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTI1NiU3Q3hjdEVqcW0lM0FqRXQlNjAlM0RDSXUlM0YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMjVHTUJqZE8lM0ZYZDRodU8yLm54ZDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJHJTI0ci1VVEdweC0lNjA4JTdCU2pfdCUyNSklMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkIoJTJGJTNCQlMlNUIlMkMlMkJlU28uTnU2SW1wJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjgwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8xJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIySSFJKiUyQmslN0RYNEQlNjAlM0EweUdqRlRBWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc21jJTJCYi5WTGFfVWlJTlVLdE5ITSUyMiUzRWZyZWlnYWJlJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlNUJHMGclNjAoLmRkJTI0ak5qcSUyNUwlNjB1alolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ2YkpQJTI0KWMlMjR0YnFoJTNBbEklN0Q1UFJwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJqUUYhcHRvJTQwWmE2LlFkakwlM0JRKmIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJpZVF4Ni1nazZCJTQwRGgzRiU3QmN6NSUyRiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4xLlRhc21vdGExLlBPV0VSJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyQiUzRGslMjUlM0Z1N0tEIWVpJTJDQ1IlM0ZVJTI1YTAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
                                    

                                    Vielen Dank
                                    Gruß
                                    Sralus

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #19

                                    @sralus
                                    Du hast nicht den Blockly-Export (XML) gepostet. Möchtest du in Javascript weiter programmieren?

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    sralusS 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @sralus
                                      Du hast nicht den Blockly-Export (XML) gepostet. Möchtest du in Javascript weiter programmieren?

                                      sralusS Offline
                                      sralusS Offline
                                      sralus
                                      schrieb am zuletzt editiert von
                                      #20

                                      @paul53 Sorry
                                      hoffe das ist nun richtig ..

                                      common.Boiler_mit_AC_-_keller.xml

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • sralusS sralus

                                        @paul53 Sorry
                                        hoffe das ist nun richtig ..

                                        common.Boiler_mit_AC_-_keller.xml

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #21

                                        @sralus sagte: hoffe das ist nun richtig ..

                                        Nein. Rechts oben der Export-Button:

                                        Blockly_Export.JPG

                                        Dort unten "IN DIE ZWISCHENABLAGE KOPIEREN" und dann mittels Strg-V in Code tags übernehmen.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        sralusS 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @sralus sagte: hoffe das ist nun richtig ..

                                          Nein. Rechts oben der Export-Button:

                                          Blockly_Export.JPG

                                          Dort unten "IN DIE ZWISCHENABLAGE KOPIEREN" und dann mittels Strg-V in Code tags übernehmen.

                                          sralusS Offline
                                          sralusS Offline
                                          sralus
                                          schrieb am zuletzt editiert von
                                          #22

                                          @paul53 ok

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                            <variables>
                                              <variable id="smc+b.VLa_UiINUKtNHM">freigabe</variable>
                                              <variable id="%x.ht`Gvdji_eJHlZi3|">akator</variable>
                                              <variable id="OioQhFWyl4r@},SXcFZ|">wirkleistung</variable>
                                            </variables>
                                            <block type="variables_set" id="7r]m4Hw~+Bq[Fg?S%s7e" x="-3137" y="-2137">
                                              <field name="VAR" id="smc+b.VLa_UiINUKtNHM">freigabe</field>
                                              <value name="VALUE">
                                                <block type="logic_ternary" id=".:h6oJmB8oxWM6,6PCzp">
                                                  <value name="IF">
                                                    <block type="variables_get" id="0Qtb+#Q`k?^F`~xeqx6+">
                                                      <field name="VAR" id="%x.ht`Gvdji_eJHlZi3|">akator</field>
                                                    </block>
                                                  </value>
                                                  <value name="THEN">
                                                    <block type="logic_compare" id="%Az?,;R%{`JZ]k[v$2$j">
                                                      <field name="OP">LT</field>
                                                      <value name="A">
                                                        <block type="variables_get" id="s|s$e4N{RAp@ftKe2CM@">
                                                          <field name="VAR" id="OioQhFWyl4r@},SXcFZ|">wirkleistung</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="HX,5!9;y1lj3+l7;`6fW">
                                                          <field name="NUM">200</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <value name="ELSE">
                                                    <block type="logic_compare" id="|a?sX!LjLou.Gqa/1!3L">
                                                      <field name="OP">LT</field>
                                                      <value name="A">
                                                        <block type="variables_get" id="OiI){}vEXdn?VLTZ@ZwK">
                                                          <field name="VAR" id="OioQhFWyl4r@},SXcFZ|">wirkleistung</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="kBs|4MDb9=^:{dq5k)Xp">
                                                          <field name="NUM">2800</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="%^.DGaVnsq/!Wc_{p-IN">
                                                  <field name="VAR" id="%x.ht`Gvdji_eJHlZi3|">akator</field>
                                                  <value name="VALUE">
                                                    <block type="get_value" id="|SZI9.`oF_(I5x,KhwW7">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">sonoff.1.Tasmota1.POWER</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="ZJXi-{G:P?7c$;{u@w,g">
                                                      <field name="VAR" id="OioQhFWyl4r@},SXcFZ|">wirkleistung</field>
                                                      <value name="VALUE">
                                                        <block type="get_value" id="T_D`PrR54kS_eo004Ti!">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">mqtt.0.solaranzeige.3.ac_wirkleistung</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="on" id="-Mk_mb-es!cq=MVXg,[H">
                                                          <field name="OID">mqtt.0.Data.Percent_Remain</field>
                                                          <field name="CONDITION">any</field>
                                                          <field name="ACK_CONDITION"></field>
                                                          <statement name="STATEMENT">
                                                            <block type="controls_if" id="Cs]e0[au,$508-RRa~,u">
                                                              <value name="IF0">
                                                                <block type="variables_get" id="b1_~z[@?(~Zk%Gsad++4">
                                                                  <field name="VAR" id="smc+b.VLa_UiINUKtNHM">freigabe</field>
                                                                </block>
                                                              </value>
                                                              <statement name="DO0">
                                                                <block type="controls_if" id=",c}Sa~}yD^}^K9ygY|3Z">
                                                                  <mutation elseif="1"></mutation>
                                                                  <value name="IF0">
                                                                    <block type="logic_compare" id="pq/=X+I7HF?`QE1g]PUx">
                                                                      <field name="OP">LT</field>
                                                                      <value name="A">
                                                                        <block type="on_source" id="vZZ-M)TZ%_rX+W~tgc6l">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <block type="math_number" id="%/(^ommiIj/46G$/w|yq">
                                                                          <field name="NUM">70</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO0">
                                                                    <block type="variables_set" id="Oe=(~AC2#|j8]~fD4+#?">
                                                                      <field name="VAR" id="%x.ht`Gvdji_eJHlZi3|">akator</field>
                                                                      <value name="VALUE">
                                                                        <block type="logic_boolean" id="VCS}vnf*1Pew^DYtsr?-">
                                                                          <field name="BOOL">FALSE</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </statement>
                                                                  <value name="IF1">
                                                                    <block type="logic_compare" id="`;A$W3_1L!*L]4miStiQ">
                                                                      <field name="OP">GT</field>
                                                                      <value name="A">
                                                                        <block type="on_source" id="_e7s61Nq0ItOEu[r*Doy">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <block type="math_number" id="/bwD2|zMt}m4@)$kc,aJ">
                                                                          <field name="NUM">71</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO1">
                                                                    <block type="variables_set" id="M^O@Sd,duEsjIQV?erLn">
                                                                      <field name="VAR" id="%x.ht`Gvdji_eJHlZi3|">akator</field>
                                                                      <value name="VALUE">
                                                                        <block type="logic_boolean" id="5HouemIBi48UDE/}1R|^">
                                                                          <field name="BOOL">TRUE</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </statement>
                                                                  <next>
                                                                    <block type="controls_if" id="sDP,tw2TK~03tky2kB#4">
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="f(hqrsjY@~xq7V7.RbU@">
                                                                          <field name="OP">NEQ</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="g7A;E6(G:`jm|nkKM+S9">
                                                                              <field name="VAR" id="%x.ht`Gvdji_eJHlZi3|">akator</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="get_value" id="yFJke=;9vd.F{BtaFxr1">
                                                                              <field name="ATTR">val</field>
                                                                              <field name="OID">sonoff.1.Tasmota1.POWER</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="control" id="uh38dUI8,48L(Z(liUgP">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                          <field name="OID">sonoff.1.Tasmota1.POWER</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE">
                                                                            <block type="variables_get" id="tgboN);[ScLgQmoDh8x3">
                                                                              <field name="VAR" id="%x.ht`Gvdji_eJHlZi3|">akator</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                            <block type="on" id="eUOAOIs)K^VM`~/ymSrX" x="-2337" y="-2037">
                                              <field name="OID">mqtt.0.solaranzeige.3.ac_wirkleistung</field>
                                              <field name="CONDITION">ne</field>
                                              <field name="ACK_CONDITION"></field>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="Q+=g^R[cQ/3%%3#@5,~+">
                                                  <mutation elseif="1"></mutation>
                                                  <value name="IF0">
                                                    <block type="logic_compare" id="7#J5-~%M))b%h1DBmq!:">
                                                      <field name="OP">LT</field>
                                                      <value name="A">
                                                        <block type="on_source" id=";3$U0Q|+xogRq%bUeOji">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="r=.=mkJA$EO`X98dHXJ@">
                                                          <field name="NUM">200</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="variables_set" id="9(W,}ZcQQHI8db-ud)Bq">
                                                      <field name="VAR" id="smc+b.VLa_UiINUKtNHM">freigabe</field>
                                                      <value name="VALUE">
                                                        <block type="math_number" id="%6|xctEjqm:jEt`=CIu?">
                                                          <field name="NUM">1</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                  <value name="IF1">
                                                    <block type="logic_compare" id="%GMBjdO?Xd4huO2.nxd8">
                                                      <field name="OP">GT</field>
                                                      <value name="A">
                                                        <block type="on_source" id="G$r-UTGpx-`8{Sj_t%)+">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="+(/;BS[,+eSo.Nu6Imp+">
                                                          <field name="NUM">2800</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO1">
                                                    <block type="variables_set" id="I!I*+k}X4D`:0yGjFTAZ">
                                                      <field name="VAR" id="smc+b.VLa_UiINUKtNHM">freigabe</field>
                                                      <value name="VALUE">
                                                        <block type="math_number" id="[G0g`(.dd$jNjq%L`ujZ">
                                                          <field name="NUM">0</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="controls_if" id="vbJP$)c$tbqh:lI}5PRp">
                                                          <value name="IF0">
                                                            <block type="get_value" id="jQF!pto@Za6.QdjL;Q*b">
                                                              <field name="ATTR">val</field>
                                                              <field name="OID">sonoff.1.Tasmota1.POWER</field>
                                                            </block>
                                                          </value>
                                                          <statement name="DO0">
                                                            <block type="control" id="ieQx6-gk6B@Dh3F{cz5/">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">sonoff.1.Tasmota1.POWER</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="logic_boolean" id="B=k%?u7KD!ei,CR?U%a0">
                                                                  <field name="BOOL">FALSE</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                            </block>
                                          </xml>
                                          
                                          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

                                          629

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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