Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Objekt datei suchen anhand eines anderes objektes

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    [Gelöst] Objekt datei suchen anhand eines anderes objektes

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

      Ich hoffe ich habe mit dem Titel einigermaßen gut angefangen 🙄

      Beim Octoprint Adapter gibt es die Möglichkeit die Thumbnails als Objekt anzeigen zu lassen. Diese will ich mir dann über Telegram mit ein par weiteren Infos schicken lassen.
      Leider ist aber die zu druckende Datei und das Thumbnail in unterschiedlichen Ordnern, jedoch haben diese den gleichen Namen bis auf dass ein "local_" vor dem Namen steht.

      3ddruck.jpg
      3ddruck2.jpg

      Ich möchte gerne anhand des Objektes

      Printjob -> file -> NAME
      

      die Passende URL suchen.

      files -> local_* -> thumbnail_url
      

      ich dachte da an so etwas ungefähr
      3ddruck3.jpg

      Ich weiß nur nicht wie ich dem beim durchsuchen (wenn das so überhaupt geht) sagen kann dass er beim durchsuchen das ".gcode" nicht beachten soll.

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @jensven last edited by

        @jensven

        Ich würde

        • den selektor umschreiben auf state[id=local*.name]
        • Im trigger zunächst mit getState den Dateinamen deines Drucks lesen
        • in der Schleife: getstate(i).val mit dem Dateinamen vergleichen. Wenn es passt: aus i eine Liste machen, trennzeichen ‘.’, letzten Eintrag der Liste entfernen, “thumbnail_url” an die Liste anhängen, Liste zu Text mit trennzeichen “.” in Variable speichern (idthumb), dann kannst du mit getstate(idthumb).val die URV des thumbnails holen.
        J 1 Reply Last reply Reply Quote 0
        • J
          jensven @Asgothian last edited by

          @asgothian
          habe mich gestern Abend mal ran gesetzt und versucht das umzusetzen, aber da mein Blockly wissen sich auf das Grundwissen für einfache Scripte beschränkt wäre ich für ne Vorlage sehr dankbar.
          Ich habe jetzt versucht durch verschiedene Code Schnipsel es selbst zusammen zu bauen, bekomme es aber absolut nicht hin. Da mir jetzt auch 1 mal die Javascript Instanz zusammen gebrochen ist muss ich doch um Hilfe bitten.

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @jensven last edited by Asgothian

            @jensven
            Screen Shot 2022-04-23 at 15.57.13 .png
            So in etwa.

            Wichtig: In dem Beispiel ist an 2 Stellen "XXX" eingetragen. Das liegt daran das dein Screenshot nicht den vollständigen Namen der Datenpunkte zeigt.Screen Shot 2022-04-23 at 15.49.35 .png

            An Stelle des XXX muss daher der name des Channels stehen in dem sich der im obigen Screenshot zu sehende Channel 'Printjob' befindet.

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="BG0M%p.fSDDfW|8V(rx?">ThumbnailUrl</variable>
               <variable type="timeout" id="timeout">timeout</variable>
               <variable id="p)N,Ui1LRfT=vHU4~6Px">PrintFileName</variable>
               <variable id="*6v-5OLVKr(==eR4t=JV">ID</variable>
               <variable id="tp_nQ#x[^.63)lcKRNz=">StateAsList</variable>
             </variables>
             <block type="comment" id="0VjG+hmDyMFSNdO|a)eI" x="63" y="438">
               <field name="COMMENT">Trigger auf "druckt"</field>
               <next>
                 <block type="variables_set" id="Ql(]pA2S,!ki_6P,P0Tt">
                   <field name="VAR" id="BG0M%p.fSDDfW|8V(rx?">ThumbnailUrl</field>
                   <value name="VALUE">
                     <block type="text" id="a`lzkNgCE9Wd%w]E~bib">
                       <field name="TEXT"></field>
                     </block>
                   </value>
                   <next>
                     <block type="on" id=",gdr)!OJ-M_94#qh.d:u">
                       <field name="OID">Object ID</field>
                       <field name="CONDITION">gt</field>
                       <field name="ACK_CONDITION"></field>
                       <statement name="STATEMENT">
                         <block type="timeouts_cleartimeout" id=")B_-t#[L50?Ka+glM:Z9">
                           <field name="NAME">timeout</field>
                           <next>
                             <block type="timeouts_settimeout" id="YwZm-nB26[-Ws^J,upJd">
                               <field name="NAME">timeout</field>
                               <field name="DELAY">20</field>
                               <field name="UNIT">sec</field>
                               <statement name="STATEMENT">
                                 <block type="variables_set" id="M:Dv^hEoj1/QS!nn26kG">
                                   <field name="VAR" id="p)N,Ui1LRfT=vHU4~6Px">PrintFileName</field>
                                   <value name="VALUE">
                                     <block type="get_value_var" id="+^B~#0_+_c~+*zObX5jZ">
                                       <field name="ATTR">val</field>
                                       <value name="OID">
                                         <shadow type="text" id="6RYS`g*|ihHl{3kOZ{dG">
                                           <field name="TEXT">XXX.printjob.file.name</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="controls_forEach" id="AADvid$qSE05vj`Ytb,q">
                                       <field name="VAR" id="*6v-5OLVKr(==eR4t=JV">ID</field>
                                       <value name="LIST">
                                         <block type="selector" id=".HP9uJa*JmIlZ|*y!0aB">
                                           <field name="TEXT">state[id=XXX.*.name]</field>
                                         </block>
                                       </value>
                                       <statement name="DO">
                                         <block type="controls_if" id="N3tE@qIv*={Q{5KWbc5O">
                                           <value name="IF0">
                                             <block type="logic_operation" id="~?FK#6yH(-+OLF^GTxCn" inline="false">
                                               <field name="OP">AND</field>
                                               <value name="A">
                                                 <block type="logic_compare" id="r5YoNU2%9PYb|sIS3~+5">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value_var" id="xKH;lwgPqvB)=)JqW`Z@">
                                                       <field name="ATTR">val</field>
                                                       <value name="OID">
                                                         <shadow type="text" id="c@GdUpo]3I2s,~1j2!(n">
                                                           <field name="TEXT"></field>
                                                         </shadow>
                                                         <block type="variables_get" id="|{cb.FG~fAh*]B_.*vF;">
                                                           <field name="VAR" id="*6v-5OLVKr(==eR4t=JV">ID</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="variables_get" id="FD`-ru0lLsl%)BJ3QR;{">
                                                       <field name="VAR" id="p)N,Ui1LRfT=vHU4~6Px">PrintFileName</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_compare" id="#C%NTzp;-6+lzTS2a)mg">
                                                   <field name="OP">NEQ</field>
                                                   <value name="A">
                                                     <block type="variables_get" id="SiRUl[lEmQNh{]+:Q::$">
                                                       <field name="VAR" id="*6v-5OLVKr(==eR4t=JV">ID</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="text" id="kb}d}?Kw:EJ`OYG*FTz3">
                                                       <field name="TEXT">XXX.printjob.file.name</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="variables_set" id="C(K?2/9p8%FTdzOXqZ6a">
                                               <field name="VAR" id="tp_nQ#x[^.63)lcKRNz=">StateAsList</field>
                                               <value name="VALUE">
                                                 <block type="lists_split" id="E(i;j|}#o(@-z$v6$EHK">
                                                   <mutation mode="SPLIT"></mutation>
                                                   <field name="MODE">SPLIT</field>
                                                   <value name="INPUT">
                                                     <block type="variables_get" id="LJgXEr]RCUMiPgQ8%!tW">
                                                       <field name="VAR" id="*6v-5OLVKr(==eR4t=JV">ID</field>
                                                     </block>
                                                   </value>
                                                   <value name="DELIM">
                                                     <shadow type="text" id=";uvFfv*bi8:%$lusCl+7">
                                                       <field name="TEXT">.</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="lists_getIndex" id="~m{LXZWR]x~nnfBfSlLc">
                                                   <mutation statement="true" at="false"></mutation>
                                                   <field name="MODE">REMOVE</field>
                                                   <field name="WHERE">LAST</field>
                                                   <value name="VALUE">
                                                     <block type="variables_get" id="3yNq#KqL8)`*RhS[_m}!">
                                                       <field name="VAR" id="tp_nQ#x[^.63)lcKRNz=">StateAsList</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="lists_setIndex" id="9d|GN[9[+gJaiF~y1+L[">
                                                       <mutation at="false"></mutation>
                                                       <field name="MODE">INSERT</field>
                                                       <field name="WHERE">LAST</field>
                                                       <value name="LIST">
                                                         <block type="variables_get" id=";N,16S/Fxb*.mr;Q7`,9">
                                                           <field name="VAR" id="tp_nQ#x[^.63)lcKRNz=">StateAsList</field>
                                                         </block>
                                                       </value>
                                                       <value name="TO">
                                                         <block type="text" id="xoR[ldQaW|1JtJAs`ol*">
                                                           <field name="TEXT">thumbnail_url</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="variables_set" id="zx^(`s4P]g|/CrWlsuo-">
                                                           <field name="VAR" id="BG0M%p.fSDDfW|8V(rx?">ThumbnailUrl</field>
                                                           <value name="VALUE">
                                                             <block type="get_value_var" id="PrX_;zK9D#nD([r(X9{=">
                                                               <field name="ATTR">val</field>
                                                               <value name="OID">
                                                                 <shadow type="text" id="GY|Fn!M[9z*kZpISePOG">
                                                                   <field name="TEXT"></field>
                                                                 </shadow>
                                                                 <block type="lists_split" id="yD:s(k}=Sfnmqo(-}OT)">
                                                                   <mutation mode="JOIN"></mutation>
                                                                   <field name="MODE">JOIN</field>
                                                                   <value name="INPUT">
                                                                     <block type="variables_get" id="(p7UxAXuHQqp0`i!58g6">
                                                                       <field name="VAR" id="tp_nQ#x[^.63)lcKRNz=">StateAsList</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="DELIM">
                                                                     <shadow type="text" id="fKK@:i)`IHkuO#E]P]34">
                                                                       <field name="TEXT">.</field>
                                                                     </shadow>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            J 1 Reply Last reply Reply Quote 0
            • J
              jensven @Asgothian last edited by

              @asgothian sorry da? ich jetzt erst Anworte, hatte bis jetzt keine Zeit
              Funktioniert wie gewünscht.

              Hatte nicht gewusst das man mit dem Selektor block auch jeden Ordner so durchsuchen kann. Hab da Javascript und ParentName rumprobiert.
              Ich danke dir 👍

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

              Support us

              ioBroker
              Community Adapters
              Donate

              838
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              2
              5
              259
              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