Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Name aus Fritz Telefonbuch auslesen

    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

    Name aus Fritz Telefonbuch auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @Berges01 last edited by

      @berges01 Kein Problem, wollte nur wissen was man an Jarvis verbessern kann bzw. sollte.
      Dieser Teil kann man mit Jarvis nicht erstellen.
      fb45d5f2-aa23-4966-ac91-39f368a097c0-image.png
      Für einige wäre das Design auch schon ziemlich "überladen", aber das ist Geschmackssache.

      1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @Berges01 last edited by

        @berges01 sagte in Name aus Fritz Telefonbuch auslesen:

        Mir geht es nicht darum das genau zu machen, sondern im Prinzip wie mache ich das in Blockly.
        Nach meinen vielen Versuchen hätte ich gerne mal ein Beispiel.

        Nichts einfacher als das:

        2a65ff2d-ab72-45ea-87b0-872d5c09d12a-grafik.png
        Das setzt voraus, dass Du einen eigenen DP in 0_userdata.0 hast, in den der Name des Anrufers geschrieben wird.
        Wenn es klingelt, wird der Name in den DP geschrieben. Wurde abgehoben, wird der Name im eigenen DP wieder gelöscht.

        Mit Jarvis habe ich mich noch nie beschäftigt. Sooooo kompliziert ist Vis (1) ja nun auch nicht. Dafür aber vermutlich wesentlich flexibler.

        Sieht dann so aus:

        dc0453c3-adb7-42dd-9068-e9e1e8774e2b-grafik.png

        1 Reply Last reply Reply Quote 0
        • Meister Mopper
          Meister Mopper @Berges01 last edited by

          @berges01 sagte in Name aus Fritz Telefonbuch auslesen:

          Mir geht es nicht darum das genau zu machen, sondern im Prinzip wie mache ich das in Blockly.
          Nach meinen vielen Versuchen hätte ich gerne mal ein Beispiel.

          Hier ein Beispiel für Anrufe mit bekannten Anrufern und unbekannten sowie für die Unterscheidung, welche der Telefonnummern angerufen wird:

          8b697e2e-b9bb-4159-b997-1e2e82580a3b-grafik.png

          Berges01 1 Reply Last reply Reply Quote 0
          • Berges01
            Berges01 @Meister Mopper last edited by

            Dankeschön an Alle !
            So ähnlich habe ich das dann auch gemacht.

            Was Vis und Jarvis betrifft ist das hier der Falsche Teil.

            Was ich gerne gehabt hätte, währe anhand der Telefonnummern aus dem Fritz Telefonbuch den Namen rausbekommen.
            Mir fehlt es da an einer Lösung wie man aus einem JSON String anhand eines Schlüssels was rausbekommt key mit der Tel.Nr und name mit dem Namen des Teilnehmers.
            Wie ich im Anfang geschrieben habe.
            Das Problem mit der Nummer und dem Namen habe ich wie Ihr angegeben habt gelöst.

            Meister Mopper M 2 Replies Last reply Reply Quote 0
            • Meister Mopper
              Meister Mopper @Berges01 last edited by

              @berges01 sagte in Name aus Fritz Telefonbuch auslesen:

              Was ich gerne gehabt hätte, währe anhand der Telefonnummern aus dem Fritz Telefonbuch den Namen rausbekommen.

              Joah, genau das habe ich gezeigt.

              1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active last edited by

                @berges01 sagte in Name aus Fritz Telefonbuch auslesen:

                Was ich gerne gehabt hätte, währe anhand der Telefonnummern aus dem Fritz Telefonbuch den Namen rausbekommen

                Das macht doch der Adapter für Dich.
                An das Telefonbuch als solches kommst Du gar nicht ran.

                1 Reply Last reply Reply Quote 0
                • M
                  MCU @Berges01 last edited by

                  @berges01 Auslesen vom Telefonbuch mit tr-064-Command

                  tr-064.0.states.command
                  

                  mit den Einträgen

                  /* GetPhonebookList -> Index Phonebooks */
                  
                  {
                    "service": "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
                    "action": "GetPhonebookList",
                    "params": {}
                  }
                  
                  /* GetPhonebook mit Indexzahl */
                  {
                    "service": "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
                    "action": "GetPhonebook",
                    "params": {
                      "NewPhonebookID": 0
                    }
                  }
                  
                  /* GetPhonebookEntry PhonebookID + EntryID */
                  
                  {
                    "service": "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
                    "action": "GetPhonebookEntry",
                    "params": {
                      "NewPhonebookID": 0,
                      "NewPhonebookEntryID": 0
                    }
                  }
                  
                  /* GetPhonebookEntryUID */
                  {
                    "service": "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
                    "action": "GetPhonebookEntryUID",
                    "params": {
                      "NewPhonebookID": 1,
                      "NewPhonebookEntryUniqueID": 86
                    }
                  }
                  {
                    "service": "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
                    "action": "GetPhonebookEntryUID",
                    "params": {
                      "NewPhonebookID": 1,
                      "NewPhonebookEntryUniqueID": 80
                    }
                  }
                  
                  mickym 1 Reply Last reply Reply Quote 1
                  • mickym
                    mickym Most Active @MCU last edited by mickym

                    @Berges01 Das braucht es alles nicht. Wenn man im tr-64 Adapter callist anklickt und zum Beispiel JSON anklickst, dann bekommst Du eine Liste mit Objekten, die Du auslesen kannst.

                    Jedes Attribut - zum Beispiel Name und Telefonnummer kannst Du dann einfach herauslösen:

                    647e0b35-58c8-43a2-974b-c4a33ad9412c-image.png

                    Als erstes habe ich Dir das ganze Objekt ausgegeben, damit Du siehst welche Attribute es hat und wie Du diese ansprichst.

                    Hier zum Import:

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="{B?4WnzzCo5JsACboJQn">Anruf</variable>
                     </variables>
                     <block type="on" id="poc-7nrzpt:^p}gYpD.t" x="-362" y="-237">
                       <field name="OID">tr-064.0.calllists.all.json</field>
                       <field name="CONDITION">any</field>
                       <field name="ACK_CONDITION"></field>
                       <statement name="STATEMENT">
                         <block type="controls_forEach" id="YeU71y0i@e)_JKP8e5vQ">
                           <field name="VAR" id="{B?4WnzzCo5JsACboJQn">Anruf</field>
                           <value name="LIST">
                             <block type="convert_json2object" id="6bliXI#xrQvCa?[_H)Mj">
                               <value name="VALUE">
                                 <block type="on_source" id="V~CZr6n/@2([wZ?@Aq%p">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO">
                             <block type="debug" id="HQGQM1Bap-C;~KLf7AxB">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="UW_(avGtkke65|GH?l:d">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="5*Vn9U[cn!~!y`),Mp4G">
                                   <field name="VAR" id="{B?4WnzzCo5JsACboJQn">Anruf</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="+p=e([FCe~kDr(++e|_k">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="SL9woaT7sk2ec}X5}2KC">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="get_attr" id="%tbEtblI;{AK3qOhUAOH">
                                       <value name="PATH">
                                         <shadow type="text" id="UPtdupZ)B4Xs)U{.j3eZ">
                                           <field name="TEXT">name</field>
                                         </shadow>
                                       </value>
                                       <value name="OBJECT">
                                         <shadow type="get_object" id="_N|BYV3Dpk3V0;TanGxk">
                                           <field name="OID">Object ID</field>
                                         </shadow>
                                         <block type="variables_get" id="WxP|vo4(+aK_2D;F3ZOR">
                                           <field name="VAR" id="{B?4WnzzCo5JsACboJQn">Anruf</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="OuF~U0Ldn+rXQP7[v{hE">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="SL9woaT7sk2ec}X5}2KC">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="get_attr" id="Xs-Ro%ej2U;!8S`k)D^h">
                                           <value name="PATH">
                                             <shadow type="text" id="(O^Wv=Y!k{^U%t60/cdm">
                                               <field name="TEXT">caller</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <shadow type="get_object" id="_N|BYV3Dpk3V0;TanGxk">
                                               <field name="OID">Object ID</field>
                                             </shadow>
                                             <block type="variables_get" id="Yb*rMxR~w_I,~5Hz%#P7">
                                               <field name="VAR" id="{B?4WnzzCo5JsACboJQn">Anruf</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    Die calllisten findest Du als JSON im tr-064 Adapter.

                    b682d8cf-1a00-4aba-839b-ca93cb9aaf42-image.png

                    Du musst also nicht selbst die Namen aus dem Telefonbuch suchen, sondern die werden automatisch gesucht und in die Anruflisten gesetzt.
                    Du musst im Adapter halt anhaken, welche Listen du haben möchtest:

                    ebf66ea1-e09f-40bd-9b6c-e6642d54a906-image.png

                    Da sind dann auch andere Daten, wie Gesprächsdauer, wann angerufen usw. enthalten.

                    Wichtig ist halt, dass du anhakst, was Du haben willst, sonst bleiben die Datenpunkte natürlich leer.

                    Berges01 1 Reply Last reply Reply Quote 0
                    • Berges01
                      Berges01 @mickym last edited by Berges01

                      @mickym

                      Ich merke schon ich habe mich falsch ausgedrückt! (SORRY)
                      Die Lösung habe ich!!!! (Dank Euch!)

                      Was ich suche ist, wie müsste man es machen um aus dem Telefonbuch oder aus einer vergleichbaren Liste, mithilfe eines Blockly und eines bekannten key den value z.B"name" auszulesen.

                      PS ich habe es DANKE !
                      14261ee6-c861-4fcc-9cab-0a487513eaef-image.png

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Berges01 last edited by mickym

                        @berges01 Verstehe es zwar nicht - weil Du hast alles in den Listen, da braucht man das Telefonbuch nicht auslesen. In den Anruflisten wird automatisch der Name, Telefonnr und nach 10 andere Werte eingetragen. Deswegen finde ich das Auslesen des Telefonbuchs unnötig, aber egal Du hast eine Lösung und ich bin damit raus.

                        Codierknecht 1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @mickym last edited by

                          @mickym
                          Ich versteh's auch nicht 🤔

                          @Berges01
                          In tr-064.0.callmonitor.inbound.callerName steht bei einem eingehenden Anruf der Name des Anrufers (aus dem Telefonbuch - soweit vorhanden). In tr-064.0.callmonitor.inbound.caller steht die Rufnummer.

                          Bei ausgehenden Rufen geht das analog über outbound und callee.

                          Dein Script "sucht" nicht den Namen zu einem bestimmten Key, sondern produziert lediglich eine Liste.
                          Wozu das gut sein soll erschließt sich mir nicht.

                          Aber egal: Hauptsache es funzt für Dich und Du bist zufrieden.
                          Ich bin dann auch raus.

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Codierknecht last edited by mickym

                            @codierknecht Ja und habe es gerade getestet - auch wenn die Calllisten erst beim Beenden erstellt werden - aber wie Du sagst im inbound kommt SOFORT im JSON der Name und die Nummer des Anrufers in Echtzeit ohne dass man was nachschlagen muss - also bereits beim Klingeln ohne das jemand abgehoben hat.

                            8c87cd9d-9072-4ff8-9dbd-2db84af25e9c-image.png

                            Da muss NICHTS im Telefonbuch gesucht werden - das ist alles automatisch eingetragen.

                            6ee1be38-527f-49de-a41b-1284f153ed7b-image.png

                            Codierknecht 1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @mickym last edited by

                              @mickym sagte in Name aus Fritz Telefonbuch auslesen:

                              im inbound kommt SOFORT im JSON der Name und die Nummer des Anrufers in Echtzeit ohne dass man was nachschlagen muss - also bereits beim Klingeln ohne das jemand abgehoben hat

                              Genau so lasse ich mir das in meiner Vis anzeigen 😉

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              988
                              Online

                              31.9k
                              Users

                              80.3k
                              Topics

                              1.3m
                              Posts

                              6
                              24
                              761
                              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