Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [ungelöst geschlossen] Unerklärliches Ausschalten b. Blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [ungelöst geschlossen] Unerklärliches Ausschalten b. Blockly

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

      Habe ein einfaches Blockly geschrieben bei dem eine Steckdose geschalten werden soll. Aus einem mir nicht ersichtlichen Grund wird nach dem richtigen auslösen der Funktion (alles auf true) innerhalb von Millisekunden die Schaltung wieder zurückgenommen (2 mal sogar)

      Hier das Blockly

      Bildschirmfoto 2024-01-11 um 12.12.51.png

      Hier das Protokoll

      2024-01-11 03:00:11.422 - info: web.0 (10634) <== Disconnect system.user.admin from ::ffff:192.168.178.20 flot
      2024-01-11 03:00:29.810 - error: javascript.0 (10388) script.js.Batterie_Tibberkanal_Netzladen: true
      2024-01-11 03:00:29.811 - error: javascript.0 (10388) script.js.Batterie_Tibberkanal_Netzladen: true
      2024-01-11 03:00:29.812 - error: javascript.0 (10388) script.js.Batterie_Tibberkanal_Netzladen: true
      2024-01-11 03:00:29.812 - error: javascript.0 (10388) script.js.Batterie_Tibberkanal_Netzladen: true
      2024-01-11 03:00:29.869 - info: fritzdect.0 (1151) DECT ID: 116570243229 identified for command (state) : true
      2024-01-11 03:00:29.988 - info: fritzdect.0 (1151) DECT ID: 116570243229 identified for command (state) : false
      2024-01-11 03:00:30.025 - info: fritzdect.0 (1151) DECT ID: 116570243229 identified for command (state) : false
      2024-01-11 03:02:09.810 - warn: javascript.0 (10388) script.js.Batterie_Netzladen: -0.01599999999999996
      2024-01-11 03:02:09.810 - warn: javascript.0 (10388) script.js.Batterie_Netzladen: true
      2024-01-11 03:02:09.811 - info: javascript.0 (10388) script.js.Batterie_Netzladen: 0
      2024-01-11 03:02:09.811 - info: javascript.0 (10388) script.js.Batterie_Netzladen: 0
      2024-01-11 03:02:09.821 - info: fritzdect.0 (1151) DECT ID: 116570243229 identified for command (state) : true
      2024-01-11 03:02:29.809 - error: javascript.0 (10388) script.js.Soyo_inteligent_schalten: false
      

      Hat jemand eine Idee woran das liegt?

      MartinP 1 Reply Last reply Reply Quote 0
      • MartinP
        MartinP @Peter c last edited by MartinP

        @peter-c Hast Du es schon mit "aktualisiere" statt "Steuere" für die Fritzdect Dose probiert... ?

        Ansonsten Könntest Du Dir testweise ein Script schreiben, welches als Trigger "state" der fritzdect überwacht, und über "ursprung" schauen, wer den Wert auf False setzt...

        928e7f4d-56af-4d93-a4cc-ca1e1ba1ed55-grafik.png

        EDIT: Gehst Du Direkt auf den Datenpunkt "state" der Fritzbox, oder über ein Alias?

        P haus-automatisierung 2 Replies Last reply Reply Quote 0
        • P
          Peter c @MartinP last edited by

          @martinp Danke für den Tip. Nutze eigentlich immer aktualisiere da das bei anderen Scripts für andere Fritzboxsteckdosen funktioniert hat. Aber ich mach das mal.

          Ja ich gehe über ein Alias.

          MartinP 2 Replies Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @MartinP last edited by

            @martinp sagte in Unerklärliches Ausschalten bei einfachem Blockly:

            Hast Du es schon mit "aktualisiere" statt "Steuere" für die Fritzdect Dose probiert... ?

            Warum sollte man direkt bestätigte Werte setzen, wenn eine Instanz (fritzdect.0) damit noch etwas tun soll? Dann wird nichts mehr passieren!

            1 Reply Last reply Reply Quote 0
            • MartinP
              MartinP @Peter c last edited by

              @peter-c Bei meiner Fritzdect ist hat über iobroker/objects ein Setzen von state auch Bestand, wenn der Bestätigt - Haken gesetzt wird ...

              Schaue doch mal, was passiert, wenn Du auch über iobroker/objects des state änderst...

              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @MartinP last edited by

                @martinp sagte in Unerklärliches Ausschalten bei einfachem Blockly:

                Bei meiner Fritzdect ist hat über iobroker/objects ein Setzen von state auch Bestand, wenn der Bestätigt - Haken gesetzt wird ...

                • Das wäre gegen das Grundkonzept vom ioBroker
                • und widerspricht dem Code: https://github.com/foxthefox/ioBroker.fritzdect/blob/c285b8acfa0050b5acd49432481b4766428c4f59/main.js#L358
                MartinP 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active last edited by

                  @Peter-c
                  Du könntest mal mitloggen, wer denn da den Status wieder zurücksetzt.

                  6623bd75-0ea5-4139-aac6-b7001e48c079-image.png

                  https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/6

                  Ich zitiere mal:

                  Steuere
                  Diesen Baustein verwendet man, um Datenpunkte zu verändern die einem Adapter "gehören", um z.B. eine Lampe oder einen Schalter zu schalten.
                  Im Detail wird damit eine Änderung "ohne Bestätigung" (Ackknowledge) geschrieben. Diese fehlende Bestätigung ist für den Adapter die Veranlassung, etwas zu tun.
                  Die allermeisten Adapter reagieren nicht, wenn hier eine Änderung per "Aktualisiere" (mit Bestätigung) geschrieben wird.
                  Das gilt im Übrigen auch für Alias-Datenpunkte, die auf den "echten" DP eines Adapters verweisen.

                  Aktualisiere
                  Dieser Baustein wird zur Änderung eigener Datenpunkte verwendet, die Du unterhalb von 0_userdata.0 selbst angelegt hast.
                  Hierbei wird "mit Bestätigung" geschrieben. Damit wird verhindert, dass der Wert im Objektbaum in rot dargestellt wird. In den meisten Fällen also eine lediglich kosmetische Sache.

                  P 3 Replies Last reply Reply Quote 1
                  • P
                    Peter c @Codierknecht last edited by

                    @codierknecht Ja da mach ich mal.

                    1 Reply Last reply Reply Quote 0
                    • P
                      Peter c @Codierknecht last edited by

                      @codierknecht Ist Ursprung eine selbst generierte Variable?

                      MartinP 1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @haus-automatisierung last edited by MartinP

                        @haus-automatisierung Ich habe es aus dem objects Baum händisch einmal mit "bestätigt", und einmal ohne ausgelöst ...

                        Funktionierte augenscheinlich erstmal beides ...

                        Dem Adapter scheinen die Experimente aber nicht behagt zu haben - aktuell kann ich "state" gar nicht mehr manipulieren.

                        Interessant - auch nach Neustart des Adapters kriege ich den State nicht mehr manipuliert

                        EDIT: Noch ein Experiment

                        Ohne gesetzten "Bestätigt" Haken (false->true)

                        javascript.0
                        	2024-01-11 13:19:38.384	info	script.js.Spielwiese.Test: Ursprung der Änderung: system.adapter.admin.0Status: true
                        fritzdect.0
                        	2024-01-11 13:19:38.384	info	DECT ID: 087610202315 identified for command (state) : true
                        

                        Mit gesetztem "Bestätigt" Haken (true->false) Genau das Verhalten ...

                        javascript.0
                        	2024-01-11 13:22:39.925	info	script.js.Spielwiese.Test: Ursprung der Änderung: system.adapter.admin.0Status: false
                        javascript.0
                        	2024-01-11 13:22:52.171	info	script.js.Spielwiese.Test: Ursprung der Änderung: system.adapter.fritzdect.0Status: true
                        
                        1 Reply Last reply Reply Quote 0
                        • MartinP
                          MartinP @Peter c last edited by

                          @peter-c - nein das Ding holt man sich aus dem Trigger - Menu

                          Erkennt man am kleinen vorangestellten Winkel-Pfeil

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            Peter c @MartinP last edited by

                            @martinp Alles klar, danke

                            1 Reply Last reply Reply Quote 0
                            • P
                              Peter c @Codierknecht last edited by

                              @codierknecht kann ich das so in mein bestehendes Blockly einbauen oder sollte es separat laufen?

                              Bildschirmfoto 2024-01-11 um 13.08.18.png

                              Codierknecht paul53 2 Replies Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @Peter c last edited by

                                @peter-c
                                Kannst Du so einbauen

                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Peter c last edited by paul53

                                  @peter-c sagte: in mein bestehendes Blockly einbauen oder sollte es separat laufen?

                                  Das ist egal. Besser ein ausführliches Debug-Log mit Trigger auf "wurde aktualisiert":

                                  Blockly_temp.JPG

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <block type="on" id="K?w[nJ7-H).$w5hG{TjO" x="63" y="13">
                                     <field name="OID">Object ID</field>
                                     <field name="CONDITION">any</field>
                                     <field name="ACK_CONDITION"></field>
                                     <statement name="STATEMENT">
                                       <block type="debug" id=":uNfHbO:Ak@AGwBO$.a%">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="F.RP`:J`F+FdSdJ%`3R7">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="text_join" id="!y)Z97dDfav|eym=(sf,">
                                             <mutation items="6"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="[G:mzw9qc:L+.`s;o[hG">
                                                 <field name="TEXT">Wert: </field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="on_source" id="5IzLMg(+,h=^*C-{.7*S">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="gVzrNes=}@q3ZH:)He0|">
                                                 <field name="TEXT">, bestätigt: </field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="on_source" id="iC6|TD$jP3d~iHAGy2oV">
                                                 <field name="ATTR">state.ack</field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="text" id="0uTw(A0Vo!ai~6mt%SEA">
                                                 <field name="TEXT">, Quelle: </field>
                                               </block>
                                             </value>
                                             <value name="ADD5">
                                               <block type="logic_ternary" id="M8IAT/#0dDI%SIxi+$O~">
                                                 <value name="IF">
                                                   <block type="logic_compare" id="^,UT6OIYP%}wAAmwlFw)">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="text_indexOf" id="jL3-2]QuZ}XWLVj_j^f8">
                                                         <field name="END">FIRST</field>
                                                         <value name="VALUE">
                                                           <block type="on_source" id="9?:oT|j@KTsZ*?7V-@mY">
                                                             <field name="ATTR">state.from</field>
                                                           </block>
                                                         </value>
                                                         <value name="FIND">
                                                           <shadow type="text" id="4f/|ug#*av0JS:4!G!31">
                                                             <field name="TEXT">abc</field>
                                                           </shadow>
                                                           <block type="text" id="t%_9Ux/$@xkZQTlx(5Is">
                                                             <field name="TEXT">system.adapter.javascript.</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="math_number" id="3Bd{vghoqq*m0,6zhSLQ">
                                                         <field name="NUM">1</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="THEN">
                                                   <block type="on_source" id="+}ATb]`g=jCI+rw},2^9">
                                                     <field name="ATTR">state.c</field>
                                                   </block>
                                                 </value>
                                                 <value name="ELSE">
                                                   <block type="on_source" id=":aPM:=_|!J-zcC-54KmY">
                                                     <field name="ATTR">state.from</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                  </xml>
                                  

                                  1 Reply Last reply Reply Quote 1
                                  • P
                                    Peter c last edited by Peter c

                                    @paul53 Ich gehe mal davon aus das dieses Script die Umwandlung des Blockly darüber ist.
                                    Hab es als neues Script angelegt, den ID Wert des Datenpunktes eingegeben und das Script gestartet.
                                    War das so richtig?
                                    Nur ist alles in dem Script rot.

                                    Bildschirmfoto 2024-01-11 um 13.36.18.png

                                    paul53 haus-automatisierung 3 Replies Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Peter c last edited by

                                      @peter-c sagte: Script die Umwandlung des Blockly darüber ist.

                                      Es ist eine Erweiterung der Log-Ausgabe.

                                      @peter-c sagte in Unerklärliches Ausschalten bei einfachem Blockly:

                                      Hab es als neues Script angelegt, den ID Wert des Datenpunktes eingegeben und das Script gestartet.
                                      War das so richtig?

                                      Ja.

                                      1 Reply Last reply Reply Quote 0
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @Peter c last edited by haus-automatisierung

                                        @peter-c Du musst das als XML in (d)ein Blockly-Script importieren. Du hast das XML in ein neues JavaScript importiert. Das funktioniert so natürlich nicht...

                                        Bitte mit den Grundlagen beschäftigen 🙂

                                        Screenshot 2024-01-11 at 13.38.03.png

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @Peter c last edited by paul53

                                          @peter-c sagte: Nur ist alles in dem Script rot.

                                          Du hast es vollständig in Blockly importiert: Exakt den kompletten Text in Code tags?

                                          P 1 Reply Last reply Reply Quote 0
                                          • MartinP
                                            MartinP @Peter c last edited by

                                            @peter-c said in Unerklärliches Ausschalten bei einfachem Blockly:

                                            @martinp Danke für den Tip. Nutze eigentlich immer aktualisiere da das bei anderen Scripts für andere Fritzboxsteckdosen funktioniert hat. Aber ich mach das mal.

                                            Ja ich gehe über ein Alias.

                                            Hier nutzt Du nicht "aktualisiere" ...

                                            88f6afba-2116-46d9-978d-bf75bf7d77d0-grafik.png

                                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            870
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            89
                                            4256
                                            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