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. Blocky Script Probleme

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    641

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Blocky Script Probleme

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
9 Beiträge 3 Kommentatoren 769 Aufrufe 3 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.
  • Lucas StiefelL Offline
    Lucas StiefelL Offline
    Lucas Stiefel
    schrieb am zuletzt editiert von Lucas Stiefel
    #1

    Hallo,

    Ich habe ein Blocky für meine Terrarium beregnungsanlage gestellt.

    Nur irgendwie funktioniert das nicht wie ich will..

    Unzwar, soll als erstes Überprüft werden mit einen Datenpunkt der im VIS gesetzt wird, ob Sommer oder Winterzeit ist.

    Jetzt im Winter soll um 8 und um 13 Uhr jeden Tag der GPIO Pin 14 auf falsch gesetzt werden um das Relais zu schalten.

    (Zurzeit ist es ein Low Level Relais. Quasi um die Beregnungsanlage auszuschalten muss das Signal 1 stehen, da es ein schließer ist), neues Relais mit High Level Trigger ist bestellt.

    Nun das Phänomen, ein Tag stand ich früh auf und das Relais ging die ganze zeit an und aus..
    Danach hat er es nicht mehr gemacht.

    Ich wollte heut von unterwegs den Log prüfen doch hatte keine Verbindung mehr zum Pi, ab um dreiviertel 11 ging es wieder, aber siehe log. Was mach ich falsch?!

    Screenshot_20191203-105742_Chrome.jpg

    Screenshot_20191203-105728_Chrome.jpg

    AlCalzoneA 1 Antwort Letzte Antwort
    0
    • Lucas StiefelL Lucas Stiefel

      Hallo,

      Ich habe ein Blocky für meine Terrarium beregnungsanlage gestellt.

      Nur irgendwie funktioniert das nicht wie ich will..

      Unzwar, soll als erstes Überprüft werden mit einen Datenpunkt der im VIS gesetzt wird, ob Sommer oder Winterzeit ist.

      Jetzt im Winter soll um 8 und um 13 Uhr jeden Tag der GPIO Pin 14 auf falsch gesetzt werden um das Relais zu schalten.

      (Zurzeit ist es ein Low Level Relais. Quasi um die Beregnungsanlage auszuschalten muss das Signal 1 stehen, da es ein schließer ist), neues Relais mit High Level Trigger ist bestellt.

      Nun das Phänomen, ein Tag stand ich früh auf und das Relais ging die ganze zeit an und aus..
      Danach hat er es nicht mehr gemacht.

      Ich wollte heut von unterwegs den Log prüfen doch hatte keine Verbindung mehr zum Pi, ab um dreiviertel 11 ging es wieder, aber siehe log. Was mach ich falsch?!

      Screenshot_20191203-105742_Chrome.jpg

      Screenshot_20191203-105728_Chrome.jpg

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von AlCalzone
      #2

      @Lucas-Stiefel Du solltest bei Problemen erst mal klären, was da genau im Log steht. Die Zeilen mit WARN sind leider auf dem Screenshot nicht komplett drauf.

      Zweitens (und ist die Ursache für merkwürdiges Verhalten):
      Du erzeugst alle 3 Sekunden (Intervall) zwei neue Trigger (pinke Blöcke). Nach einer Minute sind das dann schon 2x20 = 40, nach einer Stunde 2x1200 = 2400!!!

      Das bedeutet, dass zu den angegebenen Zeitpunkten die jeweiligen Aktionen jeweils mehrere tausend Mal ausgeführt werden.

      Grundsätzlich: Trigger-Blöcke NIEMALS in andere Blöcke schachteln. Stattdessen innerhalb der Trigger prüfen, ob die gewünschte Bedingung erfüllt ist, und nur dann die gewünschten Aktionen ausführen.

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

      Lucas StiefelL 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @Lucas-Stiefel Du solltest bei Problemen erst mal klären, was da genau im Log steht. Die Zeilen mit WARN sind leider auf dem Screenshot nicht komplett drauf.

        Zweitens (und ist die Ursache für merkwürdiges Verhalten):
        Du erzeugst alle 3 Sekunden (Intervall) zwei neue Trigger (pinke Blöcke). Nach einer Minute sind das dann schon 2x20 = 40, nach einer Stunde 2x1200 = 2400!!!

        Das bedeutet, dass zu den angegebenen Zeitpunkten die jeweiligen Aktionen jeweils mehrere tausend Mal ausgeführt werden.

        Grundsätzlich: Trigger-Blöcke NIEMALS in andere Blöcke schachteln. Stattdessen innerhalb der Trigger prüfen, ob die gewünschte Bedingung erfüllt ist, und nur dann die gewünschten Aktionen ausführen.

        Lucas StiefelL Offline
        Lucas StiefelL Offline
        Lucas Stiefel
        schrieb am zuletzt editiert von
        #3

        @AlCalzone

        Screenshot_20191203-123014_Chrome.jpg

        Screenshot_20191203-123003_Chrome.jpg

        Hier die Logs, das Warning : Beregnung an und aus, hab ich ja gesetzt.
        Das er sich abgeschalten hat ist vom system.

        Er sollte eig. 8:00 den Pin aus setzten und in die Log : Beregnung an schreiben.

        Um 8:00:30 sollte sie wieder ausgehen und : Beregnung aus schreiben.

        Wie man sieht haut irgendwas mitn Skript nicht hin weil er tausend mal aus schreibt..

        AlCalzoneA 1 Antwort Letzte Antwort
        0
        • Lucas StiefelL Lucas Stiefel

          @AlCalzone

          Screenshot_20191203-123014_Chrome.jpg

          Screenshot_20191203-123003_Chrome.jpg

          Hier die Logs, das Warning : Beregnung an und aus, hab ich ja gesetzt.
          Das er sich abgeschalten hat ist vom system.

          Er sollte eig. 8:00 den Pin aus setzten und in die Log : Beregnung an schreiben.

          Um 8:00:30 sollte sie wieder ausgehen und : Beregnung aus schreiben.

          Wie man sieht haut irgendwas mitn Skript nicht hin weil er tausend mal aus schreibt..

          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #4

          @Lucas-Stiefel Habe meinen obigen Post editiert

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

          Lucas StiefelL 2 Antworten Letzte Antwort
          0
          • AlCalzoneA AlCalzone

            @Lucas-Stiefel Habe meinen obigen Post editiert

            Lucas StiefelL Offline
            Lucas StiefelL Offline
            Lucas Stiefel
            schrieb am zuletzt editiert von Lucas Stiefel
            #5

            @AlCalzone

            Ich sehe schon, in der log sendet er alle ms auch Beregnung aus.

            Screenshot_20191203-124124_JuiceSSH.jpg

            Wie kann ich das umbauen das es richtig funktioniert?
            Stehe leider bissel aufm Schlauch

            Mag einfach wenn die Winterzeit oben gegeben ist das er jeden Tag um 8 und 13 uhr für 30sekunden mein GPIO Schaltet

            Edit: müsste es nicht funktionieren wenn ich im Zeitblock die Sekunden noch angebe?

            1 Antwort Letzte Antwort
            0
            • AlCalzoneA AlCalzone

              @Lucas-Stiefel Habe meinen obigen Post editiert

              Lucas StiefelL Offline
              Lucas StiefelL Offline
              Lucas Stiefel
              schrieb am zuletzt editiert von
              #6

              @AlCalzone habs mir nun mal so überlegt weiß aber nicht ob das so stimmt.

              1. Kommentar wäre die Prüfung ob Winterzeit
              2. Kommentar die 30000ms für die abschaltung

              Screenshot_20191203-144956_Chrome.jpg

              1 Antwort Letzte Antwort
              0
              • J.A.R.V.I.S.J Offline
                J.A.R.V.I.S.J Offline
                J.A.R.V.I.S.
                Developer
                schrieb am zuletzt editiert von J.A.R.V.I.S.
                #7

                @Lucas-Stiefel

                du solltest erst den Schedule ausführen und darin prüfen, ob die Bedingungen erfüllt sind.

                Jetzt werden dennoch jeden Tag mehrere neue Schedules erzeugt. Somit werden morgen wieder mehrfach die Werte gesetzt werden.

                5dbab0af-a6f3-4ca1-aced-75871ce26f72-grafik.png

                <xml xmlns="http://www.w3.org/1999/xhtml">
                 <block type="schedule" id="x#]K(.$e8oCmue7V|}4K" x="112" y="63">
                   <field name="SCHEDULE">0 8,13 * * *</field>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="N0N!45OOe,Y#m?WU^,$p">
                       <value name="IF0">
                         <block type="get_value_var" id="b%/,]H_XD73G6433EhIG">
                           <field name="ATTR">val</field>
                           <value name="OID">
                             <shadow type="text" id="NE7t3#pId|[D9*9*-^c6">
                               <field name="TEXT">Winterzeitprüfung</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="control_ex" id="yk=){e_t%SwQ,0%c8t$C">
                           <field name="TYPE">false</field>
                           <field name="CLEAR_RUNNING">FALSE</field>
                           <value name="OID">
                             <shadow type="field_oid" id="eEp60rHhxkAdJS?Q:(9c">
                               <field name="oid">Object ID</field>
                             </shadow>
                           </value>
                           <value name="VALUE">
                             <shadow type="logic_boolean" id="2^eSME`LANQ{Z$Igv%Jj">
                               <field name="BOOL">TRUE</field>
                             </shadow>
                           </value>
                           <value name="DELAY_MS">
                             <shadow type="math_number" id="V|{1?eT#THxS.g3d#R!}">
                               <field name="NUM">0</field>
                             </shadow>
                           </value>
                           <next>
                             <block type="control_ex" id="6FpvKlNdW^z{Sj)+K|#6">
                               <field name="TYPE">false</field>
                               <field name="CLEAR_RUNNING">FALSE</field>
                               <value name="OID">
                                 <shadow type="field_oid" id="ww?ENW;hbsq;.0,}puU,">
                                   <field name="oid">Object ID</field>
                                 </shadow>
                               </value>
                               <value name="VALUE">
                                 <shadow type="logic_boolean" id="bFn%+Aq{B;!GRfbK@3qi">
                                   <field name="BOOL">TRUE</field>
                                 </shadow>
                               </value>
                               <value name="DELAY_MS">
                                 <shadow type="math_number" id="lcct{PW}Y;i0,CK@R@n3">
                                   <field name="NUM">30000</field>
                                 </shadow>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                Ich habe da mal was kleines zusammengebastelt. Du musst es natürlich noch auf deine DPs und co anpassen.

                Damit wird täglich um 08:00 und 13:00 Uhr das Skript ausgeführt.

                Lucas StiefelL 1 Antwort Letzte Antwort
                0
                • J.A.R.V.I.S.J J.A.R.V.I.S.

                  @Lucas-Stiefel

                  du solltest erst den Schedule ausführen und darin prüfen, ob die Bedingungen erfüllt sind.

                  Jetzt werden dennoch jeden Tag mehrere neue Schedules erzeugt. Somit werden morgen wieder mehrfach die Werte gesetzt werden.

                  5dbab0af-a6f3-4ca1-aced-75871ce26f72-grafik.png

                  <xml xmlns="http://www.w3.org/1999/xhtml">
                   <block type="schedule" id="x#]K(.$e8oCmue7V|}4K" x="112" y="63">
                     <field name="SCHEDULE">0 8,13 * * *</field>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="N0N!45OOe,Y#m?WU^,$p">
                         <value name="IF0">
                           <block type="get_value_var" id="b%/,]H_XD73G6433EhIG">
                             <field name="ATTR">val</field>
                             <value name="OID">
                               <shadow type="text" id="NE7t3#pId|[D9*9*-^c6">
                                 <field name="TEXT">Winterzeitprüfung</field>
                               </shadow>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="control_ex" id="yk=){e_t%SwQ,0%c8t$C">
                             <field name="TYPE">false</field>
                             <field name="CLEAR_RUNNING">FALSE</field>
                             <value name="OID">
                               <shadow type="field_oid" id="eEp60rHhxkAdJS?Q:(9c">
                                 <field name="oid">Object ID</field>
                               </shadow>
                             </value>
                             <value name="VALUE">
                               <shadow type="logic_boolean" id="2^eSME`LANQ{Z$Igv%Jj">
                                 <field name="BOOL">TRUE</field>
                               </shadow>
                             </value>
                             <value name="DELAY_MS">
                               <shadow type="math_number" id="V|{1?eT#THxS.g3d#R!}">
                                 <field name="NUM">0</field>
                               </shadow>
                             </value>
                             <next>
                               <block type="control_ex" id="6FpvKlNdW^z{Sj)+K|#6">
                                 <field name="TYPE">false</field>
                                 <field name="CLEAR_RUNNING">FALSE</field>
                                 <value name="OID">
                                   <shadow type="field_oid" id="ww?ENW;hbsq;.0,}puU,">
                                     <field name="oid">Object ID</field>
                                   </shadow>
                                 </value>
                                 <value name="VALUE">
                                   <shadow type="logic_boolean" id="bFn%+Aq{B;!GRfbK@3qi">
                                     <field name="BOOL">TRUE</field>
                                   </shadow>
                                 </value>
                                 <value name="DELAY_MS">
                                   <shadow type="math_number" id="lcct{PW}Y;i0,CK@R@n3">
                                     <field name="NUM">30000</field>
                                   </shadow>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                  </xml>
                  

                  Ich habe da mal was kleines zusammengebastelt. Du musst es natürlich noch auf deine DPs und co anpassen.

                  Damit wird täglich um 08:00 und 13:00 Uhr das Skript ausgeführt.

                  Lucas StiefelL Offline
                  Lucas StiefelL Offline
                  Lucas Stiefel
                  schrieb am zuletzt editiert von
                  #8

                  @J-A-R-V-I-S genau so hatte ich es am anfang, aber iwie hat er das Schedule einmal ausgeführt.
                  Egal ob ich jeden Tag angewählt hab.
                  Deswegen der Intervall

                  Ich teste es nochmal so. Danke erstmal:)

                  1 Antwort Letzte Antwort
                  0
                  • Lucas StiefelL Offline
                    Lucas StiefelL Offline
                    Lucas Stiefel
                    schrieb am zuletzt editiert von
                    #9

                    So Skript läuft soweit.

                    Werd dann für die Beleuchtung 2 Shedules machen (an und aus)

                    Screenshot_20191204-082439_Chrome.jpg

                    Ich danke für die Hilfe :)

                    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

                    823

                    Online

                    32.6k

                    Benutzer

                    81.9k

                    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