Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]_Blockly Script - Fehlermeldung im Log

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst]_Blockly Script - Fehlermeldung im Log

    This topic has been deleted. Only users with topic management privileges can see it.
    • rantanplan
      rantanplan last edited by

      Hallo crepp

      Nicht eine Bedingung/Verkleich triggern!

      Sondern einen Datenpunkt Deines Aktors.

      Ist "Power" ein Datenpunkt bei dem Aktor?

      Welche Zustände kann der annehmen? true/false 0/1.

      Das kannst Du im Reiter "Objekte" überprüfen.

      Bei meinem Beispiel wird der Datenpunkt ".State" einer Steckdose überwacht/getriggert.

      Dieser Datenpunkt kann wahr/true oder unwahr/false sein.
      147_beispiel.png

      Schreibe uns doch die Datenpunke von dem Adapter oder was das für einer ist.

      Grüße

      1 Reply Last reply Reply Quote 0
      • C
        crepp last edited by

        Hallo,

        Der Datenpunkt ist der Stromstärke-Messkanal meiner Steckdose. Ich frage damit ab, ob die angeschlossene Pumpe läuft (unter 1mA) oder nicht. Wenn nicht, schalte ich die Steckdose aus und nach 10sec wieder an. Damit reseste ich die Pumpe die evtl. mit einer Fehlermeldung steht. Dies will ich zukünftig in Abständen von 10-15min machen.

        Hier mein jetziges Script mit den von dir empfohlenen Änderungen:
        686_unbenannt.png
        Läuft aber trotzdem nicht.

        Hier meine Version die komischerweise (?) funktioniert:
        686_unbenannt1.png

        Die Fehlermeldung ist bei beiden Versionen identisch:
        686_2.png

        Gruß

        crepp

        1 Reply Last reply Reply Quote 0
        • rantanplan
          rantanplan last edited by

          Sorry, aber das kann nicht funktionieren.

          Bzw. nur 1x beim Starten des Scripts.

          Dann wird Dein Intervall gestartet. Diese Bausteine liegen außerhalb des Triggers.

          Bausteine ausserhalb eines Triggers (ausser Funktionen) werden NUR bei Scriptstart EINMALIG ausgeführt.

          Mach doch bitte einmal was wir Dir schon vorgeschlagen haben.

          Trigger Deinen Datenpunkt.

          Einfach auf das "ID Objekt" des Triggers klicken.

          Dann kannst Du den gewünschten Datenpunkt auswählen.

          Trigger auf "wurde geändert" setzen. NICHT auf "ist wahr"

          Die Bedingung <= mit der ZAHL aus Mathematik NICHT TEXT nehmen.

          Hier als Beispiel.
          147_beispiel.png

          Grüße

          1 Reply Last reply Reply Quote 0
          • rantanplan
            rantanplan last edited by

            @crepp:

            Dies will ich zukünftig in Abständen von 10-15min machen. `

            Dann wird das Blockly aber völlig anders aussehen 🙂

            Jetzt machen wir aber erst mal das erste Problem 😉

            [EDIT] Noch ein Tipp. Gib Deinen Aktoren auf der CCU "sprechende" Namen. 😉

            Grüße

            1 Reply Last reply Reply Quote 0
            • C
              crepp last edited by

              Hab jetzt den letzten Vorschlag umgesetzt:
              686_beispiel.png

              Damit läuft es jetzt. Allerdings wird alle 10sec geschaltet (timeout fürs wieder anschalten) und nicht wie ich wollte alle 60sec.

              Zur Erklärung hab ich die Objekte rausgesucht die beteiligt sind, vielleicht wird es so klarer was ich möchte:
              686_beispiel_1.png

              Ich möchte den Trigger "Power" verwenden, wenn unter 1W, dann schalte "State" auf true.

              1 Reply Last reply Reply Quote 0
              • C
                crepp last edited by

                Seltsam, habe jetzt zwischenzeitlich an einer anderen Version gebastelt, und das obenstehende Script inaktiv geschaltet.

                Jetzt habe ich es wieder aktiv geschaltet und es läuft nicht mehr.

                1 Reply Last reply Reply Quote 0
                • rantanplan
                  rantanplan last edited by

                  @crepp:

                  Damit läuft es jetzt. Allerdings wird alle 10sec geschaltet (timeout fürs wieder anschalten) und nicht wie ich wollte alle 60sec. `
                  Beobachte doch mal den Power State.

                  Wie oft ändert der sich und ist dabei <=1?

                  Wenn die Bedingung erfüllt ist, wird JEDESMAL ein "Intervall" gestartet.

                  Der Intervall schaltet alle 60 Sek eine Lampe aus (egal ob sie schon aus ist).

                  Und das UNENDLICH!

                  Zudem wird durch den Intevall alle 60 Sek. ein Timer von 10 Sek. gestartet, der die Lampe einschaltet (egal ob sie schon an ist)

                  Wenn man 10x einen Intervall startet laufen auch 10 Intevalle.

                  Wenn man 10x einen Timer startet laufen auch 10 Timer.

                  Und bei Dir potenziert sich das!!!

                  (Bei mir hätte eigentlich eine Alarmglocke klingeln müssen :oops: ,sorry)

                  Du solltest Dein Konzept noch mal überdenken bzw. uns ausführlich erklären was Du möchtest.

                  Setze auf JEDENFALL "Stop Intervall" und "Stop Timer" ein.

                  Sonst bricht Dein System, wegen Überlastung zusammen.
                  147_beispiel.png

                  Grüße

                  1 Reply Last reply Reply Quote 0
                  • C
                    crepp last edited by

                    Hallo,

                    Danke die Info war sehr wichtig, ich versuche das jetzt mal selber hinzubekommen und werde die CPU und den Speicher dabei im Auge behalten.

                    Was ich möchte ist:

                    Schalte die Pumpe in regelmäßigen Abständen aus, wenn sie nicht gerade arbeitet (Reset einer evtl. Fehlermeldung)

                    Warte 10sec

                    Schalte dann wieder ein

                    Danke

                    Gruß

                    Torsten

                    1 Reply Last reply Reply Quote 0
                    • C
                      crepp last edited by

                      Habe bei Wert <1 genommen, da die Pumpe im Standby ca. 0,4W zieht.

                      Ansonsten habe ich alles von Dir übernommen:
                      686_beispiel.png

                      Leider stimmt irgendwas mit der Syntax nicht 😢

                      1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown last edited by

                        @crepp:

                        Schalte die Pumpe in regelmäßigen Abständen aus, wenn sie nicht gerade arbeitet (Reset einer evtl. Fehlermeldung)

                        Warte 10sec

                        Schalte dann wieder ein `
                        Moin Torsten,

                        und dieser Reset soll in der Tat ohne weitere Aktion 24 Stunden am Tag, 7 Tage die Woche, 365 Tage im Jahr alle 15 Minuten durchgeführt werden?

                        Oder gibt es irgend ein anderes Merkmal welches die Notwendigkeit eines präventiven Resets erkennen läßt?

                        1 Reply Last reply Reply Quote 0
                        • rantanplan
                          rantanplan last edited by

                          Hallo crepp

                          Falls, wie BBTown nachgefragt hat, es keine andere Überprüfungsmöglichkeit gibt, kannst Du es mal so propieren.
                          147_beispiel.png

                          Hier zum Importieren:

                          ! ````
                          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="]oAs}e)hMyp{r5pcuh_#" x="138" y="88"><field name="COMMENT">Alle 15 Min. starten und prüfen</field>
                          <next><block type="schedule" id="=]=fSttVZM6gcuwI#}O8"><field name="SCHEDULE">*/15 * * * *</field>
                          <statement name="STATEMENT"><block type="comment" id="s#.eYlc?1gLJ:IG]~%VI"><field name="COMMENT">Hier den POWER überprüfen</field>
                          <next><block type="controls_if" id="7S6Srv[.a+#H4cZ;qk#7"><value name="IF0"><block type="logic_compare" id="Cs~sO0:i^_=0M%N4m1c"><field name="OP">LTE</field> <value name="A"><block type="get_value" id="c9DknPHn/*Cgso+8nj/f"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ0661170.2.POWER</field></block></value> <value name="B"><block type="math_number" id="rF%~6z0_?R0SjDP?(%:"><field name="NUM">1</field></block></value></block></value>
                          <statement name="DO0"><block type="comment" id="NI/QC]gjfznwda)^k%7o"><field name="COMMENT">Hier Dein Unischalter.STATE ausschalten</field>
                          <next><block type="control" id="uK+]?j:]MF|i^vM{=if0"><mutation delay_input="false"></mutation>
                          <field name="OID">Object ID</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="OSZ!PE:n^`jxR7qnX@pb"><field name="BOOL">FALSE</field></block></value>
                          <next><block type="comment" id="-2g,oBztlC~OuD!?T/G="><field name="COMMENT">Hier Dein Unischalter.STATE verzögert</field>
                          <next><block type="comment" id="fKq9};VgNAv/CVd97-ms"><field name="COMMENT">um 10 Sek. wieder einschalten</field>
                          <next><block type="control" id="M9LaUIsTA4EQE]C+uM,l"><mutation delay_input="true"></mutation>
                          <field name="OID">Object ID</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">10</field>
                          <field name="UNIT">sec</field>
                          <field name="CLEAR_RUNNING">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="yNi.rQ]h|w{/IjYDGshF"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></xml>

                          
                          Grüße
                          1 Reply Last reply Reply Quote 0
                          • C
                            crepp last edited by

                            Mahlzeit BBTown,

                            Es handelt sich um ein Kärcher Hauswasserwerk, habe mit einem anderen (etwas größerem) Modell seit einem Jahr getestet. Dabei war das Teil 2x im Kärcher Service (eingeschickt) Zu guter letzt hab ich das Teil zurückgegeben und mir für das Geld eine etwas kleinere Pumpe mit denselben Anschlussmassen besorgt. Diese hab ich jetzt seit Montag im Test. Sie funktioniert auf jeden Fall besser als das andere Modell, hat aber eben ab u. zu das Problem das sie in den Fehlermodus geht. (Das ist evtl. ein Problem des zu empfindlichen Drucksensors, gehört aber nicht hier her)

                            Jedenfalls will ich diese evtl. Fehlermeldung ausschliessen. Ich werde, wenn das Script läuft. natürlich auch mit längeren Zeitspannen experiementieren, aber so weit bin ich ja noch nicht … 😉

                            Hoffe, dass ich mein Problem verständlich erklärt habe, bin eben auch etwas gefrustet wg. Kärcher.

                            Werde jetzt mal den neuen Vorschlag testen u. berichten

                            Gruß

                            Torsten

                            1 Reply Last reply Reply Quote 0
                            • BBTown
                              BBTown last edited by

                              Dann wird die Pumpe auch den ganzen Tag über benötigt?

                              Das Wasser soll/muss im Grunde den ganzen Tag über durch die Pumpe zur Verfügung gestellt werden?

                              … und nicht nur bei einem bstimmten Bedarf - z.B. wenn die Waschmaschine laufen soll, oder aus einem ähnlichen Grunde?

                              1 Reply Last reply Reply Quote 0
                              • C
                                crepp last edited by

                                :mrgreen:

                                Hab jetzt den letzten Code probiert und es funzt !!!

                                Auch keine Fehlermeldungen mehr !

                                Hab auf jeden Fall in den letzten 2 Tagen viel lernen können,

                                Vielen Dank an alle Beteiligten für Eure Geduld!

                                Grüße

                                Torsten

                                1 Reply Last reply Reply Quote 0
                                • rantanplan
                                  rantanplan last edited by

                                  Prima.

                                  Setze bitte noch ein [gelöst] in den Betreff Deines ersten Beitrags.

                                  Grüße

                                  1 Reply Last reply Reply Quote 0
                                  • BBTown
                                    BBTown last edited by

                                    nachdem das Script nun läuft, könnten wir wiederum versuchen es zu verbessern 8-)

                                    Ich würde dir empfehlen eine "Debug-Ausgabe" ins Log zu schreiben (ist auch ein Blockly-Baustein).

                                    Und zwar immer dann wenn der Wert unterhalb deines Schwellwertes war und tatsächlich ein Reset durchgefüht wurde.

                                    Wenn Du im Log nachschaust, dann bekommst Du Hinwiese darauf wie häufig es tatsächlich vorkommt und/oder ob womöglich sogar ein Muster zu erkennen ist.

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      crepp last edited by

                                      Super,

                                      werde ich machen !

                                      1 Reply Last reply Reply Quote 0
                                      • BBTown
                                        BBTown last edited by

                                        stellst Du dann den Screenshot vorsichtshalber (oder für andere neue User) hier rein?

                                        Danke!

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          crepp last edited by

                                          @BBTown:

                                          nachdem das Script nun läuft, könnten wir wiederum versuchen es zu verbessern 8-)

                                          Ich würde dir empfehlen eine "Debug-Ausgabe" ins Log zu schreiben (ist auch ein Blockly-Baustein).

                                          Und zwar immer dann wenn der Wert unterhalb deines Schwellwertes war und tatsächlich ein Reset durchgefüht wurde.

                                          Wenn Du im Log nachschaust, dann bekommst Du Hinwiese darauf wie häufig es tatsächlich vorkommt und/oder ob womöglich sogar ein Muster zu erkennen ist. `

                                          Hab den Baustein gefunden:
                                          686_beispiel.png

                                          2 Fragen:

                                          test = log-Datei die geschrieben wird ? (wo wird abgespeichert)

                                          Wo muss ich den Baustein anklemmen ?

                                          1 Reply Last reply Reply Quote 0
                                          • BBTown
                                            BBTown last edited by

                                            Hänge den Baustein bitte direkt unter deinem ersten "Steuere" Baustein in das Script und der Trigger Bedingung mit rein.

                                            Als Text empfehle ich dir so etwas wie: "Die Pumpe wurde neu gestartet, da der Stromverbrauch < 1 Wattt war.

                                            Und als Debug-Typ wäre wohl "warn" die richtige Wahl

                                            Der Eintrag erscheint ganz normal im Log (siehe die Registerkarten von ioBroker).

                                            Aber eben nur wenn auch tatsächlcih ein Ausschalten der Steckdose notwendig gewesen ist.

                                            Im Idealfall siehst du den Eintrag nie 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            761
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            53
                                            6325
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo