Skip to content

Instantly share code, notes, and snippets.

@unixweb
Last active March 28, 2018 23:16
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save unixweb/20bce0c7d85afd72ba1d6f691923a7cb to your computer and use it in GitHub Desktop.
Save unixweb/20bce0c7d85afd72ba1d6f691923a7cb to your computer and use it in GitHub Desktop.
FritzBox Call Monitor with Web Push Notification
[
{
"id": "5201f39c.5bf36c",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Click to Test",
"topic": "Test Caller",
"payload": "{\"type\":\"INBOUND\",\"id\":\"0\",\"timestamp\":\"21.11.17 10:15:45\",\"caller\":\"0151123456789\",\"callee\":\"89898989\"}",
"payloadType": "json",
"repeat": "",
"crontab": "",
"once": false,
"x": 142,
"y": 137,
"wires": [
[
"c5b5261d.a64a18",
"ad17546d.5178b8",
"9e42d172.49c8d",
"d7949b98.8d8dc8"
]
]
},
{
"id": "c5b5261d.a64a18",
"type": "function",
"z": "bce2c081.53f4e",
"name": "Chrome MAC",
"func": "if (msg.payload.type !== 'INBOUND') return;\nreturn {\n payload: '\"AK=XXXX&AT=SomeToken&C=channel-XXXXXX&M=12345678_1-1_Anruf \"' + msg.payload.caller\n};",
"outputs": 1,
"noerr": 0,
"x": 364,
"y": 212,
"wires": [
[
"87255959.2af518",
"7e525421.21728c",
"3ffd6961.f47a86"
]
]
},
{
"id": "ad17546d.5178b8",
"type": "function",
"z": "bce2c081.53f4e",
"name": "Smartphone S8",
"func": "if (msg.payload.type !== 'INBOUND') return;\nreturn {\n payload: '\"AK=XXXX&AT=SomeToken&C=channel-XXXXXX&M=12345678_1-1_Anruf \"' + msg.payload.caller\n};",
"outputs": 1,
"noerr": 0,
"x": 359,
"y": 321,
"wires": [
[
"d9d74903.ad1be8"
]
]
},
{
"id": "9e42d172.49c8d",
"type": "function",
"z": "bce2c081.53f4e",
"name": "Windows 10",
"func": "if (msg.payload.type !== 'INBOUND') return;\nreturn {\n payload: '\"AK=XXXX&AT=SomeToken&C=channel-XXXXXX&M=12345678_1-1_Anruf \"' + msg.payload.caller\n};",
"outputs": 1,
"noerr": 0,
"x": 356,
"y": 374,
"wires": [
[
"dbf2433e.d91bf"
]
]
},
{
"id": "d7949b98.8d8dc8",
"type": "function",
"z": "bce2c081.53f4e",
"name": "Firefox MAC",
"func": "if (msg.payload.type !== 'INBOUND') return;\nreturn {\n payload: '\"AK=XXXX&AT=SomeToken&C=channel-XXXXXX&M=12345678_1-1_Anruf \"' + msg.payload.caller\n};",
"outputs": 1,
"noerr": 0,
"x": 352,
"y": 263,
"wires": [
[
"f8cf4017.ba52a",
"3ffd6961.f47a86"
]
]
},
{
"id": "87255959.2af518",
"type": "debug",
"z": "bce2c081.53f4e",
"name": "",
"active": false,
"console": "false",
"complete": "false",
"x": 574,
"y": 114,
"wires": []
},
{
"id": "7e525421.21728c",
"type": "and-gate",
"z": "bce2c081.53f4e",
"name": "",
"rules": [
{
"t": "eq",
"v": "CHROME",
"vt": "str",
"propertyType": "flow",
"property": "payload"
}
],
"outputTopic": "",
"gateType": "and",
"emitOnlyIfTrue": true,
"x": 557,
"y": 213,
"wires": [
[
"6c31f5a8.e5d53c"
]
]
},
{
"id": "3ffd6961.f47a86",
"type": "and-gate",
"z": "bce2c081.53f4e",
"name": "Chrome + Firefox",
"rules": [
{
"t": "regex",
"v": "CHROME",
"vt": "str",
"case": false,
"propertyType": "flow",
"property": "payload"
},
{
"t": "regex",
"v": "FIREFOX",
"vt": "str",
"case": false,
"propertyType": "flow",
"property": "payload"
}
],
"outputTopic": "",
"gateType": "and",
"emitOnlyIfTrue": true,
"x": 592,
"y": 164,
"wires": [
[
"6c31f5a8.e5d53c"
]
]
},
{
"id": "a15b693f.5fa488",
"type": "fritzbox-callmonitor",
"z": "bce2c081.53f4e",
"device": "226d6f30.6449e",
"name": "Anruf",
"topic": "Anrufe",
"x": 88,
"y": 211,
"wires": [
[
"c5b5261d.a64a18",
"ad17546d.5178b8",
"9e42d172.49c8d"
]
]
},
{
"id": "d9d74903.ad1be8",
"type": "and-gate",
"z": "bce2c081.53f4e",
"name": "",
"rules": [
{
"t": "regex",
"v": "S8",
"vt": "str",
"case": false,
"propertyType": "flow",
"property": "payload"
}
],
"outputTopic": "",
"gateType": "and",
"emitOnlyIfTrue": true,
"x": 557,
"y": 321,
"wires": [
[
"6c31f5a8.e5d53c"
]
]
},
{
"id": "dbf2433e.d91bf",
"type": "and-gate",
"z": "bce2c081.53f4e",
"name": "",
"rules": [
{
"t": "regex",
"v": "WIN10",
"vt": "str",
"case": false,
"propertyType": "flow",
"property": "payload"
}
],
"outputTopic": "",
"gateType": "and",
"emitOnlyIfTrue": true,
"x": 549,
"y": 375,
"wires": [
[
"6c31f5a8.e5d53c"
]
]
},
{
"id": "f8cf4017.ba52a",
"type": "and-gate",
"z": "bce2c081.53f4e",
"name": "",
"rules": [
{
"t": "eq",
"v": "FIREFOX",
"vt": "str",
"propertyType": "flow",
"property": "payload"
}
],
"outputTopic": "",
"gateType": "and",
"emitOnlyIfTrue": true,
"x": 554,
"y": 263,
"wires": [
[
"6c31f5a8.e5d53c"
]
]
},
{
"id": "6c31f5a8.e5d53c",
"type": "exec",
"z": "bce2c081.53f4e",
"command": "/usr/bin/curl http://ortc-developers-useast1-s0001.realtime.co/send -d ",
"addpay": true,
"append": "",
"useSpawn": "false",
"timer": "",
"oldrc": false,
"name": "Caller",
"x": 810,
"y": 266,
"wires": [
[
"6152ae29.41f19"
],
[],
[]
]
},
{
"id": "6152ae29.41f19",
"type": "debug",
"z": "bce2c081.53f4e",
"name": "",
"active": true,
"console": "false",
"complete": "false",
"x": 991,
"y": 253,
"wires": []
},
{
"id": "1cfb9b3e.0abe85",
"type": "comment",
"z": "bce2c081.53f4e",
"name": "Anrufmonitor für Fritzbox",
"info": "Dieser Monitor kann eine Web Push Notification \nan einen beliebigen Browser oder SmartPhone senden.\n\n\n1.) git clone https://github.com/realtime-framework/WebPushNotifications.git\n\n2.) https://accounts.realtime.co/signup/\n\n3.) http://messaging-public.realtime.co/documentation/starting-guide/mobilePushGCM.html\n\n4.) https://console.firebase.google.com/\n\n5.) Fritzbox Aktivierung Callmonitor ```#96*5*```\n\nIn den Nodes \"Function\" müssen die Werte von **AK** und **Channel** durch eigene Werte ersetzt werden.\n\n** Viel Spaß wünscht Joachim Hummel**",
"x": 320,
"y": 85,
"wires": []
},
{
"id": "c133b021.92bab",
"type": "comment",
"z": "bce2c081.53f4e",
"name": "Umschaltung der Geräte",
"info": "Geräte Liste :\n\n- Google Chrome und Firefox\n- Firefox\n- Google Chrome\n- SmartPhone S8\n- Windows 10 mit Google Chrome\n- Ausschalten ",
"x": 194,
"y": 456,
"wires": []
},
{
"id": "bcd6c007.fde7b",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Set flow.payload ...",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"x": 159,
"y": 521,
"wires": [
[
"b82a5dfc.7a9b"
]
]
},
{
"id": "c4fb92b4.74fc4",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Set flow.payload ...",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"x": 156,
"y": 566,
"wires": [
[
"87edfa59.ada348"
]
]
},
{
"id": "56eedca2.d07b74",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Set flow.payload ...",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"x": 165,
"y": 618,
"wires": [
[
"b24e35d9.593de8"
]
]
},
{
"id": "87138ea.29aa47",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Set flow.payload ...",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"x": 159,
"y": 664,
"wires": [
[
"3699afdf.e5439"
]
]
},
{
"id": "b677118b.31934",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Set flow.payload ...",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"x": 159,
"y": 715,
"wires": [
[
"76742d4.4bf79d4"
]
]
},
{
"id": "72f5bf55.121ba",
"type": "inject",
"z": "bce2c081.53f4e",
"name": "Set flow.payload ...",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"x": 160,
"y": 766,
"wires": [
[
"a0acf29f.4d5b"
]
]
},
{
"id": "b82a5dfc.7a9b",
"type": "change",
"z": "bce2c081.53f4e",
"name": "... to \"Firefox + Chrome MAC\"",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "flow",
"to": "FIREFOX CHROME",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 466,
"y": 521,
"wires": [
[]
]
},
{
"id": "87edfa59.ada348",
"type": "change",
"z": "bce2c081.53f4e",
"name": "... to \"Firefox MAC\"",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "flow",
"to": "FIREFOX",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 425,
"y": 565,
"wires": [
[]
]
},
{
"id": "b24e35d9.593de8",
"type": "change",
"z": "bce2c081.53f4e",
"name": "... to \"Chrome MAC\"",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "flow",
"to": "CHROME",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 437,
"y": 617,
"wires": [
[]
]
},
{
"id": "3699afdf.e5439",
"type": "change",
"z": "bce2c081.53f4e",
"name": "... to \"SmartPhone S8\"",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "flow",
"to": "S8",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 441,
"y": 663,
"wires": [
[]
]
},
{
"id": "76742d4.4bf79d4",
"type": "change",
"z": "bce2c081.53f4e",
"name": "... to \"Windows 10\"",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "flow",
"to": "WIN10",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 438,
"y": 717,
"wires": [
[]
]
},
{
"id": "a0acf29f.4d5b",
"type": "change",
"z": "bce2c081.53f4e",
"name": "... to \"OFF\"",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "flow",
"to": "OFF",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 418,
"y": 768,
"wires": [
[]
]
},
{
"id": "226d6f30.6449e",
"type": "fritzbox-config",
"z": "",
"name": "",
"host": "fritz.box",
"port": "49000",
"ssl": false
}
]
@unixweb
Copy link
Author

unixweb commented Nov 20, 2017

Prerequisites

1.) npm install node-red-contrib-bool-gate
2.) npm install node-red-contrib-fritz

Click on the "info tab" you can read more instructions for other prerequisites (Firebase/Realtime.co)

@unixweb
Copy link
Author

unixweb commented Nov 20, 2017

bildschirmfoto 2017-11-20 um 11 16 32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment