NEWS
TR-064 falsche Anrufer Anzeige [gelöst]
-
Meine Konfiguration ist eine FritzBox 7490, ioBroker auf Raspi-Basis und TR-064 Adapter V3.4.0.
Bei einem Anruf wollte ich mir den Namen und die Nummer des Anrufers anzeigen lassen.
Allerdings erscheinen immer falsche Nummern/Namen.
Daraufhin habe ich diverse Testanrufe gemacht, kann aber kein bestimmtes Muster erkennen. Es kommen irgendwie die letzten Nummern/Namen oder noch ältere.
Also habe ich ein paar Testausgaben ein Blockly eingefügt und den Debug Modus aktiviert.
Dann habe ich von der Nummer xxxx945 die Nummer xxxx408 angerufen.
Die FritzBox selber schickt mir eine Email: Anruf von xxxx945 an xxxx408 (richtig)
In den Debug Ausgaben sind die Rufnummern richtig, nur in den Testausgaben von Blockly sind die Nummern falsch (Zeilen mit "Info")debug: tr-064.0 (349569) Callmonitor Raw: 06.10.24 15:50:15;RING;0;xxxx945;xxxx408;SIP5; debug: tr-064.0 (349569) New Call data inbound: {"caller":"xxxx945","callee":"xxxx408","timestamp":"06.10.24 15:50:15","id":0} debug: tr-064.0 (349569) Search number 0049xxxx945 in phonebook: {"name":"Name945","normalizedName":"name_945","number":"0049xxxx945","id":"96","phonebookId":"0"} debug: tr-064.0 (349569) Search number 0049xxxx408 in phonebook: {"name":"Name408","normalizedName":"name_408","number":"0049xxxx408","id":"88","phonebookId":"0"} debug: tr-064.0 (349569) callMonitor.set: type=inbound caller=xxxx945 callee=xxxx408 callerName=Name945 calleeName=Name408 debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.ringing = {"val":true,"ack":true,"ts":1728222615899,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615899} debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.inbound.caller = {"val":"xxxx945","ack":true,"ts":1728222615900,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615900} debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.inbound.callee = {"val":"xxxx408","ack":true,"ts":1728222615900,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615900} debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.inbound.timestamp = {"val":"06.10.24 15:50:15","ack":true,"ts":1728222615902,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615902} debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.inbound.id = {"val":0,"ack":true,"ts":1728222615902,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615902} *****bis hier hin sind die Nummern richtig***** info: javascript.0 (2478949) script.js.Allgemein.Telefonanruf: {"caller":"xxxx187","callee":"xxxx395","timestamp":"06.10.24 14:53:51","id":2,"_type":"inbound","callerName":"Name187","calleeName":"Name395"} info: javascript.0 (2478949) script.js.Allgemein.Telefonanruf: 1.caller:xxxx187 callerName:Name187 callee:xxxx395 calleeName:Name395 info: javascript.0 (2478949) script.js.Allgemein.Telefonanruf: 2.caller:xxxx945 callerName:Name187 callee:xxxx408 calleeName:Name395 debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.inbound.callerName = {"val":"Name945","ack":true,"ts":1728222615906,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615906} debug: tr-064.0 (349569) State changed: tr-064.0.callmonitor.inbound.calleeName = {"val":"Name408","ack":true,"ts":1728222615914,"q":0,"from":"system.adapter.tr-064.0","user":"system.user.admin","lc":1728222615914}
hier meinen Blockly Routine:
Bei Suchen im Internet habe ich immer nur ältere Artikel gefunden die sich auf die Version 2 o.ä. bezogen.
Im TR-064 Adapter habe ich aktiviert: Anrufmonitor, Verbundene Geräte überwachen, Telefonbuch, Rufweiterleitungsoptionen, JSO Geräteliste erstellen.
Datenabfrage Intervall: 10 Sek
Im Tab Anruflisten habe ich alle Haken gesetzt.Warum sind die Nummern in den Datenpunkte bei "Inbound" falsch bzw oft so wie die Anrufe zuvor?
Was muss ich tun, damit ich die richtigen Anrufer angezeigt bekomme? -
@martinsu dann wird wohl etwas nicht aktualisiert, probier es mal so
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="|Ki#U=;*CZRBgsP2*B!5">anrufer</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on_ext" id="F9~zeBRs6tz5q:Ht93Or" x="563" y="-287"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="/[_;+hh=i|q~/Y`N=1^y"> <field name="oid">tr-064.0.callmonitor.inbound.json</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="gOjGu;[.TT0$9D68QdX{"> <field name="VAR" id="|Ki#U=;*CZRBgsP2*B!5">anrufer</field> <value name="VALUE"> <block type="get_attr" id="{%Z/8moDZd_rtoH:B-!Y"> <value name="PATH"> <shadow type="text" id="iNhHtrmgEX}gzy}ga%(G"> <field name="TEXT">callerName</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="E(uM{8_#tE~SxF/Kz6]g"> <value name="VALUE"> <block type="on_source" id="dhc~79Vb[jQEZnv:q`OF"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="3%qt2$0iasqj*_stH1I#"> <value name="IF0"> <block type="logic_compare" id="9idq@6=`#bIJ]eNA!S4F"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="eXgqKjErQ}c}P[_1lK(("> <field name="VAR" id="|Ki#U=;*CZRBgsP2*B!5">anrufer</field> </block> </value> <value name="B"> <block type="text" id="R=DtAtOdm$#jmH0HE`}@"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="Jz*YmVC)#=;r0+PP{g|v"> <field name="VAR" id="|Ki#U=;*CZRBgsP2*B!5">anrufer</field> <value name="VALUE"> <block type="text" id="PU9|/E,*{`[]@j.J1-Mj"> <field name="TEXT">einer unbekannten Nummer</field> </block> </value> <next> <block type="control" id="c~9;G(V$qJ![VFcQ%$$U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sayit.0.tts.text</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="Q9,yCef`[V:avNmyQ8u^"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="Q~Y^0O5nSq!)HrP+3`)m"> <field name="TEXT">Eingehender Anruf von </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="lgmss1E,)+w|aR]aS_J_"> <field name="VAR" id="|Ki#U=;*CZRBgsP2*B!5">anrufer</field> </block> </value> <value name="ADD2"> <block type="text" id="-1Ap2`~q40%J+XjrkM[3"> <field name="TEXT">.</field> </block> </value> </block> </value> <next> <block type="sayit" id="3s^4u:-w|%|AwWtHLtb+" disabled="true"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="U1`E%Rrs7o#H#fGwSo{d"> <field name="TEXT">text</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="on" id="ql|3q%0E0ALBVVmjsv6g" disabled="true" x="13" y="13"> <field name="OID">tr-064.0.callmonitor.ringing</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="2tNqcehM];973yK0H1Jj"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="xUKT(iq{yleLH-6Y(VTJ"> <field name="NAME">timeout</field> <field name="DELAY">2000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id=",/MV8}?Gp@T1:a[!tU{J"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_operation" id="H{(mVQNU$V[g@S,,CX}f" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="on_source" id="-Zm]Z?kUCrM{D0)q2}EB"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_compare" id="BsXO9:Xeg4PhXWFdS[Dk"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="cIy==iAwEliUsdg}ZRU|"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.callerName</field> </block> </value> <value name="B"> <block type="text" id="g!V{`*[bk{XE~[qy6_xA"> <field name="TEXT"></field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="[=/HX!L+=3fu$y_[qiqB"> <field name="COMMENT">Anrufer Ansage mit bekanntem Anrufer</field> <next> <block type="sayit" id="?N@%hJYu,y=UN~ZPeiBn"> <field name="INSTANCE">.0</field> <field name="LANGUAGE">de-DE_AP_Male</field> <field name="LOG"></field> <value name="VOLUME"> <block type="math_number" id=".hg/%uzm9FkChRR{cy={"> <field name="NUM">70</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id="JzTe**z{$Hl8g0m+s[^D"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="Q)pCn46h]D1l;rAf84gt"> <mutation items="2"></mutation> <value name="ADD0"> <block type="get_value" id="#])ZFsY3y6W6H:VmwJs^"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.callerName</field> </block> </value> <value name="ADD1"> <block type="text" id=",O?9Zy|73CPiIaBIUX|_"> <field name="TEXT"> ruft gerade an.</field> </block> </value> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="*o8NXq}oW41_,/Nc8%46" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="on_source" id="eG(P)d)El~2E^PT;lRd]"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_operation" id="J.R+Xsgr~+ah.`EGYFdu" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="8ks3d+w0DAIzt/wK.F`{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="0A2WuG]GnL{6Mc|go~8`"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.callerName</field> </block> </value> <value name="B"> <block type="text" id="KDn;eZBi`LvMmA/,Fx[c"> <field name="TEXT"></field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="d0o(rcB9ng(Prr=.wBW["> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="gH4~=)=9f3%gC7HUh*PI"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.caller</field> </block> </value> <value name="B"> <block type="text" id="yOS(z:`8u#^4Anops~;("> <field name="TEXT"></field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="4A~ZfR}Fp=Ay;}T~ax`}"> <field name="COMMENT">Anrufer mit Rufnummer ohne Namen</field> <next> <block type="sayit" id="lXF|N]3aO$1IHXOkeX)u"> <field name="INSTANCE">.0</field> <field name="LANGUAGE">de-DE_AP_Male</field> <field name="LOG"></field> <value name="VOLUME"> <block type="math_number" id="/Ut*tY?Ihs~OQaJTqFfa"> <field name="NUM">70</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id="MZ^!{Q5iGMyx{gHIqRS="> <field name="TEXT">text</field> </shadow> <block type="text_join" id="3qncvu9E7s0v}%TRQk_8"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="U.FAdMLLN;bOKAjp4Eqy"> <field name="TEXT">Anruf von der Rufnummer </field> </block> </value> <value name="ADD1"> <block type="get_value" id="q^h0$2xdAiq/Tdo-4#;9"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.caller</field> </block> </value> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_operation" id="y=^F]+;C__Qmj/3+^BMn" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="on_source" id="Sb+*ERQ`H@un5)0MOMGn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_operation" id="_!J+RX/)Y:-6tdGdq4?K" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="J6/KoNvGtBoe0idNEHru"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="|nTh)(hv(e9Rh%^SdjBo"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.callerName</field> </block> </value> <value name="B"> <block type="text" id="p{]?Q-T7DYYMe)d4BV;,"> <field name="TEXT"></field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="l;a:#D@#.6a=C.e)~=mp"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="4G^[r@!Uq=f2VNu_=agY"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.inbound.caller</field> </block> </value> <value name="B"> <block type="text" id="mn?cm6tML@q)S:cVGivW"> <field name="TEXT"></field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id="E~cmfAg;NW@?IiRW~Fcl"> <field name="COMMENT">Anrufer mit unbekannter Rufnummer</field> <next> <block type="sayit" id="$u[VqPtlc,iVu{P^wJ*H"> <field name="INSTANCE">.0</field> <field name="LANGUAGE">de-DE_AP_Male</field> <field name="LOG"></field> <value name="VOLUME"> <block type="math_number" id="b9O?!n9v!PHWwWX$Eo_$"> <field name="NUM">70</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id="Z@)6M^~|e-cu4K5S47WC"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="_O%;h#bd6%AySW+J8Ad/"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="8x6XX/+)F72Ep%2j$S$y"> <field name="TEXT">Ein Unbekannter ruft an.</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
@crunchip
Ich hatte bei dem Falls Objekte auf den tr-064.0.callmonitor.inbound.timestamp getriggert.
Aber es macht natürlich Sinn auf die Aktualisierung des json zu triggern, besonders weil man mit dem Übergabewert die frischen Werte von Anrufer und Angerufenen erhält.
Ich vermute, dass bei mir die tr-064.0.callmonitor.inbound.callee/calleeName/caller/callerName noch nicht schnell genug aktualisiert wurden.
Wenn ich jetzt die Werte aus dem übergebenen json auslese, stimmen die Namen und Nummern des Anrufers und des Angerufenen.
Danke
Komischerweise stimmen jetzt auch immer die Werte für tr-064.0.callmonitor.inbound.callee/calleeName/caller/callerName. Wurden die jetzt automatisch mit aktualisiert?
Nur etwas verstehe ich nicht, warum Du den JSON nach Objekt einfügst?
Ich sehe das gleiche Ergebnis für
-
@martinsu sagte in TR-064 falsche Anrufer Anzeige [gelöst]:
Nur etwas verstehe ich nicht, warum Du den JSON nach Objekt einfügst?
Weils trigger Objekt ein json ist. Hatte es mal so aus dem Forum.