NEWS
FritzBox Anrufmonitor mit Alexa
-
Hallo zusammen,
ich habe folgendes vor:
Alexa soll einen eingehenden Anruf auf der FritzBox ansagen.
Das funktioniert im Prinzip auch.
Aber wie kann ich prüfen, ob ein Anrufername gefunden wird oder nicht?
Habe das jetzt in Node-Red so:
! https://abload.de/image.php?img=fritzboxz4duo.png ~~Das finale Ausgeben via Alexa ist kein Problem.
Aber wie frage ich ab in welchem Array der Anrufername drinsteht (wenn es einen gibt)?
Der Index des Arrays ist auch nicht immer gleich. War zuerst 0, dann 1 beim Testen.
Also ich möchte Quasi wenn es einen Telefonbucheintrag in der FritzBox gibt, diesen ausgeben lassen und wenn es keinen gibt nur die Nummer.
Hoffe das ist halbwegs verständlich ausgedrückt.
Danke euch.
LG Alex~~
-
Ist es nicht einfacher den TR0.64 Adapter und Blockly zu nutzen?
Gibt doch ein Objekt in dem der Anrufername steht wenn einer anruft.
-
Hallo Wendy und vielen Dank für deine Antwort.
Das kann schon sein, dass es mit Blockly und dem TR0.64 Adapter einfacher wäre.
Ich habe aber mittlerweile alles auf Node-Red laufen und möchte damit auch noch mehr Erfahrungen sammeln.
Daher würde ich das Ganze gerne in Node-Red abbilden und laufen lassen.
LG Alex
-
Dann habe ich nichts gesagt :mrgreen:
-
So vielleicht?
! ````
[
{
"id": "fd13fd3c.16996",
"type": "ioBroker in",
"z": "e623b6a3.561b78",
"name": "Ringing",
"topic": "tr-064.0.callmonitor.ringing",
"payloadType": "value",
"onlyack": "",
"func": "all",
"gap": "",
"x": 140,
"y": 180,
"wires": [
[
"c2cee8ea.b2dbe"
]
]
},
{
"id": "c2cee8ea.b2dbe",
"type": "delay",
"z": "e623b6a3.561b78",
"name": "",
"pauseType": "delay",
"timeout": "1",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 280,
"y": 180,
"wires": [
[
"72e39a37.37dafc"
]
]
},
{
"id": "72e39a37.37dafc",
"type": "ioBroker get",
"z": "e623b6a3.561b78",
"name": "callerName",
"topic": "tr-064.0.callmonitor.inbound.callerName",
"attrname": "payload",
"payloadType": "value",
"x": 450,
"y": 180,
"wires": [
[
"e01eb3e1.501308"
]
]
},
{
"id": "fe446ec3.474d1",
"type": "debug",
"z": "e623b6a3.561b78",
"name": "kein Name",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"x": 810,
"y": 140,
"wires": []
},
{
"id": "e01eb3e1.501308",
"type": "switch",
"z": "e623b6a3.561b78",
"name": "test caller",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "",
"vt": "str"
},
{
"t": "neq",
"v": "",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 630,
"y": 180,
"wires": [
[
"fe446ec3.474d1"
],
[
"c81aec48.51142"
]
],
"outputLabels": [
"kein Name",
"Name"
]
},
{
"id": "c81aec48.51142",
"type": "debug",
"z": "e623b6a3.561b78",
"name": "Name",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"x": 790,
"y": 200,
"wires": []
}
]Ich hatte das mal in NR angefangen, habe dann aber in JS realisiert, da ging's mir schneller von der Hand;-)