Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Prüfen ob Datenpunkt existiert

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Prüfen ob Datenpunkt existiert

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by bahnuhr

      Hallo,
      wie kann man prüfen per Script ob ein Datenpunkt existiert.

      Habe in der Suche nur ein Blocky gefunden.
      Hätte aber gerne ein Script.

      P.S.
      Dachte ich hätte hier mal ein Script gesehen von bluefox; finde dies aber nicht mehr.

      mfg
      Dieter

      htrecksler 2 Replies Last reply Reply Quote 0
      • htrecksler
        htrecksler Forum Testing @bahnuhr last edited by

        @bahnuhr zur Not kannst du doch das Blockly importieren und dann daraus das javascript extrahieren.
        Aber ich meine auch, das habe ich schonmal von Paul53 gesehen.

        1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing @bahnuhr last edited by

          @bahnuhr habe ich gerade gefunden
          Link Text
          Vielleicht hilft der "existState"

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

            @htrecksler sagte in Prüfen ob Datenpunkt existiert:

            Vielleicht hilft der "existState"

            Ja, der war es.
            Danke dir.

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

              @htrecksler
              existsState(id) gibt es noch nicht lange und der Befehl ist (noch) undokumentiert. Das gilt auch für existsObject(id).

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

                @paul53 sagte in Prüfen ob Datenpunkt existiert:

                @htrecksler
                existsState(id) gibt es noch nicht lange und der Befehl ist (noch) undokumentiert. Das gilt auch für existsObject(id).

                Wo ist da der Unterschied?

                Für die Prüfung der Datenpunkte hat "..State" funktioniert.

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

                  @bahnuhr sagte:

                  Für die Prüfung der Datenpunkte hat "..State" funktioniert.

                  Ja, aber nur für Datenpunkte (state(Zustand) muss existieren).

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

                    @paul53 sagte in Prüfen ob Datenpunkt existiert:

                    @bahnuhr sagte:

                    Für die Prüfung der Datenpunkte hat "..State" funktioniert.

                    Ja, aber nur für Datenpunkte (state(Zustand) muss existieren).

                    Ziel war es:

                    Ich möchte prüfen ob ein Datenpunkt existiert bzw. angelegt wurde (ohne das es eine Fehlermeldung gibt).

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

                      @bahnuhr sagte:

                      Ich möchte prüfen ob ein Datenpunkt existiert bzw. angelegt wurde (ohne das es eine Fehlermeldung gibt).

                      Dafür ist existsState(id) gedacht.

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

                        @paul53 sagte in Prüfen ob Datenpunkt existiert:

                        @bahnuhr sagte:

                        Ich möchte prüfen ob ein Datenpunkt existiert bzw. angelegt wurde (ohne das es eine Fehlermeldung gibt).

                        Dafür ist existsState(id) gedacht.

                        Danke.

                        Und was macht man dann mit: existsObject(id).

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

                          @bahnuhr sagte:

                          was macht man dann mit: existsObject(id).

                          Prüfen, ob ein Objekt von z.B. Typ "channel", "device", "enum", ... existiert.

                          dslraser 1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @paul53 last edited by

                            @paul53

                            existsState(id) gibt es noch nicht lange und der Befehl ist (noch) undokumentiert. Das gilt auch für existsObject(id).

                            ich lese damit die Seriennummer (Alexa2 Adapter) eines ECHOS aus und setze damit dann z.B. die Sprachausgabe auf den angesprochenen ECHO, dabei kann es aber auch zu Fehlermeldungen kommen, weil nicht jedes Gerät z.B. diesen DP ssml hat. Wie kann ich in Blockly abfragen ob es diesen DP gibt ?

                            Bildschirmfoto 2019-12-23 um 18.27.41.png

                            <block xmlns="http://www.w3.org/1999/xhtml" type="variables_set" id="Yps_^d-kW+oe5cQMJ@@q" x="34" y="469">
                             <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                             <value name="VALUE">
                               <block type="text_join" id="erZ?IJvmk9]^7PFtivUc">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="-]u5SGaBrfr:E8rt]5x`">
                                     <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="get_value" id="~@yqzw9b:kyhv;sWile*">
                                     <field name="ATTR">val</field>
                                     <field name="OID">alexa2.0.History.serialNumber</field>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="?f?%9j/S}8PwwvP;IQ3j">
                                     <field name="TEXT">.Commands.ssml</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                            </block>
                            

                            Das gleiche gilt auch für das Lautstärke setzen.

                            Bildschirmfoto 2019-12-23 um 18.32.26.png

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

                              @dslraser sagte:

                              Wie kann ich in Blockly abfragen ob es diesen DP gibt ?

                              Mit einer Javascript-Funktion mit Ergebnis (Übergabe-Parameter: id). Inhalt:

                              return existsState(id);
                              

                              Blockly_temp.JPG

                              dslraser 1 Reply Last reply Reply Quote 1
                              • dslraser
                                dslraser Forum Testing Most Active @paul53 last edited by dslraser

                                @paul53
                                Danke Dir.
                                Es funktioniert. Habe ich das so richtig umgesetzt ?

                                Bildschirmfoto 2019-12-23 um 19.05.21.png

                                <xml xmlns="http://www.w3.org/1999/xhtml">
                                 <variables>
                                   <variable type="" id="[axQ$oH/ZZy.k67+iBx/">id</variable>
                                   <variable type="" id="tx`]izPXI!BeK19V`CX$">angesprochener_echo</variable>
                                 </variables>
                                 <block type="procedures_defcustomreturn" id="7R:L*9?)7Wl^RqVg+G`q" x="163" y="13">
                                   <mutation statements="false">
                                     <arg name="id" varid="[axQ$oH/ZZy.k67+iBx/"></arg>
                                   </mutation>
                                   <field name="NAME">existiert_DP</field>
                                   <field name="SCRIPT">cmV0dXJuIGV4aXN0c1N0YXRlKGlkKTs=</field>
                                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 </block>
                                 <block type="on_ext" id="y@0Cu2?,1;o_bDcJ4ZuT" x="162" y="88">
                                   <mutation items="1"></mutation>
                                   <field name="CONDITION">any</field>
                                   <field name="ACK_CONDITION"></field>
                                   <value name="OID0">
                                     <shadow type="field_oid" id="Ps^V--{[M@oA{#6`!ESN">
                                       <field name="oid">alexa2.0.History.serialNumber</field>
                                     </shadow>
                                   </value>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="y)`c-wm[C}cP{X]y3)Dw">
                                       <mutation else="1"></mutation>
                                       <value name="IF0">
                                         <block type="procedures_callcustomreturn" id="BdLe-fXhm3kGbG{.5RJj">
                                           <mutation name="existiert_DP">
                                             <arg name="id"></arg>
                                           </mutation>
                                           <value name="ARG0">
                                             <block type="text_join" id="%CbkkRKGDgdm;jO#nlgV">
                                               <mutation items="3"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="3{b9TSidU,^5#px#TM?s">
                                                   <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="get_value" id="GTn9gRaUp!2e%9bRgPZg">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">alexa2.0.History.serialNumber</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id="h}m`45Y5o3#!6dDZx%IK">
                                                   <field name="TEXT">.Commands.ssml</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="variables_set" id="e[+cDb+`pg-aWTFT@9z{">
                                           <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                           <value name="VALUE">
                                             <block type="text_join" id="u[Q1}Hpw@]p0o??1PAs5">
                                               <mutation items="3"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="38x/61SdZ3,;6l5hwj]W">
                                                   <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="get_value" id=";.zk3.,FM?7d.Z=AKCfr">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">alexa2.0.History.serialNumber</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id="Pc31[W.?d0%ZQ:z$B`-A">
                                                   <field name="TEXT">.Commands.ssml</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <statement name="ELSE">
                                         <block type="debug" id="EWDo/1)[Ss|S_)=R~gua">
                                           <field name="Severity">warn</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="=aW~G~#OZRNLcxp^Txk+">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="text" id=":`Z|PO/g-XC$|DVzfaA/">
                                               <field name="TEXT">Das angesprochene Gerät  unterstützt kein ssml !</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                 </block>
                                </xml>
                                

                                EDIT: ich hatte das falsche Bild und den falschen Export. Ich habe es gerade korrigiert. Sorry.

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

                                  @dslraser sagte:

                                  Habe ich das so richtig umgesetzt ?

                                  Ja, kann man so machen. Ich hätte die ID nur einmal in eine Variable konstruiert und dann diese Variable 2 mal verwendet.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  976
                                  Online

                                  31.7k
                                  Users

                                  79.7k
                                  Topics

                                  1.3m
                                  Posts

                                  javascript
                                  4
                                  15
                                  2166
                                  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