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. Einsteigerfragen
  4. Automatisierung
  5. Gerätename aus Liste auslesen -Blockly

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    965

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Gerätename aus Liste auslesen -Blockly

Geplant Angeheftet Gesperrt Verschoben Automatisierung
20 Beiträge 3 Kommentatoren 1.8k 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.
  • B Bert 0

    @codierknecht Danke, nur mal Interessehalber. Wie rufe ich die Funktion innerhalb der Scleife dann ab?

    Bert

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #9

    @bert-0 sagte: Wie rufe ich die Funktion innerhalb der Scleife dann ab?

    Bild_2022-12-21_112334163.png

    @codierknecht sagte in Gerätename aus Liste auslesen -Blockly:

    Über eine kleine JS-Funktion:

    Wenn der Objekt-Typ nicht geprüft wird, handelt es sich um den "Parentname".

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</variable>
       <variable id="-SyDULXW{,RJuT2tv+3S">id</variable>
       <variable id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</variable>
     </variables>
     <block type="variables_set" id="e8_B=)/G}SX;6irIG1Hw" x="138" y="-162">
       <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
       <value name="VALUE">
         <block type="selector" id="2zcAFqjE4^@IP.~4~@t6">
           <field name="TEXT">(functions=battery_status)</field>
         </block>
       </value>
       <next>
         <block type="debug" id="K@]q@}zdtvo+]?8[$+pI" disabled="true">
           <field name="Severity">log</field>
           <value name="TEXT">
             <shadow type="text" id="ztJWVF!EA2wxUo$o7z=S">
               <field name="TEXT">test</field>
             </shadow>
             <block type="variables_get" id="wpNkypy%Dm,/kY#5!9pq">
               <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
             </block>
           </value>
           <next>
             <block type="controls_forEach" id="64J.9]F}Nu-w77XR@6_*">
               <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
               <value name="LIST">
                 <block type="variables_get" id="#GAcA7-9V]Gy!(-kid+)">
                   <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
                 </block>
               </value>
               <statement name="DO">
                 <block type="debug" id="5pC}DaX$w6D8KU`2~j9e">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="pKqmj]F^S.eA5pWVK:[c">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="qKAw(TF@a|?oh2^_F-Qt">
                       <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                     </block>
                   </value>
                   <next>
                     <block type="controls_if" id="jDo*_B9M_lC;xw?bJca@">
                       <value name="IF0">
                         <block type="get_value_var" id="Q02Z6h*J{_gd9lqt4??c">
                           <field name="ATTR">val</field>
                           <value name="OID">
                             <shadow type="text">
                               <field name="TEXT"></field>
                             </shadow>
                             <block type="variables_get" id="oW4[:DKJWW.:2?pNpZQT">
                               <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="debug" id="]Ve+?2EfE;B*j@#*.*V0">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="gFP03WbG6fltGZ2m42gF">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="text_join" id="8)iS]x_$fU6;$UE;w*g0">
                               <mutation items="5"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="xQ/[6J5;+V*`A(pyBamj">
                                   <field name="TEXT">Die Batterie in Zimmer </field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="variables_get" id="r?*+wgcaoAwHM?mYW!)n">
                                   <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="text_multiline" id="_5+W3z^B^SZA2vFp~kQ[">
                                   <field name="TEXT"> muss ausgetauscht werden mit dem Kanal-Namen:  </field>
                                 </block>
                               </value>
                               <value name="ADD3">
                                 <block type="procedures_callcustomreturn" id="r|D:$H=x9@DSnwLhqk!c">
                                   <mutation name="parentName">
                                     <arg name="id"></arg>
                                   </mutation>
                                   <value name="ARG0">
                                     <block type="variables_get" id="nyU;v)kF^?;X]Rz%Y*gV">
                                       <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="ADD4">
                                 <block type="text_multiline" id="?)~.SP9?=)va9FEo!qVv">
                                   <field name="TEXT">!</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </next>
         </block>
       </next>
     </block>
     <block type="procedures_defcustomreturn" id=",Vm(c(Gx:e%.dlGJp=2:" x="412" y="238">
       <mutation statements="false">
         <arg name="id" varid="-SyDULXW{,RJuT2tv+3S"></arg>
       </mutation>
       <field name="NAME">parentName</field>
       <field name="SCRIPT">aWQgPSBpZC5zdWJzdHJpbmcoMCwgaWQubGFzdEluZGV4T2YoJy4nKSk7DQppZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</field>
       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
     </block>
    </xml>
    

    Funktion parentName(id):

    id = id.substring(0, id.lastIndexOf('.'));
    if(existsObject(id)) return getObject(id).common.name;
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    CodierknechtC B 2 Antworten Letzte Antwort
    0
    • B Bert 0

      @codierknecht Danke, nur mal Interessehalber. Wie rufe ich die Funktion innerhalb der Scleife dann ab?

      Bert

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #10

      @bert-0
      In dem Blockly oben war noch ein Fehler. Hab's oben korrigiert. Sorry :eyes:

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @bert-0 sagte: Wie rufe ich die Funktion innerhalb der Scleife dann ab?

        Bild_2022-12-21_112334163.png

        @codierknecht sagte in Gerätename aus Liste auslesen -Blockly:

        Über eine kleine JS-Funktion:

        Wenn der Objekt-Typ nicht geprüft wird, handelt es sich um den "Parentname".

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</variable>
           <variable id="-SyDULXW{,RJuT2tv+3S">id</variable>
           <variable id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</variable>
         </variables>
         <block type="variables_set" id="e8_B=)/G}SX;6irIG1Hw" x="138" y="-162">
           <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
           <value name="VALUE">
             <block type="selector" id="2zcAFqjE4^@IP.~4~@t6">
               <field name="TEXT">(functions=battery_status)</field>
             </block>
           </value>
           <next>
             <block type="debug" id="K@]q@}zdtvo+]?8[$+pI" disabled="true">
               <field name="Severity">log</field>
               <value name="TEXT">
                 <shadow type="text" id="ztJWVF!EA2wxUo$o7z=S">
                   <field name="TEXT">test</field>
                 </shadow>
                 <block type="variables_get" id="wpNkypy%Dm,/kY#5!9pq">
                   <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
                 </block>
               </value>
               <next>
                 <block type="controls_forEach" id="64J.9]F}Nu-w77XR@6_*">
                   <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                   <value name="LIST">
                     <block type="variables_get" id="#GAcA7-9V]Gy!(-kid+)">
                       <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
                     </block>
                   </value>
                   <statement name="DO">
                     <block type="debug" id="5pC}DaX$w6D8KU`2~j9e">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="pKqmj]F^S.eA5pWVK:[c">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="variables_get" id="qKAw(TF@a|?oh2^_F-Qt">
                           <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                         </block>
                       </value>
                       <next>
                         <block type="controls_if" id="jDo*_B9M_lC;xw?bJca@">
                           <value name="IF0">
                             <block type="get_value_var" id="Q02Z6h*J{_gd9lqt4??c">
                               <field name="ATTR">val</field>
                               <value name="OID">
                                 <shadow type="text">
                                   <field name="TEXT"></field>
                                 </shadow>
                                 <block type="variables_get" id="oW4[:DKJWW.:2?pNpZQT">
                                   <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="debug" id="]Ve+?2EfE;B*j@#*.*V0">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="gFP03WbG6fltGZ2m42gF">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="text_join" id="8)iS]x_$fU6;$UE;w*g0">
                                   <mutation items="5"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="xQ/[6J5;+V*`A(pyBamj">
                                       <field name="TEXT">Die Batterie in Zimmer </field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="variables_get" id="r?*+wgcaoAwHM?mYW!)n">
                                       <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="text_multiline" id="_5+W3z^B^SZA2vFp~kQ[">
                                       <field name="TEXT"> muss ausgetauscht werden mit dem Kanal-Namen:  </field>
                                     </block>
                                   </value>
                                   <value name="ADD3">
                                     <block type="procedures_callcustomreturn" id="r|D:$H=x9@DSnwLhqk!c">
                                       <mutation name="parentName">
                                         <arg name="id"></arg>
                                       </mutation>
                                       <value name="ARG0">
                                         <block type="variables_get" id="nyU;v)kF^?;X]Rz%Y*gV">
                                           <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="ADD4">
                                     <block type="text_multiline" id="?)~.SP9?=)va9FEo!qVv">
                                       <field name="TEXT">!</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </next>
         </block>
         <block type="procedures_defcustomreturn" id=",Vm(c(Gx:e%.dlGJp=2:" x="412" y="238">
           <mutation statements="false">
             <arg name="id" varid="-SyDULXW{,RJuT2tv+3S"></arg>
           </mutation>
           <field name="NAME">parentName</field>
           <field name="SCRIPT">aWQgPSBpZC5zdWJzdHJpbmcoMCwgaWQubGFzdEluZGV4T2YoJy4nKSk7DQppZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         </block>
        </xml>
        

        Funktion parentName(id):

        id = id.substring(0, id.lastIndexOf('.'));
        if(existsObject(id)) return getObject(id).common.name;
        
        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #11

        @paul53 sagte in Gerätename aus Liste auslesen -Blockly:

        Wenn der Objekt-Typ nicht geprüft wird, handelt es sich um den "Parentname".

        Stimmt auch wieder. Ist eindeutiger :+1:

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @bert-0 sagte: Wie rufe ich die Funktion innerhalb der Scleife dann ab?

          Bild_2022-12-21_112334163.png

          @codierknecht sagte in Gerätename aus Liste auslesen -Blockly:

          Über eine kleine JS-Funktion:

          Wenn der Objekt-Typ nicht geprüft wird, handelt es sich um den "Parentname".

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</variable>
             <variable id="-SyDULXW{,RJuT2tv+3S">id</variable>
             <variable id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</variable>
           </variables>
           <block type="variables_set" id="e8_B=)/G}SX;6irIG1Hw" x="138" y="-162">
             <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
             <value name="VALUE">
               <block type="selector" id="2zcAFqjE4^@IP.~4~@t6">
                 <field name="TEXT">(functions=battery_status)</field>
               </block>
             </value>
             <next>
               <block type="debug" id="K@]q@}zdtvo+]?8[$+pI" disabled="true">
                 <field name="Severity">log</field>
                 <value name="TEXT">
                   <shadow type="text" id="ztJWVF!EA2wxUo$o7z=S">
                     <field name="TEXT">test</field>
                   </shadow>
                   <block type="variables_get" id="wpNkypy%Dm,/kY#5!9pq">
                     <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
                   </block>
                 </value>
                 <next>
                   <block type="controls_forEach" id="64J.9]F}Nu-w77XR@6_*">
                     <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                     <value name="LIST">
                       <block type="variables_get" id="#GAcA7-9V]Gy!(-kid+)">
                         <field name="VAR" id="cT7$#}[1DeWb5m45Z.VO">Alle_Geräte-mit_Batterien</field>
                       </block>
                     </value>
                     <statement name="DO">
                       <block type="debug" id="5pC}DaX$w6D8KU`2~j9e">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="pKqmj]F^S.eA5pWVK:[c">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="variables_get" id="qKAw(TF@a|?oh2^_F-Qt">
                             <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                           </block>
                         </value>
                         <next>
                           <block type="controls_if" id="jDo*_B9M_lC;xw?bJca@">
                             <value name="IF0">
                               <block type="get_value_var" id="Q02Z6h*J{_gd9lqt4??c">
                                 <field name="ATTR">val</field>
                                 <value name="OID">
                                   <shadow type="text">
                                     <field name="TEXT"></field>
                                   </shadow>
                                   <block type="variables_get" id="oW4[:DKJWW.:2?pNpZQT">
                                     <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="debug" id="]Ve+?2EfE;B*j@#*.*V0">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="gFP03WbG6fltGZ2m42gF">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="text_join" id="8)iS]x_$fU6;$UE;w*g0">
                                     <mutation items="5"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="xQ/[6J5;+V*`A(pyBamj">
                                         <field name="TEXT">Die Batterie in Zimmer </field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="variables_get" id="r?*+wgcaoAwHM?mYW!)n">
                                         <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                       </block>
                                     </value>
                                     <value name="ADD2">
                                       <block type="text_multiline" id="_5+W3z^B^SZA2vFp~kQ[">
                                         <field name="TEXT"> muss ausgetauscht werden mit dem Kanal-Namen:  </field>
                                       </block>
                                     </value>
                                     <value name="ADD3">
                                       <block type="procedures_callcustomreturn" id="r|D:$H=x9@DSnwLhqk!c">
                                         <mutation name="parentName">
                                           <arg name="id"></arg>
                                         </mutation>
                                         <value name="ARG0">
                                           <block type="variables_get" id="nyU;v)kF^?;X]Rz%Y*gV">
                                             <field name="VAR" id="H7uf1#MNI!o2I8$$mlwm">Batteriestatus</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="ADD4">
                                       <block type="text_multiline" id="?)~.SP9?=)va9FEo!qVv">
                                         <field name="TEXT">!</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
           <block type="procedures_defcustomreturn" id=",Vm(c(Gx:e%.dlGJp=2:" x="412" y="238">
             <mutation statements="false">
               <arg name="id" varid="-SyDULXW{,RJuT2tv+3S"></arg>
             </mutation>
             <field name="NAME">parentName</field>
             <field name="SCRIPT">aWQgPSBpZC5zdWJzdHJpbmcoMCwgaWQubGFzdEluZGV4T2YoJy4nKSk7DQppZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</field>
             <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
           </block>
          </xml>
          

          Funktion parentName(id):

          id = id.substring(0, id.lastIndexOf('.'));
          if(existsObject(id)) return getObject(id).common.name;
          
          B Offline
          B Offline
          Bert 0
          schrieb am zuletzt editiert von
          #12

          @paul53
          Geht nicht:

          javascript.0 (886) script.js.Testscripte.Skript_1: Die Batterie in Zimmer alias.0.OG.xxx.xxx.LOWBAT muss ausgetauscht werden mit dem Kanal-Namen: [object Object]!
          
          paul53P CodierknechtC 3 Antworten Letzte Antwort
          0
          • B Bert 0

            @paul53
            Geht nicht:

            javascript.0 (886) script.js.Testscripte.Skript_1: Die Batterie in Zimmer alias.0.OG.xxx.xxx.LOWBAT muss ausgetauscht werden mit dem Kanal-Namen: [object Object]!
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #13

            @bert-0
            Weshalb ist den Name ein Objekt? Ist er mehrsprachig?

            Was gibt der untere Debug-Block aus, wenn er ergänzt wird?

            Bild_2022-12-21_115213837.png

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            B 2 Antworten Letzte Antwort
            0
            • B Bert 0

              @paul53
              Geht nicht:

              javascript.0 (886) script.js.Testscripte.Skript_1: Die Batterie in Zimmer alias.0.OG.xxx.xxx.LOWBAT muss ausgetauscht werden mit dem Kanal-Namen: [object Object]!
              
              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #14

              @bert-0
              Aso bei mir funzt Paul's Blockly wunderbar:
              97603869-71e5-4fe7-a7be-a27acf019ff3-image.png

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              1 Antwort Letzte Antwort
              0
              • B Bert 0

                @paul53
                Geht nicht:

                javascript.0 (886) script.js.Testscripte.Skript_1: Die Batterie in Zimmer alias.0.OG.xxx.xxx.LOWBAT muss ausgetauscht werden mit dem Kanal-Namen: [object Object]!
                
                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #15

                @bert-0
                Wie sieht denn der Objektbaum an der Ecke aus?

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @bert-0
                  Weshalb ist den Name ein Objekt? Ist er mehrsprachig?

                  Was gibt der untere Debug-Block aus, wenn er ergänzt wird?

                  Bild_2022-12-21_115213837.png

                  B Offline
                  B Offline
                  Bert 0
                  schrieb am zuletzt editiert von
                  #16

                  @paul53

                  11:56:20.299	info	javascript.0 (886) script.js.Testscripte.Skript_1: getState(id=alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer.LOWBAT, timerId=undefined) => {"val":true,"ack":true,"ts":xxxxxxxxx,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":xxxxxxxxx}
                  11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: getObject(id=alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer, enumName=undefined) => {"_id":"alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer","common":{"name":{"de":"Fenster Schlafzimmer"},"role":"window","icon":"","color":null},"native":{},"type":"channel","from":"system.adapter.admin.0","user":"system.user.admin","ts":xxxxxxxxx,"acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                  11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: Die Batterie in Zimmer alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer.LOWBAT muss ausgetauscht werden mit dem Kanal-Namen: [object Object]!
                  11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: getObject(id=alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer, enumName=undefined) => {"_id":"alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer","common":{"name":{"de":"Fenster Schlafzimmer"},"role":"window","icon":"","color":null},"native":{},"type":"channel","from":"system.adapter.admin.0","user":"system.user.admin","ts":xxxxxxxxx,"acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                  11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: {'de':'Fenster Schlafzimmer'}
                  

                  Was meinst du mit Name ein Objekt?

                  Bert

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • B Bert 0

                    @paul53

                    11:56:20.299	info	javascript.0 (886) script.js.Testscripte.Skript_1: getState(id=alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer.LOWBAT, timerId=undefined) => {"val":true,"ack":true,"ts":xxxxxxxxx,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":xxxxxxxxx}
                    11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: getObject(id=alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer, enumName=undefined) => {"_id":"alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer","common":{"name":{"de":"Fenster Schlafzimmer"},"role":"window","icon":"","color":null},"native":{},"type":"channel","from":"system.adapter.admin.0","user":"system.user.admin","ts":xxxxxxxxx,"acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                    11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: Die Batterie in Zimmer alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer.LOWBAT muss ausgetauscht werden mit dem Kanal-Namen: [object Object]!
                    11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: getObject(id=alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer, enumName=undefined) => {"_id":"alias.0.OG.Schlafzimmer.Fenster_Schlafzimmer","common":{"name":{"de":"Fenster Schlafzimmer"},"role":"window","icon":"","color":null},"native":{},"type":"channel","from":"system.adapter.admin.0","user":"system.user.admin","ts":xxxxxxxxx,"acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                    11:56:20.300	info	javascript.0 (886) script.js.Testscripte.Skript_1: {'de':'Fenster Schlafzimmer'}
                    

                    Was meinst du mit Name ein Objekt?

                    Bert

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #17

                    @bert-0 sagte: Was meinst du mit Name ein Objekt?

                    Genau das:

                     {'de':'Fenster Schlafzimmer'}
                    

                    Dann hänge noch ein .de in der Funktion dran:

                    id = id.substring(0, id.lastIndexOf('.'));
                    if(existsObject(id)) return getObject(id).common.name.de;
                    

                    Funktioniert so aber nur, wenn es immer eine Objekt ist mit {de: 'Kanalname'}. Andernfalls muss der Typ geprüft werden.

                    id = id.substring(0, id.lastIndexOf('.'));
                    if(existsObject(id)) {
                        let pName = getObject(id).common.name;
                        if(typeof pName == 'object') return pName.de;
                        return pName;
                    }
                    

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    B 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @bert-0 sagte: Was meinst du mit Name ein Objekt?

                      Genau das:

                       {'de':'Fenster Schlafzimmer'}
                      

                      Dann hänge noch ein .de in der Funktion dran:

                      id = id.substring(0, id.lastIndexOf('.'));
                      if(existsObject(id)) return getObject(id).common.name.de;
                      

                      Funktioniert so aber nur, wenn es immer eine Objekt ist mit {de: 'Kanalname'}. Andernfalls muss der Typ geprüft werden.

                      id = id.substring(0, id.lastIndexOf('.'));
                      if(existsObject(id)) {
                          let pName = getObject(id).common.name;
                          if(typeof pName == 'object') return pName.de;
                          return pName;
                      }
                      
                      B Offline
                      B Offline
                      Bert 0
                      schrieb am zuletzt editiert von
                      #18

                      @paul53
                      Danke dir, passt.👍

                      noch eine letzte Frage: Wie hast du die Funktion in Blockly eingefügt? Gibt es eine Möglichkeit von Javascript zurück zu Blockly?
                      Bert

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • B Bert 0

                        @paul53
                        Danke dir, passt.👍

                        noch eine letzte Frage: Wie hast du die Funktion in Blockly eingefügt? Gibt es eine Möglichkeit von Javascript zurück zu Blockly?
                        Bert

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #19

                        @bert-0 sagte: Wie hast du die Funktion in Blockly eingefügt?

                        Verstehe die Frage nicht. Man sieht es hier. Das ist Blockly mit einem Block "JS-Funktion mit Ergebnis".

                        Bild_2022-12-21_131220409.png

                        Diese JS-Funktion benötigt man, da Blockly keinen "getObject(id)"-Block bietet.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        1
                        • paul53P paul53

                          @bert-0
                          Weshalb ist den Name ein Objekt? Ist er mehrsprachig?

                          Was gibt der untere Debug-Block aus, wenn er ergänzt wird?

                          Bild_2022-12-21_115213837.png

                          B Offline
                          B Offline
                          Bert 0
                          schrieb am zuletzt editiert von
                          #20

                          @paul53 Ok sorry, bei mir hatte sich der Editor nicht geöffnet. geht jetzt.

                          Danke

                          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

                          772

                          Online

                          32.5k

                          Benutzer

                          81.6k

                          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