@Maik-Krause
Hi Maik, ja geht, ist aber ein bisschen Arbeit und ne Lösung kann ich Dir nicht geben, da ich mich bisher noch nicht mit JSON auseinandergesetzt habe. Habe ich in einem ioBroker Online Kurs gelernt bzw. gehört.
Vom Prinzip denkst Du wahrscheinlich an den Datenpunkt tr-064.0.calllists.inbound. In dem taucht ein Wert mit Namen "Caller" auf.
Jetzt musst Du in inbound den JSON Wert in eine Variable packen, das ist ja eine Liste mit vielen JSON Objekten. Wahrscheinlich interessiert Dich dann immer der erste Eintrag, der ungefähr so aussieht:
[
{
"id": 2336,
"type": "1",
"caller": "NUMMER DES ANRUFERS",
"called": "SIP: 0x0xyyyyyyyyy",
"callednumber": "0x0xyyyyyyyyy",
"name": "Unbekannt",
"numbertype": "sip",
"device": "fritzfon",
"port": "11",
"date": "14.05.20 14:14",
"duration": "0:21",
"count": "",
"path": "",
"sym": ">",
"external": ""
},
Wobei ich mich gerade frage, wann der geschrieben wird. Kann ja sein, dass der erst nach dem Anrufversuch geschrieben wird, dann geht das alles eher gar nicht. Aber da hast Du ja mit Deinem Skript mehr Erfahrung 😉
Du kannst dann also das erste Listenelement in Blockly (unter den Listen Bausteinen) in eine neue Variable packen und mit Konvertierung in ein JSON Objekt konvertieren. Ab da kannst Du unter Blockly - Konvertierung mit
Bildschirmfoto 2020-05-18 um 11.52.08.png
auf einzelne Werte des JSON Objektes zugreifen. Hinter dem "anwenden auf" musst Du dann die zweite Variable einsetzen und statt dem "*" kommt das sowas wie "caller" rein. Damit solltest Du dann den Eintrag (Wert) hinter caller bekommen (glaube ich).
Tja, dann hättest Du schonmal die Nummer, sofern übertragen, und kannst diese dann mit Text Bausteinen vergleichen wie Du es benötigst.
Ich weiß ist nicht gerade mega detailliert, aber wie gesagt, habe ich selber noch nie programmiert.
Ich hoffe es hilft ein wenig und bringt Dich zumindest einen Schritt weiter 🙂