Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Namen von Gerät aus Aufzählung ( TS011F reaktivieren)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Namen von Gerät aus Aufzählung ( TS011F reaktivieren)

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

      Hallo,

      Ich habe ein paar Tuya Zigbee TS011F Steckdosen, die die hässliche Angewohnheit haben ab und zu mal auszugehen. (Wen es interessiert: https://github.com/Koenkk/zigbee2mqtt/issues/11648)

      Jedenfalls hab ich 3 von den Dingern die immer an sein müssen in eine Aufzählung/Funktion gepackt, ein kleines Blockly Script gebaut, und wenn eine ausgeht, dann wird die einfach wieder angeschalten und alles ist fein.

      Jetzt hätte ich aber gern eine Nachricht, welche ausgegangen ist. Nur, wie komm ich an den Namen den ich im Zigbee Adapter vergeben hab? Also z.B. "Steckdose Waschhaus Pumpe"?

      Viele Grüsse, und vielen Dank,
      Steve

      Edit: Titel geändert, falls jemand auch den Ärger mit den Dosen hat und danach sucht

      phoxy84 created this issue in Koenkk/zigbee2mqtt

      closed Tuya TS011F (TZ3000_typdpbpg) powers off #11648

      bahnuhr paul53 2 Replies Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @Smo last edited by

        @smo

        var name = getObject("object-id.").common.name;

        Homoran S 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @bahnuhr last edited by

          @bahnuhr sagte in Namen von Gerät aus Aufzählung:

          @smo

          var name = getObject("object-id.").common.name;

          dann bekommst du den Namen des Device? wenn das Objekt der State ist?

          bahnuhr 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @Homoran last edited by

            @homoran sagte in Namen von Gerät aus Aufzählung:

            dann bekommst du den Namen des Device? wenn das Objekt der State ist?

            Was willst du damit sagen?
            Ist das ne Frage, ne Feststellung oder was auch immer.

            Homoran 1 Reply Last reply Reply Quote 0
            • S
              Smo @bahnuhr last edited by Smo

              @bahnuhr Ich steh grad bisschen auf dem Schlauch. Was geb ich der Funktion als Parameter mit? So wie ich es jetzt mache, habe ich zwar die Steckdosen als ganzes Gerät in der Aufzählung, aber um rauszukriegen welche aus ist, hab ich nen Trigger auf den DP "state" der Steckdosen. Wenn sich da einer ändert, startet ne Schleife die den DP "state" aller Steckdosen durchgeht, und wenns einen mit False findet, den auf True schaltet. Heist ich bekomm ja nur die DPs "State" geschickt. Wie krieg ich da die Zuordnung zum übergeordneten Gerät hin?

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @bahnuhr last edited by

                @bahnuhr sagte in Namen von Gerät aus Aufzählung:

                Ist das ne Frage,

                sieht man das nicht am Fragezeichen?

                S 1 Reply Last reply Reply Quote 0
                • S
                  Smo @Homoran last edited by

                  @homoran Jetzt kloppt euch mal nich, sondern gebt mir lieber nen Tritt in die richtige Richtung 🙂

                  Homoran 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Smo last edited by paul53

                    @smo sagte: die immer an sein müssen in eine Aufzählung/Funktion gepackt, ein kleines Blockly Script gebaut, und wenn eine ausgeht, dann wird die einfach wieder angeschalten und alles ist fein. Jetzt hätte ich aber gern eine Nachricht, welche ausgegangen ist.

                    Bild_2022-04-10_173819410.png

                    S 1 Reply Last reply Reply Quote 1
                    • S
                      Smo @paul53 last edited by Smo

                      @paul53 Woohoo, danke, das isses. 🙂 Auf Kanalname wär ich nicht gekommen. Ich hab mir auch echt einen nach ner brauchbaren Doku abgesucht. Die bei ioBroker himself ist ja praktisch nicht vorhanden, und sonst findet man entweder Yt Videos oder Webseiten mit Anwendungsbeispielen. Das hilft zwar manchmal, aber ist sehr mühsam im Gegensatz zu einer generellen Doku. Auf jeden Fall, Danke nochmal.

                      So siehts jetzt aus, vielleicht hilfts ja jemandem:

                      <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="Q1#G;~:}p(UJ/gq8r{8Q" x="-312" y="-888">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id=".kyv{;C$dtA5GIXAB#]b">
                            <field name="oid">default</field>
                          </shadow>
                          <block type="selector" id="4H@3m/k2vpR+7%C|7r_V">
                            <field name="TEXT">state[id=*state](functions=watchdog_steckdosen)</field>
                          </block>
                        </value>
                        <statement name="STATEMENT">
                          <block type="controls_forEach" id="kGqg)X?8}Nd$$-3_xvVe">
                            <field name="VAR" id="+Lmt#fAQ$C=8^Qurn01e">Steckdose</field>
                            <value name="LIST">
                              <block type="selector" id="9u+)PLNYH-x!fC+fU`4|">
                                <field name="TEXT">state[id=*state](functions=watchdog_steckdosen)</field>
                              </block>
                            </value>
                            <statement name="DO">
                              <block type="controls_if" id="B8[50Kr!#PUNs=`E5BI6">
                                <value name="IF0">
                                  <block type="logic_compare" id="3lrVz1{:$4H[g!q/}28w">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value_var" id="5D),BYBO+o(wI9aW?:fE">
                                        <field name="ATTR">val</field>
                                        <value name="OID">
                                          <shadow type="text" id="5upO?UDyF=Qp/hl5+D=9">
                                            <field name="TEXT"></field>
                                          </shadow>
                                          <block type="variables_get" id="15k|GNddwd8469DNE`xL">
                                            <field name="VAR" id="+Lmt#fAQ$C=8^Qurn01e">Steckdose</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="pR+qQTlJ^L-.W.Are|HL">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control_ex" id="T]h^q86qI@xg[;/yxE?~">
                                    <field name="TYPE">false</field>
                                    <field name="CLEAR_RUNNING">FALSE</field>
                                    <value name="OID">
                                      <shadow type="field_oid" id="aNyb+*QuvA8yd6Y092tM">
                                        <field name="oid">Object ID</field>
                                      </shadow>
                                      <block type="variables_get" id="KhR*Y;.%jw(CKHDATXjY">
                                        <field name="VAR" id="+Lmt#fAQ$C=8^Qurn01e">Steckdose</field>
                                      </block>
                                    </value>
                                    <value name="VALUE">
                                      <shadow type="logic_boolean" id="hij0JX[PO^9J0e@!`io1">
                                        <field name="BOOL">TRUE</field>
                                      </shadow>
                                    </value>
                                    <value name="DELAY_MS">
                                      <shadow type="math_number" id="ENY)PA!MR0b]/^$L(DfO">
                                        <field name="NUM">0</field>
                                      </shadow>
                                    </value>
                                    <next>
                                      <block type="timeouts_wait" id="1V,m5_6Osa=CN-|)k2,s">
                                        <field name="DELAY">1000</field>
                                        <field name="UNIT">ms</field>
                                        <next>
                                          <block type="pushover" id="242$[O5b%++=+C,fEv3S">
                                            <field name="INSTANCE"></field>
                                            <field name="SOUND"></field>
                                            <field name="PRIORITY">0</field>
                                            <field name="LOG"></field>
                                            <value name="MESSAGE">
                                              <shadow type="text" id="MrVk(6~L03rvB5ny[b!-">
                                                <field name="TEXT">text</field>
                                              </shadow>
                                              <block type="logic_ternary" id="2X+`UMP%;#Y[rw6;m*l-">
                                                <value name="IF">
                                                  <block type="logic_compare" id="Fj9+-ib{{zw?=ZH%UPh0">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value_var" id="g=ti3ch_^/v+rT,(v+;N">
                                                        <field name="ATTR">val</field>
                                                        <value name="OID">
                                                          <shadow type="text">
                                                            <field name="TEXT"></field>
                                                          </shadow>
                                                          <block type="variables_get" id="^Y~^gk3jM3{ew}KEtE?:">
                                                            <field name="VAR" id="+Lmt#fAQ$C=8^Qurn01e">Steckdose</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="logic_boolean" id="aZdtbZJfrJY*/cvW1q=8">
                                                        <field name="BOOL">FALSE</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="THEN">
                                                  <block type="text_join" id=",pVU0xKAAf(l_,OdaxQN">
                                                    <mutation items="2"></mutation>
                                                    <value name="ADD0">
                                                      <block type="on_source" id="*woZx@EF%~i3B1;r:F.I">
                                                        <field name="ATTR">channelName</field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD1">
                                                      <block type="text" id="7+K1kJ,krPp)v|$Uk-H:">
                                                        <field name="TEXT"> ist abgeschalten</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="ELSE">
                                                  <block type="text_join" id="N[e[H~;eF?0|dL+Yhjtg">
                                                    <mutation items="2"></mutation>
                                                    <value name="ADD0">
                                                      <block type="on_source" id="OD,na415Y{XS=nc~v+g-">
                                                        <field name="ATTR">channelName</field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD1">
                                                      <block type="text" id="gVE-)nbt8}dn*]8YS],8">
                                                        <field name="TEXT"> wurde reaktiviert.</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <value name="TITLE">
                                              <block type="text" id="el0)Gsa1CU{FFE-*N_?5">
                                                <field name="TEXT">Watchdog Steckdosen Keller</field>
                                              </block>
                                            </value>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                      
                      paul53 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Smo last edited by Homoran

                        @smo sagte in Namen von Gerät aus Aufzählung:

                        @homoran Jetzt kloppt euch mal nich, sondern gebt mir lieber nen Tritt in die richtige Richtung 🙂

                        das war der (indirekte) Tritt. Ich kann srlber kein js und hatte gehofft, dass @bahnuhr dann den Hinweis auf den Namen des Kanals (nicht Device, sorry 😰 ) aufgenommen hätte.

                        was die Doku sngeht hat iobroker eigentlich gute Ansätze und die js-doku ist sogar sehr ausführlich.
                        Leider müsste ich auch hier @paul53 um den Hinweis zum Pfad für die JS Doku bitten

                        S paul53 2 Replies Last reply Reply Quote 1
                        • S
                          Smo @Homoran last edited by

                          @homoran Na, nun ists ja gelöst 🙂

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

                            @homoran sagte: Hinweis zum Pfad für die JS Doku bitten

                            Funktionen des Javascript-Adapters

                            1 Reply Last reply Reply Quote 1
                            • paul53
                              paul53 @Smo last edited by paul53

                              @smo sagte: So siehts jetzt aus

                              "Kanalname" bezieht sich auf den Trigger-Datenpunkt und wird in der Schleife nicht verändert. In der Schleife muss eine Javascript-Funktion parentName(id) verwendet werden.

                              Bild_2022-04-10_180751879.png

                              Es muss doch nur die Steckdose eingeschaltet werden, die gerade ausgeschaltet hat - wie in meinem Vorschlag oben.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                Smo @paul53 last edited by Smo

                                @paul53 @paul53 Aber das machts doch. Es schaltet nur die abgeschaltete Dose, die anderen beiden nicht

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

                                  @smo sagte: Es schaltet nur die abgeschaltete Dose, die anderen beiden nicht

                                  Dafür ist die Schleife nicht erforderlich.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Smo @paul53 last edited by

                                    @paul53 Bitte nich lachen. aber ich verstehs immer noch nicht. Dass man die Prüfung einkürzen kann, da hätte ich ein Auge drauf haben müssen, aber wofür man noch die Funktion braucht, das versteh ich nicht. Der gibt den richtigen Namen aus.

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

                                      @smo sagte: wofür man noch die Funktion braucht, das versteh ich nicht.

                                      Die Funktion benötigt man nur für die Schleife, in der alle Datenpunkte des Selektors abgefragt werden. Zu jedem Datenpunkt in der Schleife gehört ein anderes Gerät, dessen Namen man mit der Funktion ermitteln kann. "Kanalname" liefert nur den Gerätenamen des Trigger-Datenpunktes - nicht den der anderen Datenpunkte in der Schleife.

                                      Wie gesagt: Die Schleife ist unnötig und somit auch die Funktion.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      954
                                      Online

                                      31.9k
                                      Users

                                      80.2k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      410
                                      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