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. Skripten / Logik
  4. Blockly: Anhebung der Warmwassertemperatur bei PV_Überschuss

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Blockly: Anhebung der Warmwassertemperatur bei PV_Überschuss

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
33 Beiträge 6 Kommentatoren 3.1k Aufrufe
  • Ä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.
  • wendy2702W Online
    wendy2702W Online
    wendy2702
    schrieb am zuletzt editiert von
    #6

    Ich werde mir mal was zusammen klicken, testen und zu 99,9% wieder fragen :D

    Bitte keine Fragen per PN, die gehören ins Forum!

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    1 Antwort Letzte Antwort
    0
    • wendy2702W Online
      wendy2702W Online
      wendy2702
      schrieb am zuletzt editiert von
      #7

      Hallo,

      so… hat ein bisschen gedauert aber ich bin etwas weitergekommen.

      Mein Aktuelles Blockly sieht so aus:

      999_blocky_ww_umschaltung.jpg

      Meine WP benötigt zur WW Erzeugung ca. 3,8kw deshalb dachte ich mir mit dem ersten Block eine Variable setzen falls Einspeisung >=3800,

      mit dem zweiten Block die Variable zurücksetzen wenn der Bezug >500 ist mit Zeitverzögerung (30sekunden zum Testen) damit es nicht permanent toggelt wenn gerade mal eine Wolke durchzieht.

      Allerdings weiß ich nicht ob man das noch besser lösen könnte z.B. im ersten Block erst auf "true" setzen wenn die 3800 länger als eine bestimmte Zeit eingespeist werden!?

      Da die Abfrage der Daten der WP und das Umschalten Seriell erfolgt muss ich im untereren Teil dafür sorgen das nicht zeitgleich ein anderes Script den Port belegt da sich sonst der Port verabschiedet und ich den JS Adapter erst neu starten muss.

      Vielleicht hat dazu auch jemand eine Idee wie man das Automatisieren könnte.

      Wenn der Port nicht mehr reagiert erscheint im Log des Datenabfrage Scriptes ein "Error 1" Eintrag.

      EDIT:gerade passiert und sieht im log dann so aus:

      javascript.2	2018-06-20 11:37:16.021	info	Stop script script.js.Waterkotte.Abfrage_Waterkotte
      javascript.2	2018-06-20 11:37:13.042	info	script.js.Waterkotte.Abfrage_Waterkotte: Error1:
      javascript.2	2018-06-20 11:37:13.037	info	script.js.Waterkotte.Abfrage_Waterkotte: registered 0 subscriptions and 0 schedules
      javascript.2	2018-06-20 11:37:13.026	info	Start javascript script.js.Waterkotte.Abfrage_Waterkotte
      

      Im Prinzip sehen die Scripte zur WP Steuerung aktuell so aus:

      999_waterkotte_scripte.jpg

      Abfrage Waterkotte –> wird jede Minute einmal gestartet und liest einen HEX String Serial aus der WP aus.

      Auswertung Waterkotte --> läuft ständig und wandelt den HEX String in einzelne Datenpunkte um und schreibt diese

      Restart Abfrage Waterkotte --> setzt das erste Script einmal pro Minute für 5 Sekunden auf enabled.

      WW_Temp_45 --> script um die Warmwasser Temp auf 45 Grad zu stellen

      WW_Temp_60 --> script um die Warmwasser Temo auf 60 Grad zu stellen

      WW_Temp_Umschaltung_PV_Ueberschuß --> mein Blockly von oben zum umschalten der Warmwasser Temperatur

      Anbei noch das Blockly als Export

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="+CU7DBqPN-:BXdUoO+nm" x="-487" y="63"><mutation items="1"></mutation>
      <field name="CONDITION">ne</field>

      <value name="OID0"><shadow type="field_oid" id="-dyEvB_T{Oif?o=FpqC8"><field name="oid">javascript.0.PV_Anlage.Wirkenergie_Einspeisung</field></shadow></value> 
      <statement name="STATEMENT"><block type="controls_if" id="SX;8~,KESeTeG1|YOp2Y"><value name="IF0"><block type="logic_compare" id="o#(;6hyhUyy{Tv4_vXkv"><field name="OP">GT</field>
              <value name="A"><block type="get_value" id="JW#gBtZdpmHx!m5|)tYq"><field name="ATTR">val</field>
                  <field name="OID">javascript.0.PV_Anlage.Wirkenergie_Einspeisung</field></block></value> 
              <value name="B"><block type="math_number" id="^JD~A^^vtI4:aDiU~MYs"><field name="NUM">3800</field></block></value></block></value> 
          <statement name="DO0"><block type="control" id="X:!J{M}Fd4xE`An#hzO["><mutation delay_input="false"></mutation>
              <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE"><block type="logic_boolean" id="g|JX0*bh+XYLjH[/b0@P"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block> 
      

      <block type="on_ext" id="l/sO`Mmg#3?E_,:aD_#5" x="-487" y="288"><mutation items="1"></mutation>
      <field name="CONDITION">ne</field>

      <value name="OID0"><shadow type="field_oid" id="e5eyn}olm?FlJe@hIU~V"><field name="oid">javascript.0.PV_Anlage.Wirkenergie_Bezug</field></shadow></value> 
      <statement name="STATEMENT"><block type="controls_if" id="si_XTC747[al^gX0YC!R"><value name="IF0"><block type="logic_compare" id="n2q67+OVsF.C14ve9go)"><field name="OP">GT</field>
              <value name="A"><block type="get_value" id="KYLeNK4mE?-Kf6;#WE#H"><field name="ATTR">val</field>
                  <field name="OID">javascript.0.PV_Anlage.Wirkenergie_Bezug</field></block></value> 
              <value name="B"><block type="math_number" id="F~ubKW`y}A(i*h}er@QP"><field name="NUM">500</field></block></value></block></value> 
          <statement name="DO0"><block type="control" id="i_^QxI,D*lKrmMm/OgR8"><mutation delay_input="true"></mutation>
              <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field>
              <field name="WITH_DELAY">TRUE</field>
              <field name="DELAY_MS">30</field>
              <field name="UNIT">sec</field>
              <field name="CLEAR_RUNNING">FALSE</field>
              <value name="VALUE"><block type="logic_boolean" id="t[u{-w_(z}*G}bw[K#M9"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block> 
      

      <block type="on_ext" id="V6BqryszrMeeFX,Sy%xw" x="-487" y="513"><mutation items="1"></mutation>
      <field name="CONDITION">ne</field>

      <value name="OID0"><shadow type="field_oid" id="=M47K)L7rrxsX8pLE9})"><field name="oid">javascript.0.PV_Anlage.Einspeisung_3800</field></shadow></value> 
      <statement name="STATEMENT"><block type="debug" id="B1S7oi%8O+cxM6SLtU!Q"><field name="Severity">log</field>
          <value name="TEXT"><shadow type="text" id=";g|kjZWh]2RXP;a@G_uk"><field name="TEXT">Einspeisung wurde geändert</field></shadow></value> 
          <next><block type="controls_if" id=".t=J|`_6J8VOJ?~8|7qA"><mutation elseif="1"></mutation>
              <value name="IF0"><block type="logic_operation" id="*xiaqyx**4fSL*m^q,`o" inline="false"><field name="OP">AND</field>
                  <value name="A"><block type="logic_compare" id="Mq3mkgQTGSL9XAlw*^Oz"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="#pTy1/ou8`patf9EW/*3"><field name="ATTR">val</field>
                          <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="Z4G({IB7kYV(o=q)U8{t"><field name="BOOL">TRUE</field></block></value></block></value> 
                  <value name="B"><block type="logic_operation" id="Id9-8}n38iefU10~6QMr" inline="false"><field name="OP">AND</field>
                      <value name="A"><block type="logic_compare" id="wEy4d/,l-bZNx+YdNIvd"><field name="OP">EQ</field>
                          <value name="A"><block type="get_value" id="pBh2S(ANz-IS27mpCuL9"><field name="ATTR">val</field>
                              <field name="OID">javascript.2.Waterkotte.Daten.Temp_WW_Soll</field></block></value> 
                          <value name="B"><block type="math_number" id="TP6vX3vX/,dYJ+E!}Aj1"><field name="NUM">45</field></block></value></block></value> 
                      <value name="B"><block type="logic_compare" id="SMX!U:BxiHQDGwOmwkid"><field name="OP">EQ</field>
                          <value name="A"><block type="get_value" id="5SG1UhY^/l#Js(TLKYMC"><field name="ATTR">val</field>
                              <field name="OID">javascript.0.scriptEnabled.Waterkotte.Abfrage_Waterkotte</field></block></value> 
                          <value name="B"><block type="logic_boolean" id="Zbu%BV(R+_r07A^j]vxU"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value> 
              <statement name="DO0"><block type="debug" id="+R/OA%?:XzdKh^hPD)sY"><field name="Severity">log</field>
                  <value name="TEXT"><shadow type="text" id="/zY7KYx1kC[cVbDn5s_S"><field name="TEXT">WW_Temp auf 60 Grad</field></shadow></value> 
                  <next><block type="control" id=".U5ip()a_nO9Ll5E6G]j"><mutation delay_input="false"></mutation>
                      <field name="OID">javascript.2.scriptEnabled.Waterkotte.WW_Temp_60</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="9Y*u49L6eUCE?20o`@#!"><field name="BOOL">TRUE</field></block></value> 
                      <next><block type="control" id="lxL)IzsNK-y@gnE_e3_w"><mutation delay_input="true"></mutation>
                          <field name="OID">javascript.2.scriptEnabled.Waterkotte.WW_Temp_60</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">2</field>
                          <field name="UNIT">sec</field>
                          <field name="CLEAR_RUNNING">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="TH[QO~20P~4TTb95Bw;n"><field name="BOOL">FALSE</field></block></value> 
                          <next><block type="telegram" id="%X.W)i7u8GeMt#fiMRx;"><field name="INSTANCE">.0</field>
      
                              <value name="MESSAGE"><shadow type="text" id="7}fojKny.rPqem.5aqT:"><field name="TEXT">Warmwasser auf 60 Grad</field></shadow></value></block></next></block></next></block></next></block></statement> 
              <value name="IF1"><block type="logic_operation" id="gVEJ=XAwJlH:iV;A:DBE" inline="false"><field name="OP">AND</field>
                  <value name="A"><block type="logic_compare" id="cVt(gMvq6EY?}DIetmrJ"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="xDgZNG=yLZcZc#Pq{^tD"><field name="ATTR">val</field>
                          <field name="OID">javascript.0.PV_Anlage.Einspeisung_3800</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="/2EI%RN+~.c0x@PGvrHH"><field name="BOOL">FALSE</field></block></value></block></value> 
                  <value name="B"><block type="logic_operation" id=",4eHLc6AlyD}+*Dl|@|f" inline="false"><field name="OP">AND</field>
                      <value name="A"><block type="logic_compare" id="f?;c7E)+SLgLa-{J26)2"><field name="OP">EQ</field>
                          <value name="A"><block type="get_value" id="/rHPckIaJ(O/4uOp0gWQ"><field name="ATTR">val</field>
                              <field name="OID">javascript.2.Waterkotte.Daten.Temp_WW_Soll</field></block></value> 
                          <value name="B"><block type="math_number" id="@z0UegGcE:Kd^)f(DizY"><field name="NUM">60</field></block></value></block></value> 
                      <value name="B"><block type="logic_compare" id="xc;VK/Jb]VbTZKUl)Vz="><field name="OP">EQ</field>
                          <value name="A"><block type="get_value" id="H9O)m1_/Y7V,v{asICQh"><field name="ATTR">val</field>
                              <field name="OID">javascript.0.scriptEnabled.Waterkotte.Abfrage_Waterkotte</field></block></value> 
                          <value name="B"><block type="logic_boolean" id="lq@#3W%Oz_qU/*Ir-4D-"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value> 
              <statement name="DO1"><block type="debug" id="ZrP*jfWeO*s6g+kL^tkL"><field name="Severity">log</field>
                  <value name="TEXT"><shadow type="text" id="@{3v:Uo?[a5]ByUs_8=O"><field name="TEXT">WW_Temp auf 45 Grad</field></shadow></value> 
                  <next><block type="control" id="u5A[p?6K04J^,vkG1B}e"><mutation delay_input="false"></mutation>
                      <field name="OID">javascript.0.scriptEnabled.Waterkotte.WW_Temp_45</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="=BnP!y4via/aVR6;2|fF"><field name="BOOL">TRUE</field></block></value> 
                      <next><block type="control" id="nKR}PhGhwIcUCor]+9Qb"><mutation delay_input="true"></mutation>
                          <field name="OID">javascript.0.scriptEnabled.Waterkotte.WW_Temp_45</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">2</field>
                          <field name="UNIT">sec</field>
                          <field name="CLEAR_RUNNING">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="S2Oei^q~5RKWlV.?1!uW"><field name="BOOL">FALSE</field></block></value> 
                          <next><block type="telegram" id="{)gyzCn_JPH)`^~{aZy|"><field name="INSTANCE">.0</field>
      
                              <value name="MESSAGE"><shadow type="text" id="S[hZ_Enkhgjy|,Az%Z0`"><field name="TEXT">Warmwasser auf 45 Grad</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml> 
      
      
      Manchmal funktioniert die Umschaltung relativ gut und dann kommt per Telegram plötzlich so etwas:
      
       ![999_warmwasser_telegram.jpg](/assets/uploads/files/999_warmwasser_telegram.jpg) 
      
      oder auch in die andere Richtung:
      
      >! ````
      11:43:54.056	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:55.174	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:55.176	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:43:55.505	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:56.700	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:56.701	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:43:56.812	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:57.683	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:57.687	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:43:57.863	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:58.866	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:43:58.866	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:43:59.057	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:10.501	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:10.501	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:44:10.660	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:11.683	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:11.684	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:44:11.829	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:12.863	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:13.015	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:14.042	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:16.855	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:17.864	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:17.864	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:44:18.031	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:19.052	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:19.053	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:44:19.495	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:20.504	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:20.504	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:44:20.735	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:21.700	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      11:44:21.701	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: WW_Temp auf 45 Grad
      11:44:21.834	[info]	javascript.2 script.js.Waterkotte.WW_Temp_Umschaltung_PV_Ueberschuß: Einspeisung wurde geändert
      

      Ich bin kein JS und Blockly experte und es geht bestimmt auch eleganter aber ich komme halt nicht drauf.

      Wäre nett wenn mir jemand bei der Verbesserung weiterhelfen könnte.

      Danke und Gruß

      Mirko

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        RappiRN
        Most Active
        schrieb am zuletzt editiert von
        #8

        Du hast die "interne" Verzögerung im steuere-Block verwendet, nicht dass du da mehrere Verzögerungen aufrufts und die dann dieses Verhalten provozieren.

        Probiere doch mal stattdessen timeout-Blöcke zu verwenden und diese dann auch an den richtigen Stellen wieder beenden.

        Ich würde jetzt grob sagen, einen timeout-Block um "steuere Einspeisung unwahr" dann gleich darunter, in den Timeout ein timeout-beenden und dann noch einen timeout-beenden Block bei "steuere Einspeisung wahr".

        Enrico

        1 Antwort Letzte Antwort
        0
        • wendy2702W Online
          wendy2702W Online
          wendy2702
          schrieb am zuletzt editiert von
          #9

          Hi Enrico,

          kannst du mir mal auf die Sprünge helfen wie du das meinst?

          Ich habe da noch ein Verständnis Problem :oops:

          Danke

          Mirko

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Antwort Letzte Antwort
          0
          • AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            schrieb am zuletzt editiert von
            #10

            Dein zweiter Trigger (Wirkenergie_Bezug > 500) setzt jedesmal einen State verzögert, wenn er ausgelöst wird. Eine mehrfache Änderung der Wirkenergie jenseits von 500 sorgt nun dafür, dass jeweils 30s nach dieser Änderung der State Einspeisung_3800 gesetzt wird, auch wenn dies gar nicht mehr nötig und sinnvoll ist. Du fängst das zwar eigentlich ab, aber möglicherweise verwirrt der mehrfache Timeout irgendwas.

            Enricos Vorschlag sieht wie folgt aus (in Pseudocode):

            Wenn Wirkenergie_Bezug > 500:
                timeout1 löschen
                timeout1 erstellen mit 30s Verzögerung:
                    Einspeisung_3800 auf unwahr setzen
            
            Wenn Wirkenergie_Einspeisung > 3800:
                timeout1 löschen (damit die Variable nicht unnötig mit unwahr überschrieben wird)
                Einspeisung_3800 auf wahr setzen
            
            Rest wie gehabt
            
            

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            1 Antwort Letzte Antwort
            0
            • wendy2702W Online
              wendy2702W Online
              wendy2702
              schrieb am zuletzt editiert von
              #11

              OK.

              Meint ihr so!?

              999_umschaltung_ww_neu.jpg

              Bitte keine Fragen per PN, die gehören ins Forum!

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                RappiRN
                Most Active
                schrieb am zuletzt editiert von
                #12

                So in etwa, bin mir jetzt nicht ganz sicher bei dem unteren Stop, ob so, wie du den gelegt hast, oder in den timeout rein nach dem steuere.

                Auf jeden Fall sollte der timeout so immer sicher beendet werden. Probiers doch mal aus. :D

                Enrico

                1 Antwort Letzte Antwort
                0
                • wendy2702W Online
                  wendy2702W Online
                  wendy2702
                  schrieb am zuletzt editiert von
                  #13

                  So hat es nicht funktioniert. Bei Bezug >500 wurde nicht wieder auf "unwahr" gewechselt.

                  Habe es mal so geändert:

                  999_umschaltung_ww_neu_1.jpg

                  Das erste steuere nur um nach Script neustart den DP sicher auf false zu setzen.

                  Jetzt mal ein paar Wolken abwarten.

                  Bitte keine Fragen per PN, die gehören ins Forum!

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    RappiRN
                    Most Active
                    schrieb am zuletzt editiert von
                    #14

                    Du hast bei 500 auch ein größer als drin, dann klappt das nicht. Entweder machst du da ein kleiner als rein, oder du verwendest als Hysterese einen Wert von vielleicht kleiner als 1500 dann würde das Abschalten der Erwärmung auch wieder Sinn machen.

                    Enrico

                    1 Antwort Letzte Antwort
                    0
                    • wendy2702W Online
                      wendy2702W Online
                      wendy2702
                      schrieb am zuletzt editiert von
                      #15

                      Hi Enrico,

                      Kann es sein das du was verwechselt? Bei den >500 schaue ich ja auf den Bezug (vom Netzbetreiber) und bei den >3800 auf meine Einspeisung. Oder habe ich noch einen Gedanken Fehler.

                      Mirko

                      Bitte keine Fragen per PN, die gehören ins Forum!

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        RappiRN
                        Most Active
                        schrieb am zuletzt editiert von
                        #16

                        Hast Recht, ich hab mich da verwirren lassen! :?

                        Enrico

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          RappiRN
                          Most Active
                          schrieb am zuletzt editiert von
                          #17

                          Setz doch mal noch zwei debug-Blöcke ein. Einen in den timeout und einen einen unter falls (beim unteren Teil) um zu sehen, was bzw. ob da was passiert. Kannst du denn ausschließen, dass die Einspeisung in den 30sec timeout nicht wieder über 3800 gegangen ist? Wenn nicht, du weißt ja, debug-Blöcke wirken manchmal Wunder! :D

                          Enrico

                          1 Antwort Letzte Antwort
                          0
                          • wendy2702W Online
                            wendy2702W Online
                            wendy2702
                            schrieb am zuletzt editiert von
                            #18

                            Gute Idee. Werde ich morgen machen.

                            Die 30sekunden sind jetzt nur zum testen. Will das eigentlich so auf 5 Minuten stellen damit das nicht hin und her schaltet.

                            Gesendet von iPhone mit Tapatalk Pro

                            Bitte keine Fragen per PN, die gehören ins Forum!

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            1 Antwort Letzte Antwort
                            0
                            • rantanplanR Offline
                              rantanplanR Offline
                              rantanplan
                              schrieb am zuletzt editiert von
                              #19

                              Hallo wendy2702

                              In Deinem Blockly oben, hättest Du bei den Verzögerungen, eigentlich nur ein Häkchen bei "löschen falls lauft" setzen müssen.

                              Grüße

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              1 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                RappiRN
                                Most Active
                                schrieb am zuletzt editiert von
                                #20

                                Damit kannst du den Timer aber nicht stoppen, wenn der obere Trigger reagiert, oder sehe ich das falsch?

                                Enrico

                                1 Antwort Letzte Antwort
                                0
                                • rantanplanR Offline
                                  rantanplanR Offline
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #21

                                  @RappiRN:

                                  Damit kannst du den Timer aber nicht stoppen, wenn der obere Trigger reagiert, oder sehe ich das falsch? `

                                  Ich meinte dieses Blockly viewtopic.php?p=157237#p156903

                                  So im "Überflug" sehe ich da keine Zusammenhänge der Verzögerungen.

                                  Grüße

                                  Rantanplan

                                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                  1 Antwort Letzte Antwort
                                  0
                                  • R Offline
                                    R Offline
                                    RappiRN
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #22

                                    Die Verzögerungen sollen verhindern, das bei kurzem Wolkendurchzug immer wieder hin- und hergeschaltet wird.

                                    Der Zusammenhang ist in dem Fall die Variable, die mit dem einen Trigger auf wahr und mit dem anderen auf unwahr geschaltet werden soll.

                                    Enrico

                                    1 Antwort Letzte Antwort
                                    0
                                    • wendy2702W Online
                                      wendy2702W Online
                                      wendy2702
                                      schrieb am zuletzt editiert von
                                      #23

                                      Hi,

                                      Danke das ihr euch meinem Problem annehmt!

                                      Richtig, mit den/der Verzögerung wollte ich das hin und her schalten verhindern wenn mal kurz ne Wolke kommt.

                                      Eigentlich hätte ich es irgendwann gerne so das der Wert Einspeisung z.B. Für 3 minuten größer als 3800 ist und dann erst die Variable auf „true“ gesetzt wird und damit WW Temperatur auf 60 Grad.

                                      Andersherum dann wenn der Wert für Bezug z.B: länger als 4 Minuten >500 die variable wieder auf „false“ und damit WW Temperatur auf 45 Grad.

                                      Kann ich das mit Timeout / Verzögerungen erreichen oder erfordert das komplexere Programmierung?

                                      Danke und Gruß

                                      Mirko

                                      Bitte keine Fragen per PN, die gehören ins Forum!

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      1 Antwort Letzte Antwort
                                      0
                                      • AlCalzoneA Offline
                                        AlCalzoneA Offline
                                        AlCalzone
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #24

                                        Das sollte per einfachen Timeouts gehen, bin mir aber nicht sicher wie man das Überprüfen auf existierenden Timeout per Blockly macht. Eventuell musst du doch auf JS zurückgreifen:

                                        Trigger Einspeisung > 3800:
                                            Wenn timeout1 nicht läuft UND Variable == true:
                                                setze timeout1 (3 Minuten):
                                                    (optional: Wenn Einspeisung immer noch > 3800 => ) Variable auf false
                                        
                                        Trigger Einspeisung < = 3800:
                                            Lösche Timeout1
                                        
                                        Trigger Bezug > 500:
                                            Wenn timeout2 nicht läuft UND Variable == false:
                                                setze timeout2 (4 Minuten):
                                                    (optional: Wenn Bezug immer noch > 500 => ) Variable auf true
                                        
                                        Trigger Bezug <= 500:
                                            Lösche timeout 2            
                                        
                                        

                                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                        1 Antwort Letzte Antwort
                                        0
                                        • wendy2702W Online
                                          wendy2702W Online
                                          wendy2702
                                          schrieb am zuletzt editiert von
                                          #25

                                          Danke.

                                          Wie man einen laufenden Timer prüft weiß ich weder in Blockly noch in JS :mrgreen: :roll:

                                          Verstehe ich das richtig das bei einem Timeout auch nach/während Ablauf des Timeouts nochmal geschaut wird ob die Bedingung erfüllt wird?

                                          Bitte keine Fragen per PN, die gehören ins Forum!

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          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

                                          642

                                          Online

                                          32.7k

                                          Benutzer

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