Skip to content

Hassio Home Assistant Node red

Panagiotis edited this page Feb 13, 2019 · 2 revisions

“Thanks to @JevonW for this

Home assistant can be implemented using node red. Configuration.yaml

alarm_control_panel:
 platform: manual_mqtt 
  state_topic: home/alarm 
   command_topic: home/alarm/set 
   pending_time: 20 
   delay_time: 10 
   trigger_time: 4 
  disarmed: 
   trigger_time: 0 
  armed_home:
   pending_time: 0 
   delay_time: 0

Node red Flow

[
   {
       "id": "54669f5a.8edf4",
       "type": "tab",
       "label": "Paradox",
       "disabled": false,
       "info": ""
   },
   {
       "id": "e759c1d9.791a2",
       "type": "mqtt in",
       "z": "54669f5a.8edf4",
       "name": "",
       "topic": "/paradox/out",
       "qos": "2",
       "broker": "78ea33aa.976a7c",
       "x": 110,
       "y": 160,
       "wires": [
           [
               "500d8d72.1482c4"
           ]
       ]
   },
   {
       "id": "fd3d4f1b.c2f31",
       "type": "switch",
       "z": "54669f5a.8edf4",
       "name": "event",
       "property": "payload.event",
       "propertyType": "msg",
       "rules": [
           {
               "t": "eq",
               "v": "2",
               "vt": "num"
           },
           {
               "t": "eq",
               "v": "6",
               "vt": "str"
           }
       ],
       "checkall": "true",
       "repair": false,
       "outputs": 2,
       "x": 410,
       "y": 160,
       "wires": [
           [
               "a2a33950.c33428"
           ],
           [
               "f8761458.9e21a8"
           ]
       ]
   },
   {
       "id": "b15f134d.a1fb2",
       "type": "mqtt out",
       "z": "54669f5a.8edf4",
       "name": "",
       "topic": "home/alarm/set",
       "qos": "",
       "retain": "",
       "broker": "78ea33aa.976a7c",
       "x": 1360,
       "y": 140,
       "wires": []
   },
   {
       "id": "8704daad.9edc58",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "ARM_HOME",
       "op2": "",
       "op1type": "str",
       "op2type": "nul",
       "duration": "2",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "armed_home",
       "x": 1150,
       "y": 60,
       "wires": [
           [
               "b15f134d.a1fb2"
           ]
       ]
   },
   {
       "id": "500d8d72.1482c4",
       "type": "json",
       "z": "54669f5a.8edf4",
       "name": "",
       "property": "payload",
       "action": "",
       "pretty": false,
       "x": 270,
       "y": 160,
       "wires": [
           [
               "fd3d4f1b.c2f31"
           ]
       ]
   },
   {
       "id": "a2a33950.c33428",
       "type": "switch",
       "z": "54669f5a.8edf4",
       "name": "sub_event arm/disarm",
       "property": "payload.sub_event",
       "propertyType": "msg",
       "rules": [
           {
               "t": "eq",
               "v": "12",
               "vt": "str"
           },
           {
               "t": "eq",
               "v": "11",
               "vt": "str"
           }
       ],
       "checkall": "true",
       "repair": false,
       "outputs": 2,
       "x": 600,
       "y": 120,
       "wires": [
           [
               "4291469f.d4bf18"
           ],
           [
               "47c49c12.065f04"
           ]
       ]
   },
   {
       "id": "47c49c12.065f04",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "DISARM",
       "op2": "",
       "op1type": "str",
       "op2type": "nul",
       "duration": "2",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "disarm",
       "x": 1130,
       "y": 140,
       "wires": [
           [
               "b15f134d.a1fb2"
           ]
       ]
   },
   {
       "id": "792aabae.63daa4",
       "type": "mqtt in",
       "z": "54669f5a.8edf4",
       "name": "",
       "topic": "home/alarm",
       "qos": "2",
       "broker": "78ea33aa.976a7c",
       "x": 110,
       "y": 400,
       "wires": [
           [
               "2bca06a.6a34afa"
           ]
       ]
   },
   {
       "id": "2bca06a.6a34afa",
       "type": "switch",
       "z": "54669f5a.8edf4",
       "name": "",
       "property": "payload",
       "propertyType": "msg",
       "rules": [
           {
               "t": "eq",
               "v": "disarmed",
               "vt": "str"
           },
           {
               "t": "eq",
               "v": "armed_home",
               "vt": "str"
           },
           {
               "t": "eq",
               "v": "armed_away",
               "vt": "str"
           }
       ],
       "checkall": "true",
       "repair": false,
       "outputs": 3,
       "x": 350,
       "y": 400,
       "wires": [
           [
               "5c5f9032.0eeae",
               "fbec85ae.1664e8"
           ],
           [
               "b2286c0b.04603",
               "a705d865.a86748"
           ],
           [
               "e3aa6c1d.e2c14",
               "77036378.b63c1c"
           ]
       ]
   },
   {
       "id": "5c5f9032.0eeae",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "{\"password\":\"1234\",\"Command\":\"disarm\",\"Subcommand\":\"0\"}",
       "op2": "0",
       "op1type": "str",
       "op2type": "str",
       "duration": "2",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "disarm inside",
       "x": 570,
       "y": 240,
       "wires": [
           [
               "44c07396.ca548c"
           ]
       ]
   },
   {
       "id": "44c07396.ca548c",
       "type": "mqtt out",
       "z": "54669f5a.8edf4",
       "name": "",
       "topic": "/paradox/in",
       "qos": "",
       "retain": "",
       "broker": "78ea33aa.976a7c",
       "x": 1170,
       "y": 360,
       "wires": []
   },
   {
       "id": "fbec85ae.1664e8",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "{\"password\":\"1234\",\"Command\":\"disarm\",\"Subcommand\":\"1\"}",
       "op2": "0",
       "op1type": "str",
       "op2type": "str",
       "duration": "5",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "disarm outside",
       "x": 580,
       "y": 300,
       "wires": [
           [
               "a147377e.e474e8"
           ]
       ]
   },
   {
       "id": "b2286c0b.04603",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "{\"password\":\"1234\",\"Command\":\"sleep\",\"Subcommand\":\"0\"}",
       "op2": "0",
       "op1type": "str",
       "op2type": "str",
       "duration": "3",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "arm home / sleep",
       "x": 590,
       "y": 360,
       "wires": [
           [
               "44c07396.ca548c"
           ]
       ]
   },
   {
       "id": "a705d865.a86748",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "{\"password\":\"1234\",\"Command\":\"arm\",\"Subcommand\":\"1\"}",
       "op2": "0",
       "op1type": "str",
       "op2type": "str",
       "duration": "5",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "arm outside",
       "x": 570,
       "y": 420,
       "wires": [
           [
               "b336af82.a47d4"
           ]
       ]
   },
   {
       "id": "e3aa6c1d.e2c14",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "{\"password\":\"1234\",\"Command\":\"arm\",\"Subcommand\":\"0\"}",
       "op2": "0",
       "op1type": "str",
       "op2type": "str",
       "duration": "2",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "arm inside",
       "x": 570,
       "y": 480,
       "wires": [
           [
               "44c07396.ca548c"
           ]
       ]
   },
   {
       "id": "77036378.b63c1c",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "{\"password\":\"1234\",\"Command\":\"arm\",\"Subcommand\":\"1\"}",
       "op2": "0",
       "op1type": "str",
       "op2type": "str",
       "duration": "3",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "arm outside",
       "x": 570,
       "y": 540,
       "wires": [
           [
               "a2d082a.022ed8"
           ]
       ]
   },
   {
       "id": "4291469f.d4bf18",
       "type": "switch",
       "z": "54669f5a.8edf4",
       "name": "arm partition",
       "property": "payload.dummy",
       "propertyType": "msg",
       "rules": [
           {
               "t": "eq",
               "v": "Inside ",
               "vt": "str"
           },
           {
               "t": "eq",
               "v": "Outside ",
               "vt": "str"
           }
       ],
       "checkall": "true",
       "repair": false,
       "outputs": 2,
       "x": 810,
       "y": 100,
       "wires": [
           [
               "8704daad.9edc58"
           ],
           [
               "2b88b93c.3ef466"
           ]
       ]
   },
   {
       "id": "f8761458.9e21a8",
       "type": "switch",
       "z": "54669f5a.8edf4",
       "name": "sub_event sleep",
       "property": "payload.sub_event",
       "propertyType": "msg",
       "rules": [
           {
               "t": "eq",
               "v": "4",
               "vt": "str"
           }
       ],
       "checkall": "true",
       "repair": false,
       "outputs": 1,
       "x": 590,
       "y": 180,
       "wires": [
           [
               "f39a3386.9e73c"
           ]
       ]
   },
   {
       "id": "f39a3386.9e73c",
       "type": "delay",
       "z": "54669f5a.8edf4",
       "name": "",
       "pauseType": "delay",
       "timeout": "5",
       "timeoutUnits": "seconds",
       "rate": "1",
       "nbRateUnits": "1",
       "rateUnits": "second",
       "randomFirst": "1",
       "randomLast": "5",
       "randomUnits": "seconds",
       "drop": false,
       "x": 800,
       "y": 180,
       "wires": [
           [
               "7e118b33.f88924"
           ]
       ]
   },
   {
       "id": "7e118b33.f88924",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "ARM_NIGHT",
       "op2": "",
       "op1type": "str",
       "op2type": "nul",
       "duration": "2",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "arm_night",
       "x": 1140,
       "y": 180,
       "wires": [
           [
               "b15f134d.a1fb2"
           ]
       ]
   },
   {
       "id": "7f13d825.873248",
       "type": "comment",
       "z": "54669f5a.8edf4",
       "name": "HA to Paradox",
       "info": "",
       "x": 110,
       "y": 340,
       "wires": []
   },
   {
       "id": "c9224a79.c2c128",
       "type": "comment",
       "z": "54669f5a.8edf4",
       "name": "Paradox to HA",
       "info": "",
       "x": 110,
       "y": 100,
       "wires": []
   },
   {
       "id": "2b88b93c.3ef466",
       "type": "trigger",
       "z": "54669f5a.8edf4",
       "op1": "ARM_HOME",
       "op2": "",
       "op1type": "str",
       "op2type": "nul",
       "duration": "5",
       "extend": false,
       "units": "s",
       "reset": "",
       "bytopic": "all",
       "name": "armed_home",
       "x": 1150,
       "y": 100,
       "wires": [
           [
               "b15f134d.a1fb2"
           ]
       ]
   },
   {
       "id": "a147377e.e474e8",
       "type": "delay",
       "z": "54669f5a.8edf4",
       "name": "",
       "pauseType": "delay",
       "timeout": "5",
       "timeoutUnits": "seconds",
       "rate": "1",
       "nbRateUnits": "1",
       "rateUnits": "second",
       "randomFirst": "1",
       "randomLast": "5",
       "randomUnits": "seconds",
       "drop": false,
       "x": 740,
       "y": 300,
       "wires": [
           [
               "44c07396.ca548c"
           ]
       ]
   },
   {
       "id": "b336af82.a47d4",
       "type": "delay",
       "z": "54669f5a.8edf4",
       "name": "",
       "pauseType": "delay",
       "timeout": "5",
       "timeoutUnits": "seconds",
       "rate": "1",
       "nbRateUnits": "1",
       "rateUnits": "second",
       "randomFirst": "1",
       "randomLast": "5",
       "randomUnits": "seconds",
       "drop": false,
       "x": 740,
       "y": 420,
       "wires": [
           [
               "44c07396.ca548c"
           ]
       ]
   },
   {
       "id": "a2d082a.022ed8",
       "type": "delay",
       "z": "54669f5a.8edf4",
       "name": "",
       "pauseType": "delay",
       "timeout": "5",
       "timeoutUnits": "seconds",
       "rate": "1",
       "nbRateUnits": "1",
       "rateUnits": "second",
       "randomFirst": "1",
       "randomLast": "5",
       "randomUnits": "seconds",
       "drop": false,
       "x": 740,
       "y": 540,
       "wires": [
           [
               "44c07396.ca548c"
           ]
       ]
   },
   {
       "id": "78ea33aa.976a7c",
       "type": "mqtt-broker",
       "z": "",
       "name": "",
       "broker": "192.168.2.11",
       "port": "1883",
       "clientid": "",
       "usetls": false,
       "compatmode": true,
       "keepalive": "60",
       "cleansession": true,
       "birthTopic": "",
       "birthQos": "0",
       "birthPayload": "",
       "closeTopic": "",
       "closePayload": "",
       "willTopic": "",
       "willQos": "0",
       "willPayload": ""
   }
]
Clone this wiki locally