├── Alexa_Local.json ├── Calendar_Flow.json ├── Example Flow 1.txt ├── Example Flow 2.txt ├── Example Flow 3.txt ├── README.md ├── ShellyEM_NodeRED.js ├── actionable_iOS_automation_example.yaml ├── actionable_iOS_json.js ├── actionable_iOS_push_config.yaml ├── actionable_notification.txt ├── actionable_response.txt ├── motion_trigger_flow.txt └── security_panel.json /Alexa_Local.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "fca96f45.977e9", 4 | "type": "alexa-local", 5 | "z": "771e30ce.ce646", 6 | "devicename": "Couch Shade", 7 | "inputtrigger": false, 8 | "x": 160, 9 | "y": 140, 10 | "wires": [ 11 | [ 12 | "ad6a1e51.4820c" 13 | ] 14 | ] 15 | }, 16 | { 17 | "id": "4b123492.2c80bc", 18 | "type": "function", 19 | "z": "771e30ce.ce646", 20 | "name": "Set Payload", 21 | "func": "msg.payload = { data: {'entity_id': 'input_number.slider1','value': \nmsg.bri } };\nreturn msg;", 22 | "outputs": 1, 23 | "noerr": 0, 24 | "x": 670, 25 | "y": 200, 26 | "wires": [ 27 | [ 28 | "2185acfc.6292e4" 29 | ] 30 | ] 31 | }, 32 | { 33 | "id": "13179573.43883b", 34 | "type": "range", 35 | "z": "771e30ce.ce646", 36 | "minin": "0", 37 | "maxin": "100", 38 | "minout": "0", 39 | "maxout": "13", 40 | "action": "scale", 41 | "round": true, 42 | "property": "bri", 43 | "name": "", 44 | "x": 470, 45 | "y": 200, 46 | "wires": [ 47 | [ 48 | "4b123492.2c80bc" 49 | ] 50 | ] 51 | }, 52 | { 53 | "id": "ad6a1e51.4820c", 54 | "type": "switch", 55 | "z": "771e30ce.ce646", 56 | "name": "on/off", 57 | "property": "on_off_command", 58 | "propertyType": "msg", 59 | "rules": [ 60 | { 61 | "t": "true" 62 | }, 63 | { 64 | "t": "false" 65 | } 66 | ], 67 | "checkall": "true", 68 | "repair": false, 69 | "outputs": 2, 70 | "x": 310, 71 | "y": 140, 72 | "wires": [ 73 | [ 74 | "57c015ba.cb27ac" 75 | ], 76 | [ 77 | "13179573.43883b" 78 | ] 79 | ] 80 | }, 81 | { 82 | "id": "2185acfc.6292e4", 83 | "type": "api-call-service", 84 | "z": "771e30ce.ce646", 85 | "name": "Set Couch Shade", 86 | "server": "1e776005.3ee9b", 87 | "service_domain": "input_number", 88 | "service": "set_value", 89 | "data": "{}", 90 | "x": 890, 91 | "y": 200, 92 | "wires": [] 93 | }, 94 | { 95 | "id": "57c015ba.cb27ac", 96 | "type": "function", 97 | "z": "771e30ce.ce646", 98 | "name": "Set Payload", 99 | "func": "if (msg.payload == \"on\")\n{\nmsg.payload = { data: {\"entity_id\": \"input_number.slider1\",\"value\": \n'13' } };\n}\nif (msg.payload == \"off\")\n{\nmsg.payload = { data: {\"entity_id\": \"input_number.slider1\",\"value\": \n\"0\" } };\n}\nreturn msg;", 100 | "outputs": 1, 101 | "noerr": 0, 102 | "x": 510, 103 | "y": 80, 104 | "wires": [ 105 | [ 106 | "51f55f3c.f75f4" 107 | ] 108 | ] 109 | }, 110 | { 111 | "id": "51f55f3c.f75f4", 112 | "type": "api-call-service", 113 | "z": "771e30ce.ce646", 114 | "name": "Set Couch Shade", 115 | "server": "1e776005.3ee9b", 116 | "service_domain": "input_number", 117 | "service": "set_value", 118 | "data": "{}", 119 | "x": 750, 120 | "y": 80, 121 | "wires": [] 122 | }, 123 | { 124 | "id": "1e776005.3ee9b", 125 | "type": "server", 126 | "z": "", 127 | "name": "Home Assistant", 128 | "url": "http://192.168.86.168:8123", 129 | "pass": "NotMyPassword" 130 | } 131 | ] -------------------------------------------------------------------------------- /Calendar_Flow.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "9cf5dae.217b428", 4 | "type": "light-scheduler", 5 | "z": "5865e563.6af48c", 6 | "settings": "b532f972.44dee8", 7 | "events": "[{\"start\":{\"dow\":1,\"mod\":405},\"end\":{\"dow\":1,\"mod\":420}},{\"start\":{\"dow\":2,\"mod\":405},\"end\":{\"dow\":2,\"mod\":420}},{\"start\":{\"dow\":3,\"mod\":405},\"end\":{\"dow\":3,\"mod\":420}},{\"start\":{\"dow\":4,\"mod\":405},\"end\":{\"dow\":4,\"mod\":420}},{\"start\":{\"dow\":5,\"mod\":405},\"end\":{\"dow\":5,\"mod\":420}}]", 8 | "topic": "", 9 | "name": "Sunrise", 10 | "onPayload": "ON", 11 | "onPayloadType": "str", 12 | "offPayload": "OFF", 13 | "offPayloadType": "str", 14 | "onlyWhenDark": false, 15 | "sunElevationThreshold": 6, 16 | "sunShowElevationInStatus": false, 17 | "outputfreq": "output.statechange", 18 | "x": 120, 19 | "y": 2740, 20 | "wires": [ 21 | [ 22 | "890df5bd.bb3f78" 23 | ] 24 | ] 25 | }, 26 | { 27 | "id": "5e60a570.99cf2c", 28 | "type": "switch", 29 | "z": "5865e563.6af48c", 30 | "name": "On/Off", 31 | "property": "payload", 32 | "propertyType": "msg", 33 | "rules": [ 34 | { 35 | "t": "eq", 36 | "v": "ON", 37 | "vt": "str" 38 | } 39 | ], 40 | "checkall": "true", 41 | "repair": false, 42 | "outputs": 1, 43 | "x": 290, 44 | "y": 2740, 45 | "wires": [ 46 | [ 47 | "ea0ec767.7dd708" 48 | ] 49 | ] 50 | }, 51 | { 52 | "id": "890df5bd.bb3f78", 53 | "type": "rbe", 54 | "z": "5865e563.6af48c", 55 | "name": "RBE", 56 | "func": "rbe", 57 | "gap": "", 58 | "start": "", 59 | "inout": "out", 60 | "property": "payload", 61 | "x": 210, 62 | "y": 2860, 63 | "wires": [ 64 | [ 65 | "5e60a570.99cf2c" 66 | ] 67 | ] 68 | }, 69 | { 70 | "id": "dc37707a.a538", 71 | "type": "mqtt out", 72 | "z": "5865e563.6af48c", 73 | "name": "Send to Wake Alarm", 74 | "topic": "SunriseMCU/wakeAlarm", 75 | "qos": "0", 76 | "retain": "false", 77 | "broker": "3cc69636.e3e24a", 78 | "x": 740, 79 | "y": 2740, 80 | "wires": [] 81 | }, 82 | { 83 | "id": "8c66b6bc.8e92d8", 84 | "type": "change", 85 | "z": "5865e563.6af48c", 86 | "name": "Set to 300", 87 | "rules": [ 88 | { 89 | "t": "set", 90 | "p": "payload", 91 | "pt": "msg", 92 | "to": "300", 93 | "tot": "str" 94 | } 95 | ], 96 | "action": "", 97 | "property": "", 98 | "from": "", 99 | "to": "", 100 | "reg": false, 101 | "x": 600, 102 | "y": 2860, 103 | "wires": [ 104 | [ 105 | "dc37707a.a538" 106 | ] 107 | ] 108 | }, 109 | { 110 | "id": "ea0ec767.7dd708", 111 | "type": "api-current-state", 112 | "z": "5865e563.6af48c", 113 | "name": "School Day HA", 114 | "server": "d64dbedb.b22df", 115 | "halt_if": "", 116 | "halt_if_type": "str", 117 | "halt_if_compare": "is", 118 | "override_topic": true, 119 | "override_payload": true, 120 | "override_data": true, 121 | "entity_id": "calendar.reminders_gmail_com", 122 | "state_type": "str", 123 | "outputs": 1, 124 | "x": 400, 125 | "y": 2860, 126 | "wires": [ 127 | [ 128 | "5e41f2f2.4e8f7c" 129 | ] 130 | ] 131 | }, 132 | { 133 | "id": "5e41f2f2.4e8f7c", 134 | "type": "switch", 135 | "z": "5865e563.6af48c", 136 | "name": "", 137 | "property": "data.attributes.message", 138 | "propertyType": "msg", 139 | "rules": [ 140 | { 141 | "t": "eq", 142 | "v": "School", 143 | "vt": "str" 144 | } 145 | ], 146 | "checkall": "true", 147 | "repair": false, 148 | "outputs": 1, 149 | "x": 510, 150 | "y": 2740, 151 | "wires": [ 152 | [ 153 | "8c66b6bc.8e92d8" 154 | ] 155 | ] 156 | }, 157 | { 158 | "id": "b8b1a4b1.6921c8", 159 | "type": "light-scheduler", 160 | "z": "5865e563.6af48c", 161 | "settings": "b532f972.44dee8", 162 | "events": "[{\"start\":{\"dow\":1,\"mod\":360},\"end\":{\"dow\":1,\"mod\":375}},{\"start\":{\"dow\":2,\"mod\":360},\"end\":{\"dow\":2,\"mod\":375}},{\"start\":{\"dow\":3,\"mod\":360},\"end\":{\"dow\":3,\"mod\":375}},{\"start\":{\"dow\":4,\"mod\":360},\"end\":{\"dow\":4,\"mod\":375}},{\"start\":{\"dow\":5,\"mod\":360},\"end\":{\"dow\":5,\"mod\":375}}]", 163 | "topic": "", 164 | "name": "Scarlett School Day", 165 | "onPayload": "ON", 166 | "onPayloadType": "str", 167 | "offPayload": "OFF", 168 | "offPayloadType": "str", 169 | "onlyWhenDark": false, 170 | "sunElevationThreshold": 6, 171 | "sunShowElevationInStatus": false, 172 | "outputfreq": "output.statechange", 173 | "x": 130, 174 | "y": 2960, 175 | "wires": [ 176 | [ 177 | "f9aa40ba.da241" 178 | ] 179 | ] 180 | }, 181 | { 182 | "id": "9b0c8c66.19308", 183 | "type": "delay", 184 | "z": "5865e563.6af48c", 185 | "name": "", 186 | "pauseType": "delay", 187 | "timeout": "5", 188 | "timeoutUnits": "minutes", 189 | "rate": "1", 190 | "nbRateUnits": "1", 191 | "rateUnits": "second", 192 | "randomFirst": "1", 193 | "randomLast": "5", 194 | "randomUnits": "seconds", 195 | "drop": false, 196 | "x": 340, 197 | "y": 2960, 198 | "wires": [ 199 | [ 200 | "dc704bd8.a942a8" 201 | ] 202 | ] 203 | }, 204 | { 205 | "id": "f9aa40ba.da241", 206 | "type": "rbe", 207 | "z": "5865e563.6af48c", 208 | "name": "RBE", 209 | "func": "rbe", 210 | "gap": "", 211 | "start": "", 212 | "inout": "out", 213 | "property": "payload", 214 | "x": 250, 215 | "y": 3020, 216 | "wires": [ 217 | [ 218 | "9b0c8c66.19308" 219 | ] 220 | ] 221 | }, 222 | { 223 | "id": "dc704bd8.a942a8", 224 | "type": "switch", 225 | "z": "5865e563.6af48c", 226 | "name": "On/Off", 227 | "property": "payload", 228 | "propertyType": "msg", 229 | "rules": [ 230 | { 231 | "t": "eq", 232 | "v": "ON", 233 | "vt": "str" 234 | } 235 | ], 236 | "checkall": "true", 237 | "repair": false, 238 | "outputs": 1, 239 | "x": 430, 240 | "y": 3020, 241 | "wires": [ 242 | [ 243 | "8e63d1ab.c0281" 244 | ] 245 | ] 246 | }, 247 | { 248 | "id": "8e63d1ab.c0281", 249 | "type": "api-current-state", 250 | "z": "5865e563.6af48c", 251 | "name": "School Day HA", 252 | "server": "d64dbedb.b22df", 253 | "halt_if": "", 254 | "halt_if_type": "str", 255 | "halt_if_compare": "is", 256 | "override_topic": true, 257 | "override_payload": true, 258 | "override_data": true, 259 | "entity_id": "calendar.reminders_gmail_com", 260 | "state_type": "str", 261 | "outputs": 1, 262 | "x": 540, 263 | "y": 2960, 264 | "wires": [ 265 | [ 266 | "ebe3d138.42753" 267 | ] 268 | ] 269 | }, 270 | { 271 | "id": "ebe3d138.42753", 272 | "type": "switch", 273 | "z": "5865e563.6af48c", 274 | "name": "", 275 | "property": "data.attributes.message", 276 | "propertyType": "msg", 277 | "rules": [ 278 | { 279 | "t": "eq", 280 | "v": "School", 281 | "vt": "str" 282 | } 283 | ], 284 | "checkall": "true", 285 | "repair": false, 286 | "outputs": 1, 287 | "x": 630, 288 | "y": 3020, 289 | "wires": [ 290 | [ 291 | "158ceab6.2723b5" 292 | ] 293 | ] 294 | }, 295 | { 296 | "id": "158ceab6.2723b5", 297 | "type": "trigger", 298 | "z": "5865e563.6af48c", 299 | "op1": "FF40000000", 300 | "op2": "next", 301 | "op1type": "str", 302 | "op2type": "str", 303 | "duration": "10", 304 | "extend": false, 305 | "units": "min", 306 | "reset": "", 307 | "bytopic": "all", 308 | "name": "Yellow", 309 | "x": 810, 310 | "y": 2960, 311 | "wires": [ 312 | [ 313 | "7f29f8c6.12e418" 314 | ] 315 | ] 316 | }, 317 | { 318 | "id": "7f29f8c6.12e418", 319 | "type": "switch", 320 | "z": "5865e563.6af48c", 321 | "name": "next", 322 | "property": "payload", 323 | "propertyType": "msg", 324 | "rules": [ 325 | { 326 | "t": "neq", 327 | "v": "next", 328 | "vt": "str" 329 | }, 330 | { 331 | "t": "eq", 332 | "v": "next", 333 | "vt": "str" 334 | } 335 | ], 336 | "checkall": "true", 337 | "repair": false, 338 | "outputs": 2, 339 | "x": 950, 340 | "y": 2960, 341 | "wires": [ 342 | [ 343 | "1a294924.b765c7" 344 | ], 345 | [ 346 | "6e35cf84.6f38b" 347 | ] 348 | ] 349 | }, 350 | { 351 | "id": "6e35cf84.6f38b", 352 | "type": "trigger", 353 | "z": "5865e563.6af48c", 354 | "op1": "00FF000000", 355 | "op2": "next", 356 | "op1type": "str", 357 | "op2type": "str", 358 | "duration": "10", 359 | "extend": false, 360 | "units": "min", 361 | "reset": "", 362 | "bytopic": "all", 363 | "name": "green", 364 | "x": 810, 365 | "y": 3020, 366 | "wires": [ 367 | [ 368 | "5d640299.93168c" 369 | ] 370 | ] 371 | }, 372 | { 373 | "id": "5d640299.93168c", 374 | "type": "switch", 375 | "z": "5865e563.6af48c", 376 | "name": "next", 377 | "property": "payload", 378 | "propertyType": "msg", 379 | "rules": [ 380 | { 381 | "t": "neq", 382 | "v": "next", 383 | "vt": "str" 384 | }, 385 | { 386 | "t": "eq", 387 | "v": "next", 388 | "vt": "str" 389 | } 390 | ], 391 | "checkall": "true", 392 | "repair": false, 393 | "outputs": 2, 394 | "x": 950, 395 | "y": 3020, 396 | "wires": [ 397 | [ 398 | "1a294924.b765c7" 399 | ], 400 | [ 401 | "4c5fff4b.41ef7" 402 | ] 403 | ] 404 | }, 405 | { 406 | "id": "4c5fff4b.41ef7", 407 | "type": "trigger", 408 | "z": "5865e563.6af48c", 409 | "op1": "1000030000", 410 | "op2": "next", 411 | "op1type": "str", 412 | "op2type": "str", 413 | "duration": "10", 414 | "extend": false, 415 | "units": "min", 416 | "reset": "", 417 | "bytopic": "all", 418 | "name": "pink", 419 | "x": 810, 420 | "y": 3080, 421 | "wires": [ 422 | [ 423 | "4f48f18.582741" 424 | ] 425 | ] 426 | }, 427 | { 428 | "id": "4f48f18.582741", 429 | "type": "switch", 430 | "z": "5865e563.6af48c", 431 | "name": "next", 432 | "property": "payload", 433 | "propertyType": "msg", 434 | "rules": [ 435 | { 436 | "t": "neq", 437 | "v": "next", 438 | "vt": "str" 439 | }, 440 | { 441 | "t": "eq", 442 | "v": "next", 443 | "vt": "str" 444 | } 445 | ], 446 | "checkall": "true", 447 | "repair": false, 448 | "outputs": 2, 449 | "x": 950, 450 | "y": 3080, 451 | "wires": [ 452 | [ 453 | "1a294924.b765c7" 454 | ], 455 | [] 456 | ] 457 | }, 458 | { 459 | "id": "1a294924.b765c7", 460 | "type": "mqtt out", 461 | "z": "5865e563.6af48c", 462 | "name": "", 463 | "topic": "cmnd/Tuya_Bulb_2/COLOR", 464 | "qos": "", 465 | "retain": "", 466 | "broker": "3cc69636.e3e24a", 467 | "x": 1200, 468 | "y": 3020, 469 | "wires": [] 470 | }, 471 | { 472 | "id": "aa08c7b.ba42f38", 473 | "type": "light-scheduler", 474 | "z": "5865e563.6af48c", 475 | "settings": "b532f972.44dee8", 476 | "events": "[{\"start\":{\"dow\":1,\"mod\":405},\"end\":{\"dow\":1,\"mod\":420}},{\"start\":{\"dow\":2,\"mod\":405},\"end\":{\"dow\":2,\"mod\":420}},{\"start\":{\"dow\":3,\"mod\":405},\"end\":{\"dow\":3,\"mod\":420}},{\"start\":{\"dow\":4,\"mod\":405},\"end\":{\"dow\":4,\"mod\":420}},{\"start\":{\"dow\":5,\"mod\":405},\"end\":{\"dow\":5,\"mod\":420}},{\"start\":{\"dow\":6,\"mod\":405},\"end\":{\"dow\":6,\"mod\":420}},{\"start\":{\"dow\":0,\"mod\":405},\"end\":{\"dow\":0,\"mod\":420}}]", 477 | "topic": "", 478 | "name": "Scarlett Nonschool Day", 479 | "onPayload": "ON", 480 | "onPayloadType": "str", 481 | "offPayload": "OFF", 482 | "offPayloadType": "str", 483 | "onlyWhenDark": false, 484 | "sunElevationThreshold": 6, 485 | "sunShowElevationInStatus": false, 486 | "outputfreq": "output.statechange", 487 | "x": 150, 488 | "y": 3240, 489 | "wires": [ 490 | [ 491 | "5ff72942.66f0a8" 492 | ] 493 | ] 494 | }, 495 | { 496 | "id": "5ff72942.66f0a8", 497 | "type": "rbe", 498 | "z": "5865e563.6af48c", 499 | "name": "RBE", 500 | "func": "rbe", 501 | "gap": "", 502 | "start": "", 503 | "inout": "out", 504 | "property": "payload", 505 | "x": 250, 506 | "y": 3300, 507 | "wires": [ 508 | [ 509 | "88827a45.fadc28" 510 | ] 511 | ] 512 | }, 513 | { 514 | "id": "88827a45.fadc28", 515 | "type": "switch", 516 | "z": "5865e563.6af48c", 517 | "name": "On/Off", 518 | "property": "payload", 519 | "propertyType": "msg", 520 | "rules": [ 521 | { 522 | "t": "eq", 523 | "v": "ON", 524 | "vt": "str" 525 | } 526 | ], 527 | "checkall": "true", 528 | "repair": false, 529 | "outputs": 1, 530 | "x": 430, 531 | "y": 3300, 532 | "wires": [ 533 | [ 534 | "fd74cc54.0674c" 535 | ] 536 | ] 537 | }, 538 | { 539 | "id": "fd74cc54.0674c", 540 | "type": "api-current-state", 541 | "z": "5865e563.6af48c", 542 | "name": "Nonschool Day HA", 543 | "server": "d64dbedb.b22df", 544 | "halt_if": "", 545 | "halt_if_type": "str", 546 | "halt_if_compare": "is", 547 | "override_topic": true, 548 | "override_payload": true, 549 | "override_data": true, 550 | "entity_id": "calendar.reminders_gmail_com", 551 | "state_type": "str", 552 | "outputs": 1, 553 | "x": 550, 554 | "y": 3240, 555 | "wires": [ 556 | [ 557 | "a7767ba5.5a7868" 558 | ] 559 | ] 560 | }, 561 | { 562 | "id": "a7767ba5.5a7868", 563 | "type": "switch", 564 | "z": "5865e563.6af48c", 565 | "name": "", 566 | "property": "data.attributes.message", 567 | "propertyType": "msg", 568 | "rules": [ 569 | { 570 | "t": "eq", 571 | "v": "Nonschool", 572 | "vt": "str" 573 | } 574 | ], 575 | "checkall": "true", 576 | "repair": false, 577 | "outputs": 1, 578 | "x": 630, 579 | "y": 3300, 580 | "wires": [ 581 | [ 582 | "62f52072.8c803" 583 | ] 584 | ] 585 | }, 586 | { 587 | "id": "62f52072.8c803", 588 | "type": "trigger", 589 | "z": "5865e563.6af48c", 590 | "op1": "FF40000000", 591 | "op2": "next", 592 | "op1type": "str", 593 | "op2type": "str", 594 | "duration": "45", 595 | "extend": false, 596 | "units": "min", 597 | "reset": "", 598 | "bytopic": "all", 599 | "name": "Yellow", 600 | "x": 810, 601 | "y": 3240, 602 | "wires": [ 603 | [ 604 | "11e313a9.ae722c" 605 | ] 606 | ] 607 | }, 608 | { 609 | "id": "11e313a9.ae722c", 610 | "type": "switch", 611 | "z": "5865e563.6af48c", 612 | "name": "next", 613 | "property": "payload", 614 | "propertyType": "msg", 615 | "rules": [ 616 | { 617 | "t": "neq", 618 | "v": "next", 619 | "vt": "str" 620 | }, 621 | { 622 | "t": "eq", 623 | "v": "next", 624 | "vt": "str" 625 | } 626 | ], 627 | "checkall": "true", 628 | "repair": false, 629 | "outputs": 2, 630 | "x": 950, 631 | "y": 3240, 632 | "wires": [ 633 | [ 634 | "a3272abb.53c4e8" 635 | ], 636 | [ 637 | "ae53edba.dd7be" 638 | ] 639 | ] 640 | }, 641 | { 642 | "id": "ae53edba.dd7be", 643 | "type": "trigger", 644 | "z": "5865e563.6af48c", 645 | "op1": "00FF000000", 646 | "op2": "next", 647 | "op1type": "str", 648 | "op2type": "str", 649 | "duration": "30", 650 | "extend": false, 651 | "units": "min", 652 | "reset": "", 653 | "bytopic": "all", 654 | "name": "green", 655 | "x": 810, 656 | "y": 3300, 657 | "wires": [ 658 | [ 659 | "1c6e97d.eaca468" 660 | ] 661 | ] 662 | }, 663 | { 664 | "id": "1c6e97d.eaca468", 665 | "type": "switch", 666 | "z": "5865e563.6af48c", 667 | "name": "next", 668 | "property": "payload", 669 | "propertyType": "msg", 670 | "rules": [ 671 | { 672 | "t": "neq", 673 | "v": "next", 674 | "vt": "str" 675 | }, 676 | { 677 | "t": "eq", 678 | "v": "next", 679 | "vt": "str" 680 | } 681 | ], 682 | "checkall": "true", 683 | "repair": false, 684 | "outputs": 2, 685 | "x": 950, 686 | "y": 3300, 687 | "wires": [ 688 | [ 689 | "a3272abb.53c4e8" 690 | ], 691 | [ 692 | "9135627d.af2d8" 693 | ] 694 | ] 695 | }, 696 | { 697 | "id": "9135627d.af2d8", 698 | "type": "trigger", 699 | "z": "5865e563.6af48c", 700 | "op1": "1000030000", 701 | "op2": "next", 702 | "op1type": "str", 703 | "op2type": "str", 704 | "duration": "10", 705 | "extend": false, 706 | "units": "min", 707 | "reset": "", 708 | "bytopic": "all", 709 | "name": "pink", 710 | "x": 810, 711 | "y": 3360, 712 | "wires": [ 713 | [ 714 | "6f6941ff.c59c" 715 | ] 716 | ] 717 | }, 718 | { 719 | "id": "6f6941ff.c59c", 720 | "type": "switch", 721 | "z": "5865e563.6af48c", 722 | "name": "next", 723 | "property": "payload", 724 | "propertyType": "msg", 725 | "rules": [ 726 | { 727 | "t": "neq", 728 | "v": "next", 729 | "vt": "str" 730 | }, 731 | { 732 | "t": "eq", 733 | "v": "next", 734 | "vt": "str" 735 | } 736 | ], 737 | "checkall": "true", 738 | "repair": false, 739 | "outputs": 2, 740 | "x": 950, 741 | "y": 3360, 742 | "wires": [ 743 | [ 744 | "a3272abb.53c4e8" 745 | ], 746 | [] 747 | ] 748 | }, 749 | { 750 | "id": "a3272abb.53c4e8", 751 | "type": "mqtt out", 752 | "z": "5865e563.6af48c", 753 | "name": "", 754 | "topic": "cmnd/Tuya_Bulb_2/COLOR", 755 | "qos": "", 756 | "retain": "", 757 | "broker": "3cc69636.e3e24a", 758 | "x": 1200, 759 | "y": 3300, 760 | "wires": [] 761 | }, 762 | { 763 | "id": "b532f972.44dee8", 764 | "type": "light-scheduler-settings", 765 | "z": "", 766 | "name": "my settings", 767 | "latitude": "27.890814", 768 | "longitude": "-82.50234640000001" 769 | }, 770 | { 771 | "id": "3cc69636.e3e24a", 772 | "type": "mqtt-broker", 773 | "z": "", 774 | "name": "", 775 | "broker": "192.168.86.168", 776 | "port": "1883", 777 | "clientid": "", 778 | "usetls": false, 779 | "compatmode": true, 780 | "keepalive": "60", 781 | "cleansession": true, 782 | "birthTopic": "", 783 | "birthQos": "0", 784 | "birthPayload": "", 785 | "closeTopic": "", 786 | "closePayload": "", 787 | "willTopic": "", 788 | "willQos": "0", 789 | "willPayload": "" 790 | }, 791 | { 792 | "id": "d64dbedb.b22df", 793 | "type": "server", 794 | "z": "", 795 | "name": "Home Assistant" 796 | } 797 | ] -------------------------------------------------------------------------------- /Example Flow 1.txt: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "de0886b1.a7c028", 4 | "type": "server-state-changed", 5 | "z": "c98c2f87.1a57", 6 | "name": "Rob Home", 7 | "server": "1e776005.3ee9b", 8 | "entityidfilter": "input_boolean.rob_home", 9 | "haltifstate": "on", 10 | "x": 160, 11 | "y": 1280, 12 | "wires": [ 13 | [ 14 | "7b030002.045ac" 15 | ] 16 | ] 17 | }, 18 | { 19 | "id": "5c50473a.2e76c8", 20 | "type": "server-state-changed", 21 | "z": "c98c2f87.1a57", 22 | "name": "Lindsay Home", 23 | "server": "1e776005.3ee9b", 24 | "entityidfilter": "input_boolean.lindsay_home", 25 | "haltifstate": "on", 26 | "x": 170, 27 | "y": 1340, 28 | "wires": [ 29 | [ 30 | "3c846fc4.f03b6" 31 | ] 32 | ] 33 | }, 34 | { 35 | "id": "7b030002.045ac", 36 | "type": "api-current-state", 37 | "z": "c98c2f87.1a57", 38 | "name": "Lindsay Home", 39 | "server": "1e776005.3ee9b", 40 | "halt_if": "on", 41 | "entity_id": "input_boolean.lindsay_home", 42 | "x": 400, 43 | "y": 1280, 44 | "wires": [ 45 | [ 46 | "8f96cd32.02348" 47 | ] 48 | ] 49 | }, 50 | { 51 | "id": "3c846fc4.f03b6", 52 | "type": "api-current-state", 53 | "z": "c98c2f87.1a57", 54 | "name": "Rob Home", 55 | "server": "1e776005.3ee9b", 56 | "halt_if": "on", 57 | "entity_id": "input_boolean.rob_home", 58 | "x": 390, 59 | "y": 1340, 60 | "wires": [ 61 | [ 62 | "8f96cd32.02348" 63 | ] 64 | ] 65 | }, 66 | { 67 | "id": "90e05973.d60698", 68 | "type": "server-state-changed", 69 | "z": "c98c2f87.1a57", 70 | "name": "Rob Home", 71 | "server": "1e776005.3ee9b", 72 | "entityidfilter": "input_boolean.rob_home", 73 | "haltifstate": "off", 74 | "x": 160, 75 | "y": 1420, 76 | "wires": [ 77 | [ 78 | "d37e441e.1913e8" 79 | ] 80 | ] 81 | }, 82 | { 83 | "id": "7f080f6d.7b385", 84 | "type": "server-state-changed", 85 | "z": "c98c2f87.1a57", 86 | "name": "Lindsay Home", 87 | "server": "1e776005.3ee9b", 88 | "entityidfilter": "input_boolean.lindsay_home", 89 | "haltifstate": "off", 90 | "x": 170, 91 | "y": 1480, 92 | "wires": [ 93 | [ 94 | "d37e441e.1913e8" 95 | ] 96 | ] 97 | }, 98 | { 99 | "id": "5f73ff31.c13f3", 100 | "type": "api-call-service", 101 | "z": "c98c2f87.1a57", 102 | "name": "Away", 103 | "server": "1e776005.3ee9b", 104 | "service_domain": "input_boolean", 105 | "service": "turn_off", 106 | "data": "{ \"entity_id\": \"input_boolean.home_occupied\" }", 107 | "x": 790, 108 | "y": 1280, 109 | "wires": [] 110 | }, 111 | { 112 | "id": "d37e441e.1913e8", 113 | "type": "api-call-service", 114 | "z": "c98c2f87.1a57", 115 | "name": "Home", 116 | "server": "1e776005.3ee9b", 117 | "service_domain": "input_boolean", 118 | "service": "turn_on", 119 | "data": "{ \"entity_id\": \"input_boolean.home_occupied\" }", 120 | "x": 370, 121 | "y": 1420, 122 | "wires": [] 123 | }, 124 | { 125 | "id": "8f96cd32.02348", 126 | "type": "api-current-state", 127 | "z": "c98c2f87.1a57", 128 | "name": "House Guests", 129 | "server": "1e776005.3ee9b", 130 | "halt_if": "on", 131 | "entity_id": "input_boolean.house_guests", 132 | "x": 620, 133 | "y": 1280, 134 | "wires": [ 135 | [ 136 | "5f73ff31.c13f3" 137 | ] 138 | ] 139 | }, 140 | { 141 | "id": "1e776005.3ee9b", 142 | "type": "server", 143 | "z": "", 144 | "name": "Home Assistant", 145 | "url": "https://Fake_HA_Server.duckdns.org:8123", 146 | "pass": "notMyPassword" 147 | } 148 | ] -------------------------------------------------------------------------------- /Example Flow 2.txt: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "2fd6bcf8.a934f4", 4 | "type": "change", 5 | "z": "c98c2f87.1a57", 6 | "name": "Family Room Window Open", 7 | "rules": [ 8 | { 9 | "t": "set", 10 | "p": "windowName", 11 | "pt": "msg", 12 | "to": "Family Room Window Open", 13 | "tot": "str" 14 | }, 15 | { 16 | "t": "set", 17 | "p": "image", 18 | "pt": "msg", 19 | "to": "https://Fake_HA_Server.duckdns.org:8123/api/camera_proxy/camera.sliding_door?api_password=notMyPassword", 20 | "tot": "str" 21 | } 22 | ], 23 | "action": "", 24 | "property": "", 25 | "from": "", 26 | "to": "", 27 | "reg": false, 28 | "x": 760, 29 | "y": 100, 30 | "wires": [ 31 | [ 32 | "72f37449.6ab70c" 33 | ] 34 | ] 35 | }, 36 | { 37 | "id": "75bd66dd.07e288", 38 | "type": "change", 39 | "z": "c98c2f87.1a57", 40 | "name": "Family Room Window Open", 41 | "rules": [ 42 | { 43 | "t": "set", 44 | "p": "windowName", 45 | "pt": "msg", 46 | "to": "Family Room Window Open", 47 | "tot": "str" 48 | }, 49 | { 50 | "t": "set", 51 | "p": "image", 52 | "pt": "msg", 53 | "to": "https://Fake_HA_Server.duckdns.org:8123/api/camera_proxy/camera.hittel_gate?api_password=notMyPassword", 54 | "tot": "str" 55 | } 56 | ], 57 | "action": "", 58 | "property": "", 59 | "from": "", 60 | "to": "", 61 | "reg": false, 62 | "x": 760, 63 | "y": 220, 64 | "wires": [ 65 | [ 66 | "72f37449.6ab70c" 67 | ] 68 | ] 69 | }, 70 | { 71 | "id": "d4b58d21.21339", 72 | "type": "change", 73 | "z": "c98c2f87.1a57", 74 | "name": "Playroom Window Open", 75 | "rules": [ 76 | { 77 | "t": "set", 78 | "p": "windowName", 79 | "pt": "msg", 80 | "to": "Playroom Window Open", 81 | "tot": "str" 82 | }, 83 | { 84 | "t": "set", 85 | "p": "image", 86 | "pt": "msg", 87 | "to": "https://Fake_HA_Server.duckdns.org:8123/api/camera_proxy/camera.hittel_gate?api_password=notMyPassword", 88 | "tot": "str" 89 | } 90 | ], 91 | "action": "", 92 | "property": "", 93 | "from": "", 94 | "to": "", 95 | "reg": false, 96 | "x": 750, 97 | "y": 280, 98 | "wires": [ 99 | [ 100 | "72f37449.6ab70c" 101 | ] 102 | ] 103 | }, 104 | { 105 | "id": "faa7e302.a82ca", 106 | "type": "change", 107 | "z": "c98c2f87.1a57", 108 | "name": "Kitchen Window Open", 109 | "rules": [ 110 | { 111 | "t": "set", 112 | "p": "windowName", 113 | "pt": "msg", 114 | "to": "Kitchen Window Open", 115 | "tot": "str" 116 | }, 117 | { 118 | "t": "set", 119 | "p": "image", 120 | "pt": "msg", 121 | "to": "https://Fake_HA_Server.duckdns.org:8123/api/camera_proxy/camera.sliding_door?api_password=notMyPassword", 122 | "tot": "str" 123 | } 124 | ], 125 | "action": "", 126 | "property": "", 127 | "from": "", 128 | "to": "", 129 | "reg": false, 130 | "x": 740, 131 | "y": 340, 132 | "wires": [ 133 | [ 134 | "72f37449.6ab70c" 135 | ] 136 | ] 137 | }, 138 | { 139 | "id": "5d8fa667.c98288", 140 | "type": "change", 141 | "z": "c98c2f87.1a57", 142 | "name": "Dining Room Window Open", 143 | "rules": [ 144 | { 145 | "t": "set", 146 | "p": "windowName", 147 | "pt": "msg", 148 | "to": "Dining Room Window Open", 149 | "tot": "str" 150 | }, 151 | { 152 | "t": "set", 153 | "p": "image", 154 | "pt": "msg", 155 | "to": "https://Fake_HA_Server.duckdns.org:8123/api/camera_proxy/camera.front_door?api_password=notMyPassword", 156 | "tot": "str" 157 | } 158 | ], 159 | "action": "", 160 | "property": "", 161 | "from": "", 162 | "to": "", 163 | "reg": false, 164 | "x": 760, 165 | "y": 400, 166 | "wires": [ 167 | [ 168 | "72f37449.6ab70c" 169 | ] 170 | ] 171 | }, 172 | { 173 | "id": "1d73c37a.0f876d", 174 | "type": "api-call-service", 175 | "z": "c98c2f87.1a57", 176 | "name": "Notify Rob", 177 | "server": "1e776005.3ee9b", 178 | "service_domain": "notify", 179 | "service": "ios_robs_iphone", 180 | "data": "{}", 181 | "x": 1270, 182 | "y": 180, 183 | "wires": [] 184 | }, 185 | { 186 | "id": "72f37449.6ab70c", 187 | "type": "function", 188 | "z": "c98c2f87.1a57", 189 | "name": "Data", 190 | "func": "msg.payload = \n{\n \"data\": \n {\n \"message\": msg.windowName,\n \"data\": \n {\n \"push\": \n {\n \"badge\": 5,\n \"category\": \"siren\"\n },\n \"attachment\": \n {\n \"url\": msg.image,\n \"content-type\": \"jpeg\",\n \"hide-thumbnail\": false\n }\n }\n }\n}\nreturn msg;", 191 | "outputs": 1, 192 | "noerr": 0, 193 | "x": 1070, 194 | "y": 240, 195 | "wires": [ 196 | [ 197 | "1d73c37a.0f876d", 198 | "286175c7.92581a", 199 | "2787e6ef.086f7a" 200 | ] 201 | ] 202 | }, 203 | { 204 | "id": "286175c7.92581a", 205 | "type": "api-call-service", 206 | "z": "c98c2f87.1a57", 207 | "name": "Notify Lindsay", 208 | "server": "1e776005.3ee9b", 209 | "service_domain": "notify", 210 | "service": "ios_lindsays_iphone", 211 | "data": "{}", 212 | "x": 1280, 213 | "y": 280, 214 | "wires": [] 215 | }, 216 | { 217 | "id": "5be7d623.0f8458", 218 | "type": "server-state-changed", 219 | "z": "c98c2f87.1a57", 220 | "name": "Family Room Window 1", 221 | "server": "1e776005.3ee9b", 222 | "entityidfilter": "sensor.family_room_window_1", 223 | "haltifstate": "closed", 224 | "x": 200, 225 | "y": 100, 226 | "wires": [ 227 | [ 228 | "9caf9959.935968" 229 | ] 230 | ] 231 | }, 232 | { 233 | "id": "e5899439.d08c58", 234 | "type": "server-state-changed", 235 | "z": "c98c2f87.1a57", 236 | "name": "Family Room Window 2", 237 | "server": "1e776005.3ee9b", 238 | "entityidfilter": "sensor.family_room_window_2", 239 | "haltifstate": "closed", 240 | "x": 200, 241 | "y": 140, 242 | "wires": [ 243 | [ 244 | "9caf9959.935968" 245 | ] 246 | ] 247 | }, 248 | { 249 | "id": "408bbf80.a5e59", 250 | "type": "server-state-changed", 251 | "z": "c98c2f87.1a57", 252 | "name": "Family Room Window 3", 253 | "server": "1e776005.3ee9b", 254 | "entityidfilter": "sensor.family_room_window_3", 255 | "haltifstate": "closed", 256 | "x": 200, 257 | "y": 220, 258 | "wires": [ 259 | [ 260 | "bbbe4934.bf19a8" 261 | ] 262 | ] 263 | }, 264 | { 265 | "id": "ae1defc4.29a73", 266 | "type": "server-state-changed", 267 | "z": "c98c2f87.1a57", 268 | "name": "Playroom Window", 269 | "server": "1e776005.3ee9b", 270 | "entityidfilter": "sensor.family_room_window_1", 271 | "haltifstate": "closed", 272 | "x": 190, 273 | "y": 280, 274 | "wires": [ 275 | [ 276 | "6641fcb9.32f824" 277 | ] 278 | ] 279 | }, 280 | { 281 | "id": "b31d798b.6f36a8", 282 | "type": "server-state-changed", 283 | "z": "c98c2f87.1a57", 284 | "name": "Kitchen Window", 285 | "server": "1e776005.3ee9b", 286 | "entityidfilter": "sensor.kitchen_window", 287 | "haltifstate": "closed", 288 | "x": 180, 289 | "y": 340, 290 | "wires": [ 291 | [ 292 | "8f8e0582.9b5348" 293 | ] 294 | ] 295 | }, 296 | { 297 | "id": "fde325f0.93feb8", 298 | "type": "server-state-changed", 299 | "z": "c98c2f87.1a57", 300 | "name": "Dining Room Window", 301 | "server": "1e776005.3ee9b", 302 | "entityidfilter": "sensor.dining_room_window", 303 | "haltifstate": "closed", 304 | "x": 200, 305 | "y": 400, 306 | "wires": [ 307 | [ 308 | "5c84fe5d.a7107" 309 | ] 310 | ] 311 | }, 312 | { 313 | "id": "9caf9959.935968", 314 | "type": "switch", 315 | "z": "c98c2f87.1a57", 316 | "name": "Check Battery", 317 | "property": "payload", 318 | "propertyType": "msg", 319 | "rules": [ 320 | { 321 | "t": "eq", 322 | "v": "open", 323 | "vt": "str" 324 | }, 325 | { 326 | "t": "neq", 327 | "v": "open", 328 | "vt": "str" 329 | } 330 | ], 331 | "checkall": "true", 332 | "repair": false, 333 | "outputs": 2, 334 | "x": 480, 335 | "y": 100, 336 | "wires": [ 337 | [ 338 | "2fd6bcf8.a934f4" 339 | ], 340 | [ 341 | "b9aac43.aefd938" 342 | ] 343 | ] 344 | }, 345 | { 346 | "id": "bbbe4934.bf19a8", 347 | "type": "switch", 348 | "z": "c98c2f87.1a57", 349 | "name": "Check Battery", 350 | "property": "payload", 351 | "propertyType": "msg", 352 | "rules": [ 353 | { 354 | "t": "eq", 355 | "v": "open", 356 | "vt": "str" 357 | }, 358 | { 359 | "t": "neq", 360 | "v": "open", 361 | "vt": "str" 362 | } 363 | ], 364 | "checkall": "true", 365 | "repair": false, 366 | "outputs": 2, 367 | "x": 480, 368 | "y": 220, 369 | "wires": [ 370 | [ 371 | "75bd66dd.07e288" 372 | ], 373 | [ 374 | "b9aac43.aefd938" 375 | ] 376 | ] 377 | }, 378 | { 379 | "id": "6641fcb9.32f824", 380 | "type": "switch", 381 | "z": "c98c2f87.1a57", 382 | "name": "Check Battery", 383 | "property": "payload", 384 | "propertyType": "msg", 385 | "rules": [ 386 | { 387 | "t": "eq", 388 | "v": "open", 389 | "vt": "str" 390 | }, 391 | { 392 | "t": "neq", 393 | "v": "open", 394 | "vt": "str" 395 | } 396 | ], 397 | "checkall": "true", 398 | "repair": false, 399 | "outputs": 2, 400 | "x": 480, 401 | "y": 280, 402 | "wires": [ 403 | [ 404 | "d4b58d21.21339" 405 | ], 406 | [ 407 | "b9aac43.aefd938" 408 | ] 409 | ] 410 | }, 411 | { 412 | "id": "8f8e0582.9b5348", 413 | "type": "switch", 414 | "z": "c98c2f87.1a57", 415 | "name": "Check Battery", 416 | "property": "payload", 417 | "propertyType": "msg", 418 | "rules": [ 419 | { 420 | "t": "eq", 421 | "v": "open", 422 | "vt": "str" 423 | }, 424 | { 425 | "t": "neq", 426 | "v": "open", 427 | "vt": "str" 428 | } 429 | ], 430 | "checkall": "true", 431 | "repair": false, 432 | "outputs": 2, 433 | "x": 480, 434 | "y": 340, 435 | "wires": [ 436 | [ 437 | "faa7e302.a82ca" 438 | ], 439 | [ 440 | "b9aac43.aefd938" 441 | ] 442 | ] 443 | }, 444 | { 445 | "id": "5c84fe5d.a7107", 446 | "type": "switch", 447 | "z": "c98c2f87.1a57", 448 | "name": "Check Battery", 449 | "property": "payload", 450 | "propertyType": "msg", 451 | "rules": [ 452 | { 453 | "t": "eq", 454 | "v": "open", 455 | "vt": "str" 456 | }, 457 | { 458 | "t": "neq", 459 | "v": "open", 460 | "vt": "str" 461 | } 462 | ], 463 | "checkall": "true", 464 | "repair": false, 465 | "outputs": 2, 466 | "x": 480, 467 | "y": 400, 468 | "wires": [ 469 | [ 470 | "5d8fa667.c98288" 471 | ], 472 | [ 473 | "b9aac43.aefd938" 474 | ] 475 | ] 476 | }, 477 | { 478 | "id": "8f2151d3.589e5", 479 | "type": "api-call-service", 480 | "z": "c98c2f87.1a57", 481 | "name": "Notify Rob", 482 | "server": "1e776005.3ee9b", 483 | "service_domain": "notify", 484 | "service": "ios_robs_iphone", 485 | "data": "{}", 486 | "x": 870, 487 | "y": 500, 488 | "wires": [] 489 | }, 490 | { 491 | "id": "b9aac43.aefd938", 492 | "type": "function", 493 | "z": "c98c2f87.1a57", 494 | "name": "Data", 495 | "func": "msg.payload = \n{\n \"data\": \n {\n \"message\": msg.payload\n }\n}\nreturn msg;", 496 | "outputs": 1, 497 | "noerr": 0, 498 | "x": 690, 499 | "y": 500, 500 | "wires": [ 501 | [ 502 | "8f2151d3.589e5" 503 | ] 504 | ] 505 | }, 506 | { 507 | "id": "2787e6ef.086f7a", 508 | "type": "api-current-state", 509 | "z": "c98c2f87.1a57", 510 | "name": "Exterior Alarms", 511 | "server": "1e776005.3ee9b", 512 | "halt_if": "off", 513 | "entity_id": "input_boolean.alarm_exterior", 514 | "x": 1080, 515 | "y": 440, 516 | "wires": [ 517 | [ 518 | "edb11620.89b208", 519 | "8b00861d.31b668", 520 | "89505b71.c0b9d8", 521 | "efffa8eb.e98f78", 522 | "6e067002.a8af3" 523 | ] 524 | ] 525 | }, 526 | { 527 | "id": "efffa8eb.e98f78", 528 | "type": "api-call-service", 529 | "z": "c98c2f87.1a57", 530 | "name": "Alarm Notify Lindsay", 531 | "server": "1e776005.3ee9b", 532 | "service_domain": "automation", 533 | "service": "trigger", 534 | "data": "{ \"entity_id\": \"automation.active_alarm_2\" }", 535 | "x": 1300, 536 | "y": 500, 537 | "wires": [] 538 | }, 539 | { 540 | "id": "89505b71.c0b9d8", 541 | "type": "api-call-service", 542 | "z": "c98c2f87.1a57", 543 | "name": "Alarm Notify Rob", 544 | "server": "1e776005.3ee9b", 545 | "service_domain": "automation", 546 | "service": "trigger", 547 | "data": "{ \"entity_id\": \"automation.active_alarm\" }", 548 | "x": 1290, 549 | "y": 460, 550 | "wires": [] 551 | }, 552 | { 553 | "id": "8b00861d.31b668", 554 | "type": "api-call-service", 555 | "z": "c98c2f87.1a57", 556 | "name": "Alarm Switch On", 557 | "server": "1e776005.3ee9b", 558 | "service_domain": "input_boolean", 559 | "service": "turn_on", 560 | "data": "{ \"entity_id\": \"input_boolean.alarm_siren\" }", 561 | "x": 1290, 562 | "y": 420, 563 | "wires": [] 564 | }, 565 | { 566 | "id": "edb11620.89b208", 567 | "type": "change", 568 | "z": "c98c2f87.1a57", 569 | "name": "Alarm Lights", 570 | "rules": [ 571 | { 572 | "t": "set", 573 | "p": "payload", 574 | "pt": "msg", 575 | "to": "Alarm Lights", 576 | "tot": "str" 577 | } 578 | ], 579 | "action": "", 580 | "property": "", 581 | "from": "", 582 | "to": "", 583 | "reg": false, 584 | "x": 1270, 585 | "y": 380, 586 | "wires": [ 587 | [ 588 | "5b084058.73754" 589 | ] 590 | ] 591 | }, 592 | { 593 | "id": "5b084058.73754", 594 | "type": "mqtt out", 595 | "z": "c98c2f87.1a57", 596 | "name": "Alarm Lights", 597 | "topic": "Commands", 598 | "qos": "0", 599 | "retain": "false", 600 | "broker": "cd47f7.b0f6f808", 601 | "x": 1430, 602 | "y": 380, 603 | "wires": [] 604 | }, 605 | { 606 | "id": "6e067002.a8af3", 607 | "type": "mqtt out", 608 | "z": "c98c2f87.1a57", 609 | "name": "Send Alarm", 610 | "topic": "Alarms", 611 | "qos": "0", 612 | "retain": "false", 613 | "broker": "cd47f7.b0f6f808", 614 | "x": 1270, 615 | "y": 540, 616 | "wires": [] 617 | }, 618 | { 619 | "id": "1e776005.3ee9b", 620 | "type": "server", 621 | "z": "", 622 | "name": "Home Assistant", 623 | "url": "https://Fake_HA_Server.duckdns.org:8123", 624 | "pass": "notMyPassword" 625 | }, 626 | { 627 | "id": "cd47f7.b0f6f808", 628 | "type": "mqtt-broker", 629 | "z": "", 630 | "broker": "192.168.86.168", 631 | "port": "1883", 632 | "clientid": "", 633 | "usetls": false, 634 | "compatmode": true, 635 | "keepalive": "60", 636 | "cleansession": true, 637 | "willTopic": "", 638 | "willQos": "0", 639 | "willPayload": "", 640 | "birthTopic": "", 641 | "birthQos": "0", 642 | "birthPayload": "" 643 | } 644 | ] -------------------------------------------------------------------------------- /Example Flow 3.txt: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "96fb8840.cea778", 4 | "type": "tab", 5 | "label": "Home Away", 6 | "disabled": false, 7 | "info": "" 8 | }, 9 | { 10 | "id": "a842a777.1a1818", 11 | "type": "function", 12 | "z": "96fb8840.cea778", 13 | "name": "ON", 14 | "func": "if (msg.payload == \"ON\"){\nreturn msg;}", 15 | "outputs": 1, 16 | "noerr": 0, 17 | "x": 950, 18 | "y": 820, 19 | "wires": [ 20 | [ 21 | "f4ce7390.9e9af" 22 | ] 23 | ] 24 | }, 25 | { 26 | "id": "d76bd090.cfe3b", 27 | "type": "function", 28 | "z": "96fb8840.cea778", 29 | "name": "OFF", 30 | "func": "if (msg.payload == \"OFF\"){\nreturn msg;}", 31 | "outputs": 1, 32 | "noerr": 0, 33 | "x": 952, 34 | "y": 917, 35 | "wires": [ 36 | [ 37 | "939cf1fa.85821" 38 | ] 39 | ] 40 | }, 41 | { 42 | "id": "f4ce7390.9e9af", 43 | "type": "api-call-service", 44 | "z": "96fb8840.cea778", 45 | "name": "Buffet On", 46 | "server": "1e776005.3ee9b", 47 | "service_domain": "switch", 48 | "service": "turn_on", 49 | "data": "{ \"entity_id\": \"switch.buffet_light\" }", 50 | "x": 1160, 51 | "y": 820, 52 | "wires": [] 53 | }, 54 | { 55 | "id": "939cf1fa.85821", 56 | "type": "api-call-service", 57 | "z": "96fb8840.cea778", 58 | "name": "Buffet Off", 59 | "server": "1e776005.3ee9b", 60 | "service_domain": "switch", 61 | "service": "turn_off", 62 | "data": "{ \"entity_id\": \"switch.buffet_light\" }", 63 | "x": 1161.8333282470703, 64 | "y": 917.5555572509766, 65 | "wires": [] 66 | }, 67 | { 68 | "id": "7ccb344c.108a5c", 69 | "type": "light-scheduler", 70 | "z": "96fb8840.cea778", 71 | "settings": "bc023b9.e858cc8", 72 | "events": "[{\"start\":{\"dow\":1,\"mod\":1020},\"end\":{\"dow\":1,\"mod\":1380}},{\"start\":{\"dow\":2,\"mod\":1020},\"end\":{\"dow\":2,\"mod\":1380}},{\"start\":{\"dow\":3,\"mod\":1020},\"end\":{\"dow\":3,\"mod\":1380}},{\"start\":{\"dow\":4,\"mod\":1020},\"end\":{\"dow\":4,\"mod\":1380}},{\"start\":{\"dow\":5,\"mod\":1020},\"end\":{\"dow\":5,\"mod\":1380}},{\"start\":{\"dow\":6,\"mod\":1020},\"end\":{\"dow\":6,\"mod\":1380}},{\"start\":{\"dow\":0,\"mod\":1020},\"end\":{\"dow\":0,\"mod\":1380}}]", 73 | "topic": "Buffet", 74 | "name": "Buffet Light", 75 | "onPayload": "ON", 76 | "onPayloadType": "str", 77 | "offPayload": "OFF", 78 | "offPayloadType": "str", 79 | "onlyWhenDark": false, 80 | "sunElevationThreshold": 6, 81 | "sunShowElevationInStatus": false, 82 | "outputfreq": "output.statechange.startup", 83 | "x": 770, 84 | "y": 860, 85 | "wires": [ 86 | [ 87 | "a842a777.1a1818", 88 | "d76bd090.cfe3b" 89 | ] 90 | ] 91 | }, 92 | { 93 | "id": "b0930a79.e932a8", 94 | "type": "light-scheduler", 95 | "z": "96fb8840.cea778", 96 | "settings": "bc023b9.e858cc8", 97 | "events": "[{\"start\":{\"dow\":1,\"mod\":360},\"end\":{\"dow\":2,\"mod\":0}},{\"start\":{\"dow\":2,\"mod\":360},\"end\":{\"dow\":3,\"mod\":0}},{\"start\":{\"dow\":3,\"mod\":360},\"end\":{\"dow\":4,\"mod\":0}},{\"start\":{\"dow\":4,\"mod\":360},\"end\":{\"dow\":5,\"mod\":0}},{\"start\":{\"dow\":5,\"mod\":360},\"end\":{\"dow\":6,\"mod\":0}},{\"start\":{\"dow\":6,\"mod\":360},\"end\":{\"dow\":0,\"mod\":0}},{\"start\":{\"dow\":0,\"mod\":360},\"end\":{\"dow\":1,\"mod\":0}}]", 98 | "topic": "Cabinet Lights", 99 | "name": "Cabinet Lights", 100 | "onPayload": "ON", 101 | "onPayloadType": "str", 102 | "offPayload": "OFF", 103 | "offPayloadType": "str", 104 | "onlyWhenDark": false, 105 | "sunElevationThreshold": 6, 106 | "sunShowElevationInStatus": false, 107 | "outputfreq": "output.statechange.startup", 108 | "x": 780, 109 | "y": 660, 110 | "wires": [ 111 | [ 112 | "20c87d66.38cd12", 113 | "3f1bcfe6.407b4" 114 | ] 115 | ] 116 | }, 117 | { 118 | "id": "20c87d66.38cd12", 119 | "type": "function", 120 | "z": "96fb8840.cea778", 121 | "name": "ON", 122 | "func": "if (msg.payload == \"ON\"){\nreturn msg;}", 123 | "outputs": 1, 124 | "noerr": 0, 125 | "x": 950, 126 | "y": 600, 127 | "wires": [ 128 | [ 129 | "620efa82.e296f4" 130 | ] 131 | ] 132 | }, 133 | { 134 | "id": "3f1bcfe6.407b4", 135 | "type": "function", 136 | "z": "96fb8840.cea778", 137 | "name": "OFF", 138 | "func": "if (msg.payload == \"OFF\"){\nreturn msg;}", 139 | "outputs": 1, 140 | "noerr": 0, 141 | "x": 953, 142 | "y": 705, 143 | "wires": [ 144 | [ 145 | "a4a6a4fe.ae1398" 146 | ] 147 | ] 148 | }, 149 | { 150 | "id": "620efa82.e296f4", 151 | "type": "api-call-service", 152 | "z": "96fb8840.cea778", 153 | "name": "Cabinet Lights On", 154 | "server": "1e776005.3ee9b", 155 | "service_domain": "switch", 156 | "service": "turn_on", 157 | "data": "{ \"entity_id\": \"switch.cabinet_lights\" }", 158 | "x": 1184.0000076293945, 159 | "y": 599.2222032546997, 160 | "wires": [] 161 | }, 162 | { 163 | "id": "a4a6a4fe.ae1398", 164 | "type": "api-call-service", 165 | "z": "96fb8840.cea778", 166 | "name": "Cabinet Lights Off", 167 | "server": "1e776005.3ee9b", 168 | "service_domain": "switch", 169 | "service": "turn_off", 170 | "data": "{ \"entity_id\": \"switch.cabinet_lights\" }", 171 | "x": 1183.8333435058594, 172 | "y": 705.4446439743042, 173 | "wires": [] 174 | }, 175 | { 176 | "id": "d197735a.484b6", 177 | "type": "api-call-service", 178 | "z": "96fb8840.cea778", 179 | "name": "Exterior Notifications On", 180 | "server": "1e776005.3ee9b", 181 | "service_domain": "input_boolean", 182 | "service": "turn_on", 183 | "data": "{ \"entity_id\": \"input_boolean.notify_exterior\" }", 184 | "x": 630, 185 | "y": 280, 186 | "wires": [] 187 | }, 188 | { 189 | "id": "9a9fd0e1.dd29", 190 | "type": "server-state-changed", 191 | "z": "96fb8840.cea778", 192 | "name": "Away", 193 | "server": "1e776005.3ee9b", 194 | "entityidfilter": "input_boolean.home_occupied", 195 | "haltifstate": "on", 196 | "x": 150, 197 | "y": 560, 198 | "wires": [ 199 | [ 200 | "f6db335b.7c475", 201 | "8002357d.2189d8", 202 | "8c24dadf.a515b8", 203 | "30e253a6.c1db1c", 204 | "614d6dcf.1d8cb4", 205 | "6baf9fc5.68c49", 206 | "372fa099.11b85" 207 | ] 208 | ] 209 | }, 210 | { 211 | "id": "9ccdbfd5.dda22", 212 | "type": "api-call-service", 213 | "z": "96fb8840.cea778", 214 | "name": "Garage Entry Off", 215 | "server": "1e776005.3ee9b", 216 | "service_domain": "switch", 217 | "service": "turn_off", 218 | "data": "{ \"entity_id\": \"switch.garage_entry_light\" }", 219 | "x": 610, 220 | "y": 80, 221 | "wires": [] 222 | }, 223 | { 224 | "id": "8d21834b.5b90d", 225 | "type": "api-call-service", 226 | "z": "96fb8840.cea778", 227 | "name": "Uplights Off", 228 | "server": "1e776005.3ee9b", 229 | "service_domain": "switch", 230 | "service": "turn_off", 231 | "data": "{ \"entity_id\": \"switch.uplights\" }", 232 | "x": 590, 233 | "y": 120, 234 | "wires": [] 235 | }, 236 | { 237 | "id": "b49f9d7c.98349", 238 | "type": "api-call-service", 239 | "z": "96fb8840.cea778", 240 | "name": "Ben Light Off", 241 | "server": "1e776005.3ee9b", 242 | "service_domain": "light", 243 | "service": "turn_off", 244 | "data": "{ \"entity_id\": \"light.ben_light\" }", 245 | "x": 590, 246 | "y": 160, 247 | "wires": [] 248 | }, 249 | { 250 | "id": "2464184a.47de98", 251 | "type": "api-call-service", 252 | "z": "96fb8840.cea778", 253 | "name": "Other Ben Light Off", 254 | "server": "1e776005.3ee9b", 255 | "service_domain": "light", 256 | "service": "turn_off", 257 | "data": "{ \"entity_id\": \"light.other_ben_light\" }", 258 | "x": 610, 259 | "y": 200, 260 | "wires": [] 261 | }, 262 | { 263 | "id": "c75f0bed.a1ff08", 264 | "type": "api-call-service", 265 | "z": "96fb8840.cea778", 266 | "name": "Kitchen Lights Off", 267 | "server": "1e776005.3ee9b", 268 | "service_domain": "light", 269 | "service": "turn_off", 270 | "data": "{ \"entity_id\": \"light.kitchen_lights\" }", 271 | "x": 610, 272 | "y": 240, 273 | "wires": [] 274 | }, 275 | { 276 | "id": "cd75dbb4.439008", 277 | "type": "server-state-changed", 278 | "z": "96fb8840.cea778", 279 | "name": "Home", 280 | "server": "1e776005.3ee9b", 281 | "entityidfilter": "input_boolean.home_occupied", 282 | "haltifstate": "off", 283 | "x": 150, 284 | "y": 880, 285 | "wires": [ 286 | [ 287 | "396d9b9f.abedb4", 288 | "10abfcf2.392423", 289 | "50aef83a.d93078", 290 | "92c6bae4.888248", 291 | "41fc4c31.e71f14", 292 | "4ce27abd.e894a4", 293 | "be55f15c.b6c46" 294 | ] 295 | ] 296 | }, 297 | { 298 | "id": "396d9b9f.abedb4", 299 | "type": "api-call-service", 300 | "z": "96fb8840.cea778", 301 | "name": "Exterior Notifications Off", 302 | "server": "1e776005.3ee9b", 303 | "service_domain": "input_boolean", 304 | "service": "turn_off", 305 | "data": "{ \"entity_id\": \"input_boolean.notify_exterior\" }", 306 | "x": 470, 307 | "y": 1180, 308 | "wires": [] 309 | }, 310 | { 311 | "id": "10abfcf2.392423", 312 | "type": "change", 313 | "z": "96fb8840.cea778", 314 | "name": "auto", 315 | "rules": [ 316 | { 317 | "t": "set", 318 | "p": "payload", 319 | "pt": "msg", 320 | "to": "auto", 321 | "tot": "str" 322 | } 323 | ], 324 | "action": "", 325 | "property": "", 326 | "from": "", 327 | "to": "", 328 | "reg": false, 329 | "x": 410, 330 | "y": 860, 331 | "wires": [ 332 | [ 333 | "7ccb344c.108a5c", 334 | "b0930a79.e932a8" 335 | ] 336 | ] 337 | }, 338 | { 339 | "id": "f6db335b.7c475", 340 | "type": "change", 341 | "z": "96fb8840.cea778", 342 | "name": "off", 343 | "rules": [ 344 | { 345 | "t": "set", 346 | "p": "payload", 347 | "pt": "msg", 348 | "to": "off", 349 | "tot": "str" 350 | } 351 | ], 352 | "action": "", 353 | "property": "", 354 | "from": "", 355 | "to": "", 356 | "reg": false, 357 | "x": 410, 358 | "y": 780, 359 | "wires": [ 360 | [ 361 | "7ccb344c.108a5c", 362 | "b0930a79.e932a8" 363 | ] 364 | ] 365 | }, 366 | { 367 | "id": "8002357d.2189d8", 368 | "type": "delay", 369 | "z": "96fb8840.cea778", 370 | "name": "", 371 | "pauseType": "delay", 372 | "timeout": "1", 373 | "timeoutUnits": "seconds", 374 | "rate": "1", 375 | "nbRateUnits": "1", 376 | "rateUnits": "second", 377 | "randomFirst": "1", 378 | "randomLast": "5", 379 | "randomUnits": "seconds", 380 | "drop": false, 381 | "x": 340, 382 | "y": 220, 383 | "wires": [ 384 | [ 385 | "9ccdbfd5.dda22", 386 | "8d21834b.5b90d", 387 | "b49f9d7c.98349", 388 | "2464184a.47de98", 389 | "c75f0bed.a1ff08", 390 | "d197735a.484b6" 391 | ] 392 | ] 393 | }, 394 | { 395 | "id": "8c24dadf.a515b8", 396 | "type": "api-current-state", 397 | "z": "96fb8840.cea778", 398 | "name": "Garage Entry State", 399 | "server": "1e776005.3ee9b", 400 | "halt_if": "", 401 | "entity_id": "switch.garage_entry_light", 402 | "x": 410, 403 | "y": 400, 404 | "wires": [ 405 | [ 406 | "5744724.3c86b8c" 407 | ] 408 | ] 409 | }, 410 | { 411 | "id": "614d6dcf.1d8cb4", 412 | "type": "api-current-state", 413 | "z": "96fb8840.cea778", 414 | "name": "Ben Light State", 415 | "server": "1e776005.3ee9b", 416 | "halt_if": "", 417 | "entity_id": "light.ben_light", 418 | "x": 400, 419 | "y": 480, 420 | "wires": [ 421 | [ 422 | "a9b75686.b67e28" 423 | ] 424 | ] 425 | }, 426 | { 427 | "id": "30e253a6.c1db1c", 428 | "type": "api-current-state", 429 | "z": "96fb8840.cea778", 430 | "name": "Uplights State", 431 | "server": "1e776005.3ee9b", 432 | "halt_if": "", 433 | "entity_id": "switch.uplights", 434 | "x": 400, 435 | "y": 440, 436 | "wires": [ 437 | [ 438 | "edacff67.f2e22" 439 | ] 440 | ] 441 | }, 442 | { 443 | "id": "6baf9fc5.68c49", 444 | "type": "api-current-state", 445 | "z": "96fb8840.cea778", 446 | "name": "Other Ben Light", 447 | "server": "1e776005.3ee9b", 448 | "halt_if": "", 449 | "entity_id": "light.other_ben_light", 450 | "x": 400, 451 | "y": 520, 452 | "wires": [ 453 | [ 454 | "96ab2636.4f66c8" 455 | ] 456 | ] 457 | }, 458 | { 459 | "id": "372fa099.11b85", 460 | "type": "api-current-state", 461 | "z": "96fb8840.cea778", 462 | "name": "Kitchen Light State", 463 | "server": "1e776005.3ee9b", 464 | "halt_if": "", 465 | "entity_id": "light.kitchen_lights", 466 | "x": 410, 467 | "y": 560, 468 | "wires": [ 469 | [ 470 | "287c9689.377d1a" 471 | ] 472 | ] 473 | }, 474 | { 475 | "id": "5744724.3c86b8c", 476 | "type": "change", 477 | "z": "96fb8840.cea778", 478 | "name": "Garage Flow", 479 | "rules": [ 480 | { 481 | "t": "set", 482 | "p": "garageEntry", 483 | "pt": "flow", 484 | "to": "payload", 485 | "tot": "msg" 486 | } 487 | ], 488 | "action": "", 489 | "property": "", 490 | "from": "", 491 | "to": "", 492 | "reg": false, 493 | "x": 650, 494 | "y": 400, 495 | "wires": [ 496 | [] 497 | ] 498 | }, 499 | { 500 | "id": "edacff67.f2e22", 501 | "type": "change", 502 | "z": "96fb8840.cea778", 503 | "name": "Uplights Flow", 504 | "rules": [ 505 | { 506 | "t": "set", 507 | "p": "uplights", 508 | "pt": "flow", 509 | "to": "payload", 510 | "tot": "msg" 511 | } 512 | ], 513 | "action": "", 514 | "property": "", 515 | "from": "", 516 | "to": "", 517 | "reg": false, 518 | "x": 660, 519 | "y": 440, 520 | "wires": [ 521 | [] 522 | ] 523 | }, 524 | { 525 | "id": "a9b75686.b67e28", 526 | "type": "change", 527 | "z": "96fb8840.cea778", 528 | "name": "Ben Light Flow", 529 | "rules": [ 530 | { 531 | "t": "set", 532 | "p": "benLight", 533 | "pt": "flow", 534 | "to": "payload", 535 | "tot": "msg" 536 | } 537 | ], 538 | "action": "", 539 | "property": "", 540 | "from": "", 541 | "to": "", 542 | "reg": false, 543 | "x": 660, 544 | "y": 480, 545 | "wires": [ 546 | [] 547 | ] 548 | }, 549 | { 550 | "id": "96ab2636.4f66c8", 551 | "type": "change", 552 | "z": "96fb8840.cea778", 553 | "name": "Other Ben Light Flow", 554 | "rules": [ 555 | { 556 | "t": "set", 557 | "p": "otherBenLight", 558 | "pt": "flow", 559 | "to": "payload", 560 | "tot": "msg" 561 | } 562 | ], 563 | "action": "", 564 | "property": "", 565 | "from": "", 566 | "to": "", 567 | "reg": false, 568 | "x": 680, 569 | "y": 520, 570 | "wires": [ 571 | [] 572 | ] 573 | }, 574 | { 575 | "id": "287c9689.377d1a", 576 | "type": "change", 577 | "z": "96fb8840.cea778", 578 | "name": "Kitchen Light Flow", 579 | "rules": [ 580 | { 581 | "t": "set", 582 | "p": "kichenLight", 583 | "pt": "flow", 584 | "to": "payload", 585 | "tot": "msg" 586 | } 587 | ], 588 | "action": "", 589 | "property": "", 590 | "from": "", 591 | "to": "", 592 | "reg": false, 593 | "x": 670, 594 | "y": 560, 595 | "wires": [ 596 | [] 597 | ] 598 | }, 599 | { 600 | "id": "50aef83a.d93078", 601 | "type": "switch", 602 | "z": "96fb8840.cea778", 603 | "name": "Garage Flow", 604 | "property": "garageEntry", 605 | "propertyType": "flow", 606 | "rules": [ 607 | { 608 | "t": "eq", 609 | "v": "on", 610 | "vt": "str" 611 | } 612 | ], 613 | "checkall": "true", 614 | "repair": false, 615 | "outputs": 1, 616 | "x": 430, 617 | "y": 960, 618 | "wires": [ 619 | [ 620 | "7257d925.520be8" 621 | ] 622 | ] 623 | }, 624 | { 625 | "id": "92c6bae4.888248", 626 | "type": "switch", 627 | "z": "96fb8840.cea778", 628 | "name": "Uplights Flow", 629 | "property": "uplights", 630 | "propertyType": "flow", 631 | "rules": [ 632 | { 633 | "t": "eq", 634 | "v": "on", 635 | "vt": "str" 636 | } 637 | ], 638 | "checkall": "true", 639 | "repair": false, 640 | "outputs": 1, 641 | "x": 440, 642 | "y": 1000, 643 | "wires": [ 644 | [ 645 | "b4d6f661.8c6c88" 646 | ] 647 | ] 648 | }, 649 | { 650 | "id": "41fc4c31.e71f14", 651 | "type": "switch", 652 | "z": "96fb8840.cea778", 653 | "name": "Ben Light Flow", 654 | "property": "benLight", 655 | "propertyType": "flow", 656 | "rules": [ 657 | { 658 | "t": "eq", 659 | "v": "on", 660 | "vt": "str" 661 | } 662 | ], 663 | "checkall": "true", 664 | "repair": false, 665 | "outputs": 1, 666 | "x": 440, 667 | "y": 1040, 668 | "wires": [ 669 | [ 670 | "7b4f5687.787a78" 671 | ] 672 | ] 673 | }, 674 | { 675 | "id": "4ce27abd.e894a4", 676 | "type": "switch", 677 | "z": "96fb8840.cea778", 678 | "name": "Other Ben Light Flow", 679 | "property": "otherBenLight", 680 | "propertyType": "flow", 681 | "rules": [ 682 | { 683 | "t": "eq", 684 | "v": "on", 685 | "vt": "str" 686 | } 687 | ], 688 | "checkall": "true", 689 | "repair": false, 690 | "outputs": 1, 691 | "x": 460, 692 | "y": 1080, 693 | "wires": [ 694 | [ 695 | "1f72f557.d77d5b" 696 | ] 697 | ] 698 | }, 699 | { 700 | "id": "be55f15c.b6c46", 701 | "type": "switch", 702 | "z": "96fb8840.cea778", 703 | "name": "Kitchen Light Flow", 704 | "property": "kitchenLight", 705 | "propertyType": "flow", 706 | "rules": [ 707 | { 708 | "t": "eq", 709 | "v": "on", 710 | "vt": "str" 711 | } 712 | ], 713 | "checkall": "true", 714 | "repair": false, 715 | "outputs": 1, 716 | "x": 450, 717 | "y": 1120, 718 | "wires": [ 719 | [ 720 | "b1042567.79fca8" 721 | ] 722 | ] 723 | }, 724 | { 725 | "id": "7257d925.520be8", 726 | "type": "api-call-service", 727 | "z": "96fb8840.cea778", 728 | "name": "Garage Entry On", 729 | "server": "1e776005.3ee9b", 730 | "service_domain": "switch", 731 | "service": "turn_on", 732 | "data": "{ \"entity_id\": \"switch.garage_entry_light\" }", 733 | "x": 750, 734 | "y": 960, 735 | "wires": [] 736 | }, 737 | { 738 | "id": "b4d6f661.8c6c88", 739 | "type": "api-call-service", 740 | "z": "96fb8840.cea778", 741 | "name": "Uplights On", 742 | "server": "1e776005.3ee9b", 743 | "service_domain": "switch", 744 | "service": "turn_on", 745 | "data": "{ \"entity_id\": \"switch.uplights\" }", 746 | "x": 730, 747 | "y": 1000, 748 | "wires": [] 749 | }, 750 | { 751 | "id": "7b4f5687.787a78", 752 | "type": "api-call-service", 753 | "z": "96fb8840.cea778", 754 | "name": "Ben Light On", 755 | "server": "1e776005.3ee9b", 756 | "service_domain": "light", 757 | "service": "turn_on", 758 | "data": "{ \"entity_id\": \"light.ben_light\" }", 759 | "x": 730, 760 | "y": 1040, 761 | "wires": [] 762 | }, 763 | { 764 | "id": "1f72f557.d77d5b", 765 | "type": "api-call-service", 766 | "z": "96fb8840.cea778", 767 | "name": "Other Ben Light On", 768 | "server": "1e776005.3ee9b", 769 | "service_domain": "light", 770 | "service": "turn_on", 771 | "data": "{ \"entity_id\": \"light.other_ben_light\" }", 772 | "x": 750, 773 | "y": 1080, 774 | "wires": [] 775 | }, 776 | { 777 | "id": "b1042567.79fca8", 778 | "type": "api-call-service", 779 | "z": "96fb8840.cea778", 780 | "name": "Kitchen Lights On", 781 | "server": "1e776005.3ee9b", 782 | "service_domain": "light", 783 | "service": "turn_on", 784 | "data": "{ \"entity_id\": \"light.kitchen_lights\" }", 785 | "x": 750, 786 | "y": 1120, 787 | "wires": [] 788 | }, 789 | { 790 | "id": "1e776005.3ee9b", 791 | "type": "server", 792 | "z": "", 793 | "name": "Home Assistant", 794 | "url": "https://Fake_HA_Server.duckdns.org:8123", 795 | "pass": "notMyPassword" 796 | }, 797 | { 798 | "id": "bc023b9.e858cc8", 799 | "type": "light-scheduler-settings", 800 | "z": "", 801 | "name": "my settings", 802 | "latitude": "38.8977", 803 | "longitude": "77.0365" 804 | } 805 | ] -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Node-RED-Examples 2 | Example flows to get started with Node-RED and hass.io 3 | 4 | Part 1: https://www.youtube.com/watch?v=SuoSXVqjyfc 5 | 6 | Part 2: https://www.youtube.com/watch?v=4QfoXdcfqKI 7 | 8 | -------------------------------------------------------------------------------- /ShellyEM_NodeRED.js: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "29087dc3.231a82", 4 | "type": "mqtt in", 5 | "z": "1e7afa4b.385376", 6 | "name": "power0", 7 | "topic": "shellies/shellyem-B9EC7E/emeter/0/power", 8 | "qos": "2", 9 | "datatype": "auto", 10 | "broker": "3cc69636.e3e24a", 11 | "x": 170, 12 | "y": 200, 13 | "wires": [ 14 | [ 15 | "d781978a.6c6d48" 16 | ] 17 | ] 18 | }, 19 | { 20 | "id": "d781978a.6c6d48", 21 | "type": "function", 22 | "z": "1e7afa4b.385376", 23 | "name": "Int", 24 | "func": "msg.payload = parseInt(msg.payload);\nreturn msg;", 25 | "outputs": 1, 26 | "noerr": 0, 27 | "x": 250, 28 | "y": 280, 29 | "wires": [ 30 | [ 31 | "465e8f72.67d6" 32 | ] 33 | ] 34 | }, 35 | { 36 | "id": "465e8f72.67d6", 37 | "type": "change", 38 | "z": "1e7afa4b.385376", 39 | "name": "", 40 | "rules": [ 41 | { 42 | "t": "set", 43 | "p": "parts", 44 | "pt": "msg", 45 | "to": "1", 46 | "tot": "str" 47 | } 48 | ], 49 | "action": "", 50 | "property": "", 51 | "from": "", 52 | "to": "", 53 | "reg": false, 54 | "x": 360, 55 | "y": 200, 56 | "wires": [ 57 | [ 58 | "4336ada6.90c494" 59 | ] 60 | ] 61 | }, 62 | { 63 | "id": "4336ada6.90c494", 64 | "type": "join", 65 | "z": "1e7afa4b.385376", 66 | "name": "", 67 | "mode": "custom", 68 | "build": "array", 69 | "property": "payload", 70 | "propertyType": "msg", 71 | "key": "topic", 72 | "joiner": "\\n", 73 | "joinerType": "str", 74 | "accumulate": false, 75 | "timeout": "", 76 | "count": "2", 77 | "reduceRight": false, 78 | "reduceExp": "", 79 | "reduceInit": "", 80 | "reduceInitType": "num", 81 | "reduceFixup": "", 82 | "x": 410, 83 | "y": 300, 84 | "wires": [ 85 | [ 86 | "72bce05.80b112" 87 | ] 88 | ] 89 | }, 90 | { 91 | "id": "72bce05.80b112", 92 | "type": "change", 93 | "z": "1e7afa4b.385376", 94 | "name": "SUM", 95 | "rules": [ 96 | { 97 | "t": "set", 98 | "p": "payload", 99 | "pt": "msg", 100 | "to": "$sum(payload)", 101 | "tot": "jsonata" 102 | } 103 | ], 104 | "action": "", 105 | "property": "", 106 | "from": "", 107 | "to": "", 108 | "reg": false, 109 | "x": 530, 110 | "y": 300, 111 | "wires": [ 112 | [ 113 | "3dc89ac9.b6a7c6" 114 | ] 115 | ] 116 | }, 117 | { 118 | "id": "5e994035.a969f", 119 | "type": "change", 120 | "z": "1e7afa4b.385376", 121 | "name": "", 122 | "rules": [ 123 | { 124 | "t": "set", 125 | "p": "parts", 126 | "pt": "msg", 127 | "to": "2", 128 | "tot": "str" 129 | } 130 | ], 131 | "action": "", 132 | "property": "", 133 | "from": "", 134 | "to": "", 135 | "reg": false, 136 | "x": 360, 137 | "y": 420, 138 | "wires": [ 139 | [ 140 | "4336ada6.90c494" 141 | ] 142 | ] 143 | }, 144 | { 145 | "id": "3dc89ac9.b6a7c6", 146 | "type": "delay", 147 | "z": "1e7afa4b.385376", 148 | "name": "Rate Limit", 149 | "pauseType": "rate", 150 | "timeout": "5", 151 | "timeoutUnits": "seconds", 152 | "rate": "1", 153 | "nbRateUnits": "30", 154 | "rateUnits": "second", 155 | "randomFirst": "1", 156 | "randomLast": "5", 157 | "randomUnits": "seconds", 158 | "drop": true, 159 | "x": 660, 160 | "y": 300, 161 | "wires": [ 162 | [ 163 | "80cc788e.0a6018" 164 | ] 165 | ] 166 | }, 167 | { 168 | "id": "fbc11731.2637b8", 169 | "type": "function", 170 | "z": "1e7afa4b.385376", 171 | "name": "Int", 172 | "func": "msg.payload = -parseInt(msg.payload);\nreturn msg;", 173 | "outputs": 1, 174 | "noerr": 0, 175 | "x": 250, 176 | "y": 340, 177 | "wires": [ 178 | [ 179 | "5e994035.a969f" 180 | ] 181 | ] 182 | }, 183 | { 184 | "id": "80cc788e.0a6018", 185 | "type": "function", 186 | "z": "1e7afa4b.385376", 187 | "name": "Clever Code", 188 | "func": "var devicePower = [28, 50];\nvar tol = .10;\nvar idle = 4;\nfunction binaryList(value, length) {\n var list = [];\n\n for (var i = 0; i < length; i++)\n {\n var result = ((value >> i) & 1) == 1;\n list.push(result);\n }\n return list;\n}\n\nfor (var x = 0; x < Math.pow(2, devicePower.length); x++)\n{\n var thisState = binaryList(x, devicePower.length)\n var total = idle;\n for(var j = 0; j < devicePower.length; j++)\n {\n total = total + devicePower[j]*thisState[j]\n }\n if(msg.payload/total > (1-tol) && msg.payload/total <(1+tol))\n {\n msg.payload = thisState;\n }\n}\nreturn msg;", 189 | "outputs": 1, 190 | "noerr": 0, 191 | "x": 810, 192 | "y": 300, 193 | "wires": [ 194 | [ 195 | "d7432dfb.e0a03", 196 | "34e62c94.ae36b4" 197 | ] 198 | ] 199 | }, 200 | { 201 | "id": "aa54b1a3.0972c", 202 | "type": "mqtt in", 203 | "z": "1e7afa4b.385376", 204 | "name": "power1", 205 | "topic": "shellies/shellyem-B9EC7E/emeter/1/power", 206 | "qos": "2", 207 | "datatype": "auto", 208 | "broker": "3cc69636.e3e24a", 209 | "x": 170, 210 | "y": 420, 211 | "wires": [ 212 | [ 213 | "fbc11731.2637b8" 214 | ] 215 | ] 216 | }, 217 | { 218 | "id": "d7432dfb.e0a03", 219 | "type": "split", 220 | "z": "1e7afa4b.385376", 221 | "name": "", 222 | "splt": "\\n", 223 | "spltType": "str", 224 | "arraySplt": 1, 225 | "arraySpltType": "len", 226 | "stream": false, 227 | "addname": "", 228 | "x": 970, 229 | "y": 300, 230 | "wires": [ 231 | [ 232 | "689d6717.0791d8" 233 | ] 234 | ] 235 | }, 236 | { 237 | "id": "34e62c94.ae36b4", 238 | "type": "debug", 239 | "z": "1e7afa4b.385376", 240 | "name": "", 241 | "active": true, 242 | "tosidebar": true, 243 | "console": false, 244 | "tostatus": false, 245 | "complete": "false", 246 | "x": 1050, 247 | "y": 140, 248 | "wires": [] 249 | }, 250 | { 251 | "id": "689d6717.0791d8", 252 | "type": "switch", 253 | "z": "1e7afa4b.385376", 254 | "name": "", 255 | "property": "parts.index", 256 | "propertyType": "msg", 257 | "rules": [ 258 | { 259 | "t": "eq", 260 | "v": "0", 261 | "vt": "str" 262 | }, 263 | { 264 | "t": "eq", 265 | "v": "1", 266 | "vt": "str" 267 | } 268 | ], 269 | "checkall": "true", 270 | "repair": false, 271 | "outputs": 2, 272 | "x": 1090, 273 | "y": 300, 274 | "wires": [ 275 | [ 276 | "5669b814.cf51a8" 277 | ], 278 | [ 279 | "375be614.26f10a" 280 | ] 281 | ] 282 | }, 283 | { 284 | "id": "5669b814.cf51a8", 285 | "type": "mqtt out", 286 | "z": "1e7afa4b.385376", 287 | "name": "", 288 | "topic": "ShellyEM/spaLight", 289 | "qos": "", 290 | "retain": "", 291 | "broker": "3cc69636.e3e24a", 292 | "x": 1210, 293 | "y": 220, 294 | "wires": [] 295 | }, 296 | { 297 | "id": "375be614.26f10a", 298 | "type": "mqtt out", 299 | "z": "1e7afa4b.385376", 300 | "name": "", 301 | "topic": "ShellyEM/poolLight", 302 | "qos": "", 303 | "retain": "", 304 | "broker": "3cc69636.e3e24a", 305 | "x": 1210, 306 | "y": 380, 307 | "wires": [] 308 | }, 309 | { 310 | "id": "deeb0d7f.d3dcc", 311 | "type": "function", 312 | "z": "1e7afa4b.385376", 313 | "name": "int*2", 314 | "func": "msg.payload = parseInt(msg.payload)*2;\nreturn msg;", 315 | "outputs": 1, 316 | "noerr": 0, 317 | "x": 270, 318 | "y": 720, 319 | "wires": [ 320 | [ 321 | "2b470541.41e6ca" 322 | ] 323 | ] 324 | }, 325 | { 326 | "id": "559adb78.feef14", 327 | "type": "mqtt in", 328 | "z": "1e7afa4b.385376", 329 | "name": "power1", 330 | "topic": "shellies/shellyem-B9EC7E/emeter/1/power", 331 | "qos": "2", 332 | "datatype": "auto", 333 | "broker": "3cc69636.e3e24a", 334 | "x": 190, 335 | "y": 800, 336 | "wires": [ 337 | [ 338 | "deeb0d7f.d3dcc" 339 | ] 340 | ] 341 | }, 342 | { 343 | "id": "2b470541.41e6ca", 344 | "type": "delay", 345 | "z": "1e7afa4b.385376", 346 | "name": "Rate Limit", 347 | "pauseType": "rate", 348 | "timeout": "5", 349 | "timeoutUnits": "seconds", 350 | "rate": "1", 351 | "nbRateUnits": "30", 352 | "rateUnits": "second", 353 | "randomFirst": "1", 354 | "randomLast": "5", 355 | "randomUnits": "seconds", 356 | "drop": true, 357 | "x": 360, 358 | "y": 800, 359 | "wires": [ 360 | [ 361 | "f7a84e4.3f50eb" 362 | ] 363 | ] 364 | }, 365 | { 366 | "id": "f7a84e4.3f50eb", 367 | "type": "function", 368 | "z": "1e7afa4b.385376", 369 | "name": "Clever Code", 370 | "func": "var devicePower = [560, 646, 5750, 69];\nvar tol = .05;\nvar idle = 13;\nfunction binaryList(value, length) {\n var list = [];\n\n for (var i = 0; i < length; i++)\n {\n var result = ((value >> i) & 1) == 1;\n list.push(result);\n }\n return list;\n}\n\nfor (var x = 0; x < Math.pow(2, devicePower.length); x++)\n{\n var thisState = binaryList(x, devicePower.length)\n var total = idle;\n for(var j = 0; j < devicePower.length; j++)\n {\n total = total + devicePower[j]*thisState[j]\n }\n if(msg.payload/total > (1-tol) && msg.payload/total <(1+tol))\n {\n msg.payload = thisState;\n }\n}\nreturn msg;", 371 | "outputs": 1, 372 | "noerr": 0, 373 | "x": 470, 374 | "y": 720, 375 | "wires": [ 376 | [ 377 | "d9391ffa.2fdf6", 378 | "d1c39b7.b277368" 379 | ] 380 | ] 381 | }, 382 | { 383 | "id": "d9391ffa.2fdf6", 384 | "type": "split", 385 | "z": "1e7afa4b.385376", 386 | "name": "", 387 | "splt": "\\n", 388 | "spltType": "str", 389 | "arraySplt": 1, 390 | "arraySpltType": "len", 391 | "stream": false, 392 | "addname": "", 393 | "x": 570, 394 | "y": 800, 395 | "wires": [ 396 | [ 397 | "3529d9c2.e40156" 398 | ] 399 | ] 400 | }, 401 | { 402 | "id": "d1c39b7.b277368", 403 | "type": "debug", 404 | "z": "1e7afa4b.385376", 405 | "name": "", 406 | "active": true, 407 | "tosidebar": true, 408 | "console": false, 409 | "tostatus": false, 410 | "complete": "false", 411 | "x": 650, 412 | "y": 620, 413 | "wires": [] 414 | }, 415 | { 416 | "id": "3529d9c2.e40156", 417 | "type": "switch", 418 | "z": "1e7afa4b.385376", 419 | "name": "", 420 | "property": "parts.index", 421 | "propertyType": "msg", 422 | "rules": [ 423 | { 424 | "t": "eq", 425 | "v": "0", 426 | "vt": "str" 427 | }, 428 | { 429 | "t": "eq", 430 | "v": "1", 431 | "vt": "str" 432 | }, 433 | { 434 | "t": "eq", 435 | "v": "2", 436 | "vt": "str" 437 | }, 438 | { 439 | "t": "eq", 440 | "v": "3", 441 | "vt": "str" 442 | } 443 | ], 444 | "checkall": "true", 445 | "repair": false, 446 | "outputs": 4, 447 | "x": 730, 448 | "y": 720, 449 | "wires": [ 450 | [ 451 | "e44283b9.0abd3" 452 | ], 453 | [ 454 | "7c42755a.d64cdc" 455 | ], 456 | [ 457 | "3687735d.d90bcc" 458 | ], 459 | [ 460 | "c0e49914.829058" 461 | ] 462 | ] 463 | }, 464 | { 465 | "id": "e44283b9.0abd3", 466 | "type": "mqtt out", 467 | "z": "1e7afa4b.385376", 468 | "name": "", 469 | "topic": "ShellyEM/poolPump", 470 | "qos": "", 471 | "retain": "", 472 | "broker": "3cc69636.e3e24a", 473 | "x": 960, 474 | "y": 620, 475 | "wires": [] 476 | }, 477 | { 478 | "id": "7c42755a.d64cdc", 479 | "type": "mqtt out", 480 | "z": "1e7afa4b.385376", 481 | "name": "", 482 | "topic": "ShellyEM/poolCleaner", 483 | "qos": "", 484 | "retain": "", 485 | "broker": "3cc69636.e3e24a", 486 | "x": 960, 487 | "y": 680, 488 | "wires": [] 489 | }, 490 | { 491 | "id": "3687735d.d90bcc", 492 | "type": "mqtt out", 493 | "z": "1e7afa4b.385376", 494 | "name": "", 495 | "topic": "ShellyEM/poolHeater", 496 | "qos": "", 497 | "retain": "", 498 | "broker": "3cc69636.e3e24a", 499 | "x": 960, 500 | "y": 760, 501 | "wires": [] 502 | }, 503 | { 504 | "id": "c0e49914.829058", 505 | "type": "mqtt out", 506 | "z": "1e7afa4b.385376", 507 | "name": "", 508 | "topic": "ShellyEM/chlorineGenerator", 509 | "qos": "", 510 | "retain": "", 511 | "broker": "3cc69636.e3e24a", 512 | "x": 980, 513 | "y": 820, 514 | "wires": [] 515 | }, 516 | { 517 | "id": "3cc69636.e3e24a", 518 | "type": "mqtt-broker", 519 | "z": "", 520 | "name": "", 521 | "broker": "192.168.86.168", 522 | "port": "1883", 523 | "clientid": "", 524 | "usetls": false, 525 | "compatmode": true, 526 | "keepalive": "60", 527 | "cleansession": true, 528 | "birthTopic": "", 529 | "birthQos": "0", 530 | "birthPayload": "", 531 | "closeTopic": "", 532 | "closePayload": "", 533 | "willTopic": "", 534 | "willQos": "0", 535 | "willPayload": "" 536 | } 537 | ] -------------------------------------------------------------------------------- /actionable_iOS_automation_example.yaml: -------------------------------------------------------------------------------- 1 | automation old: 2 | - alias: Front Door Notify 3 | trigger: 4 | platform: mqtt 5 | topic: notify 6 | payload: 'on2' 7 | action: 8 | service: notify.ios_robs_iphone 9 | data: 10 | message: "Front Door Open!" 11 | data: 12 | push: 13 | badge: 5 14 | category: "siren" 15 | attachment: 16 | url: 'https://Fake_HA_Server.duckdns.org:8123/api/camera_proxy/camera.front_door?api_password=notMyPassword' 17 | content-type: jpeg 18 | hide-thumbnail: false 19 | - alias: Activate Alarms 20 | trigger: 21 | platform: event 22 | event_type: ios.notification_action_fired 23 | event_data: 24 | actionName: ACTIVATE_SIRENS 25 | action: 26 | service: input_boolean.turn_on 27 | entity_id: input_boolean.manual_alarm_siren 28 | -------------------------------------------------------------------------------- /actionable_iOS_json.js: -------------------------------------------------------------------------------- 1 | msg.payload = 2 | { 3 | "data": 4 | { 5 | "message": msg.windowName, 6 | "data": 7 | { 8 | "push": 9 | { 10 | "badge": 5, 11 | "category": "siren" 12 | }, 13 | "attachment": 14 | { 15 | "url": msg.image, 16 | "content-type": "jpeg", 17 | "hide-thumbnail": false 18 | } 19 | } 20 | } 21 | } 22 | return msg; -------------------------------------------------------------------------------- /actionable_iOS_push_config.yaml: -------------------------------------------------------------------------------- 1 | ios: 2 | push: 3 | categories: 4 | - name: Alarm 5 | identifier: 'alarm' 6 | actions: 7 | - identifier: 'SILENCE_ALARM' 8 | title: 'Silence Alarm' 9 | activationMode: 'background' 10 | authenticationRequired: no 11 | destructive: yes 12 | behavior: 'default' 13 | - name: Siren 14 | identifier: 'siren' 15 | actions: 16 | - identifier: 'ACTIVATE_SIRENS' 17 | title: 'Activate Sirens' 18 | activationMode: 'background' 19 | authenticationRequired: no 20 | destructive: yes 21 | behavior: 'default' -------------------------------------------------------------------------------- /actionable_notification.txt: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "af0aa825.8ec6f8", 4 | "type": "server-state-changed", 5 | "z": "5865e563.6af48c", 6 | "name": "Medine Reminder", 7 | "server": "d64dbedb.b22df", 8 | "entityidfilter": "input_boolean.medicine_reminder", 9 | "entityidfiltertype": "substring", 10 | "haltifstate": "Off", 11 | "x": 324.86365509033203, 12 | "y": 2324.726984024048, 13 | "wires": [ 14 | [ 15 | "dc114b9.72cacb8" 16 | ] 17 | ] 18 | }, 19 | { 20 | "id": "dc114b9.72cacb8", 21 | "type": "trigger", 22 | "z": "5865e563.6af48c", 23 | "op1": "", 24 | "op2": "on", 25 | "op1type": "nul", 26 | "op2type": "str", 27 | "duration": "30", 28 | "extend": false, 29 | "units": "min", 30 | "reset": "off", 31 | "bytopic": "all", 32 | "name": "", 33 | "x": 576.863655090332, 34 | "y": 2324.6366119384766, 35 | "wires": [ 36 | [ 37 | "681f8580.c173cc" 38 | ] 39 | ] 40 | }, 41 | { 42 | "id": "681f8580.c173cc", 43 | "type": "api-call-service", 44 | "z": "5865e563.6af48c", 45 | "name": "Notify Rob", 46 | "server": "d64dbedb.b22df", 47 | "service_domain": "notify", 48 | "service": "ios_robs_iphone", 49 | "data": "{ \"message\": \"Good Morning! Remember your meds!\", \"data\": { \"push\": { \"badge\": 5, \"category\": \"medicine\" } } }", 50 | "mergecontext": "", 51 | "x": 880.863655090332, 52 | "y": 2323.6360836029053, 53 | "wires": [ 54 | [] 55 | ] 56 | }, 57 | { 58 | "id": "d64dbedb.b22df", 59 | "type": "server", 60 | "z": "", 61 | "name": "Home Assistant", 62 | "url": "http://hassio/homeassistant", 63 | "pass": "pass" 64 | } 65 | ] -------------------------------------------------------------------------------- /actionable_response.txt: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "d0c8b5df.d1db78", 4 | "type": "server-events", 5 | "z": "5865e563.6af48c", 6 | "name": "All", 7 | "server": "d64dbedb.b22df", 8 | "x": 310.0000801086426, 9 | "y": 2546.9096870422363, 10 | "wires": [ 11 | [ 12 | "8e3a0e66.9d8fb" 13 | ] 14 | ] 15 | }, 16 | { 17 | "id": "8e3a0e66.9d8fb", 18 | "type": "switch", 19 | "z": "5865e563.6af48c", 20 | "name": "", 21 | "property": "payload.event.actionName", 22 | "propertyType": "msg", 23 | "rules": [ 24 | { 25 | "t": "eq", 26 | "v": "SNOOZE", 27 | "vt": "str" 28 | }, 29 | { 30 | "t": "eq", 31 | "v": "ALREADY_TAKEN", 32 | "vt": "str" 33 | }, 34 | { 35 | "t": "eq", 36 | "v": "REMIND_HOME", 37 | "vt": "str" 38 | } 39 | ], 40 | "checkall": "true", 41 | "repair": false, 42 | "outputs": 3, 43 | "x": 444.0000915527344, 44 | "y": 2546.910297393799, 45 | "wires": [ 46 | [ 47 | "29797a59.da9b56" 48 | ], 49 | [ 50 | "b0e74dd.4ec11b" 51 | ], 52 | [ 53 | "988a9a94.6a4da8" 54 | ] 55 | ] 56 | }, 57 | { 58 | "id": "29797a59.da9b56", 59 | "type": "trigger", 60 | "z": "5865e563.6af48c", 61 | "op1": "", 62 | "op2": "on", 63 | "op1type": "nul", 64 | "op2type": "str", 65 | "duration": "5", 66 | "extend": false, 67 | "units": "min", 68 | "reset": "off", 69 | "bytopic": "all", 70 | "name": "", 71 | "x": 618.0000839233398, 72 | "y": 2450.9096870422363, 73 | "wires": [ 74 | [ 75 | "d9727fb6.ab232" 76 | ] 77 | ] 78 | }, 79 | { 80 | "id": "d9727fb6.ab232", 81 | "type": "api-call-service", 82 | "z": "5865e563.6af48c", 83 | "name": "Notify Rob", 84 | "server": "d64dbedb.b22df", 85 | "service_domain": "notify", 86 | "service": "ios_robs_iphone", 87 | "data": "{ \"message\": \"Good Morning! Remember your meds!\", \"data\": { \"push\": { \"badge\": 5, \"category\": \"medicine\" } } }", 88 | "mergecontext": "", 89 | "x": 877.000114440918, 90 | "y": 2449.9097862243652, 91 | "wires": [ 92 | [] 93 | ] 94 | }, 95 | { 96 | "id": "b0e74dd.4ec11b", 97 | "type": "api-call-service", 98 | "z": "5865e563.6af48c", 99 | "name": "Turn off", 100 | "server": "d64dbedb.b22df", 101 | "service_domain": "input_boolean", 102 | "service": "turn_off", 103 | "data": "{ \"entity_id\": \"input_boolean.medicine_reminder\" }", 104 | "mergecontext": "", 105 | "x": 608.8637390136719, 106 | "y": 2547.5465126037598, 107 | "wires": [ 108 | [] 109 | ] 110 | }, 111 | { 112 | "id": "988a9a94.6a4da8", 113 | "type": "hold", 114 | "z": "5865e563.6af48c", 115 | "name": "Hold until home", 116 | "x": 653.5001449584961, 117 | "y": 2633.4563121795654, 118 | "wires": [ 119 | [ 120 | "23aa06e.ad7aefa", 121 | "585cc179.2ed2f" 122 | ] 123 | ] 124 | }, 125 | { 126 | "id": "416ea963.517528", 127 | "type": "change", 128 | "z": "5865e563.6af48c", 129 | "name": "trigger", 130 | "rules": [ 131 | { 132 | "t": "set", 133 | "p": "trigger", 134 | "pt": "msg", 135 | "to": "true", 136 | "tot": "bool" 137 | } 138 | ], 139 | "action": "", 140 | "property": "", 141 | "from": "", 142 | "to": "", 143 | "reg": false, 144 | "x": 445.8637924194336, 145 | "y": 2725.4566707611084, 146 | "wires": [ 147 | [ 148 | "988a9a94.6a4da8" 149 | ] 150 | ] 151 | }, 152 | { 153 | "id": "b5f23735.cffc98", 154 | "type": "server-state-changed", 155 | "z": "5865e563.6af48c", 156 | "name": "Rob Home", 157 | "server": "d64dbedb.b22df", 158 | "entityidfilter": "input_boolean.rob_home", 159 | "entityidfiltertype": "substring", 160 | "haltifstate": "off", 161 | "x": 280.86373138427734, 162 | "y": 2725.2748527526855, 163 | "wires": [ 164 | [ 165 | "416ea963.517528" 166 | ] 167 | ] 168 | }, 169 | { 170 | "id": "23aa06e.ad7aefa", 171 | "type": "change", 172 | "z": "5865e563.6af48c", 173 | "name": "false", 174 | "rules": [ 175 | { 176 | "t": "delete", 177 | "p": "payload", 178 | "pt": "msg" 179 | } 180 | ], 181 | "action": "", 182 | "property": "", 183 | "from": "", 184 | "to": "", 185 | "reg": false, 186 | "x": 653.8637351989746, 187 | "y": 2713.636800765991, 188 | "wires": [ 189 | [ 190 | "988a9a94.6a4da8" 191 | ] 192 | ] 193 | }, 194 | { 195 | "id": "585cc179.2ed2f", 196 | "type": "switch", 197 | "z": "5865e563.6af48c", 198 | "name": "", 199 | "property": "payload.event.actionName", 200 | "propertyType": "msg", 201 | "rules": [ 202 | { 203 | "t": "eq", 204 | "v": "REMIND_HOME", 205 | "vt": "str" 206 | } 207 | ], 208 | "checkall": "true", 209 | "repair": false, 210 | "outputs": 1, 211 | "x": 793.0001029968262, 212 | "y": 2547.8187046051025, 213 | "wires": [ 214 | [ 215 | "d9727fb6.ab232" 216 | ] 217 | ] 218 | }, 219 | { 220 | "id": "d64dbedb.b22df", 221 | "type": "server", 222 | "z": "", 223 | "name": "Home Assistant", 224 | "url": "http://hassio/homeassistant", 225 | "pass": "pass" 226 | } 227 | ] -------------------------------------------------------------------------------- /motion_trigger_flow.txt: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "80a6e306.bf39b", 4 | "type": "api-call-service", 5 | "z": "de6f2b80.6df1c8", 6 | "name": "Bed Lights", 7 | "server": "d64dbedb.b22df", 8 | "service_domain": "light", 9 | "service": "turn_on", 10 | "data": "{ \"entity_id\": \"light.exercise_room_bed_leds\" }", 11 | "mergecontext": "", 12 | "x": 668.0001125335693, 13 | "y": 3011.000066757202, 14 | "wires": [ 15 | [] 16 | ] 17 | }, 18 | { 19 | "id": "41c7cf10.22002", 20 | "type": "switch", 21 | "z": "de6f2b80.6df1c8", 22 | "name": "on or off", 23 | "property": "payload", 24 | "propertyType": "msg", 25 | "rules": [ 26 | { 27 | "t": "eq", 28 | "v": "True", 29 | "vt": "str" 30 | }, 31 | { 32 | "t": "eq", 33 | "v": "False", 34 | "vt": "str" 35 | } 36 | ], 37 | "checkall": "true", 38 | "repair": false, 39 | "outputs": 2, 40 | "x": 488.0001029968262, 41 | "y": 3088.000069618225, 42 | "wires": [ 43 | [ 44 | "80a6e306.bf39b", 45 | "5ed282bd.0f80ec", 46 | "fa81bdf4.7f385" 47 | ], 48 | [ 49 | "fa81bdf4.7f385" 50 | ] 51 | ] 52 | }, 53 | { 54 | "id": "5ed282bd.0f80ec", 55 | "type": "api-call-service", 56 | "z": "de6f2b80.6df1c8", 57 | "name": "Bookcase Lights", 58 | "server": "d64dbedb.b22df", 59 | "service_domain": "light", 60 | "service": "turn_on", 61 | "data": "{ \"entity_id\": \"light.exercise_room_bookcase_leds\" }", 62 | "mergecontext": "", 63 | "x": 678.0001125335693, 64 | "y": 3051.000066757202, 65 | "wires": [ 66 | [] 67 | ] 68 | }, 69 | { 70 | "id": "557fd9d6.d3ba78", 71 | "type": "server-state-changed", 72 | "z": "de6f2b80.6df1c8", 73 | "name": "Exercise Motion", 74 | "server": "d64dbedb.b22df", 75 | "entityidfilter": "sensor.shelly_motion", 76 | "entityidfiltertype": "substring", 77 | "haltifstate": "", 78 | "x": 310.00008964538574, 79 | "y": 3088.000068664551, 80 | "wires": [ 81 | [ 82 | "41c7cf10.22002" 83 | ] 84 | ] 85 | }, 86 | { 87 | "id": "d3070933.4f33e8", 88 | "type": "api-call-service", 89 | "z": "de6f2b80.6df1c8", 90 | "name": "Bed Lights", 91 | "server": "d64dbedb.b22df", 92 | "service_domain": "light", 93 | "service": "turn_off", 94 | "data": "{ \"entity_id\": \"light.exercise_room_bed_leds\" }", 95 | "mergecontext": "", 96 | "x": 705.0001125335693, 97 | "y": 3138.0000705718994, 98 | "wires": [ 99 | [] 100 | ] 101 | }, 102 | { 103 | "id": "ca0740a7.2127e", 104 | "type": "api-call-service", 105 | "z": "de6f2b80.6df1c8", 106 | "name": "Bookcase Lights", 107 | "server": "d64dbedb.b22df", 108 | "service_domain": "light", 109 | "service": "turn_off", 110 | "data": "{ \"entity_id\": \"light.exercise_room_bookcase_leds\" }", 111 | "mergecontext": "", 112 | "x": 715.0001125335693, 113 | "y": 3178.0000705718994, 114 | "wires": [ 115 | [] 116 | ] 117 | }, 118 | { 119 | "id": "fa81bdf4.7f385", 120 | "type": "trigger", 121 | "z": "de6f2b80.6df1c8", 122 | "op1": "", 123 | "op2": "off", 124 | "op1type": "nul", 125 | "op2type": "str", 126 | "duration": "15", 127 | "extend": false, 128 | "units": "s", 129 | "reset": "on", 130 | "bytopic": "all", 131 | "name": "trigger", 132 | "x": 547.0001049041748, 133 | "y": 3163.0000705718994, 134 | "wires": [ 135 | [ 136 | "d3070933.4f33e8", 137 | "ca0740a7.2127e" 138 | ] 139 | ] 140 | }, 141 | { 142 | "id": "d64dbedb.b22df", 143 | "type": "server", 144 | "z": "", 145 | "name": "Home Assistant", 146 | "url": "http://hassio/homeassistant", 147 | "pass": "pass" 148 | } 149 | ] -------------------------------------------------------------------------------- /security_panel.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "b792f2de.9024d", 4 | "type": "tab", 5 | "label": "Alarm Panel", 6 | "disabled": false, 7 | "info": "" 8 | }, 9 | { 10 | "id": "ff5b1814.1d7e08", 11 | "type": "ui_button", 12 | "z": "b792f2de.9024d", 13 | "name": "", 14 | "group": "eac4c8cc.4243c8", 15 | "order": 5, 16 | "width": "2", 17 | "height": "2", 18 | "passthru": false, 19 | "label": "5", 20 | "color": "", 21 | "bgcolor": "", 22 | "icon": "", 23 | "payload": "5", 24 | "payloadType": "str", 25 | "topic": "", 26 | "x": 90, 27 | "y": 500, 28 | "wires": [ 29 | [ 30 | "f03cc23d.0507b" 31 | ] 32 | ] 33 | }, 34 | { 35 | "id": "f03cc23d.0507b", 36 | "type": "join", 37 | "z": "b792f2de.9024d", 38 | "name": "", 39 | "mode": "custom", 40 | "build": "string", 41 | "property": "payload", 42 | "propertyType": "msg", 43 | "key": "topic", 44 | "joiner": "", 45 | "joinerType": "str", 46 | "accumulate": false, 47 | "timeout": "20", 48 | "count": "4", 49 | "reduceRight": false, 50 | "reduceExp": "", 51 | "reduceInit": "", 52 | "reduceInitType": "num", 53 | "reduceFixup": "", 54 | "x": 330, 55 | "y": 560, 56 | "wires": [ 57 | [ 58 | "1b357f8.e59b781" 59 | ] 60 | ] 61 | }, 62 | { 63 | "id": "dd89534f.f7f92", 64 | "type": "ui_button", 65 | "z": "b792f2de.9024d", 66 | "name": "", 67 | "group": "eac4c8cc.4243c8", 68 | "order": 2, 69 | "width": "2", 70 | "height": "2", 71 | "passthru": false, 72 | "label": "2", 73 | "color": "", 74 | "bgcolor": "", 75 | "icon": "", 76 | "payload": "2", 77 | "payloadType": "str", 78 | "topic": "", 79 | "x": 90, 80 | "y": 379, 81 | "wires": [ 82 | [ 83 | "f03cc23d.0507b" 84 | ] 85 | ] 86 | }, 87 | { 88 | "id": "eb689681.a8d7e8", 89 | "type": "ui_button", 90 | "z": "b792f2de.9024d", 91 | "name": "", 92 | "group": "eac4c8cc.4243c8", 93 | "order": 3, 94 | "width": "2", 95 | "height": "2", 96 | "passthru": false, 97 | "label": "3", 98 | "color": "", 99 | "bgcolor": "", 100 | "icon": "", 101 | "payload": "3", 102 | "payloadType": "str", 103 | "topic": "", 104 | "x": 90, 105 | "y": 419, 106 | "wires": [ 107 | [ 108 | "f03cc23d.0507b" 109 | ] 110 | ] 111 | }, 112 | { 113 | "id": "62b5bf9f.e012a", 114 | "type": "ui_button", 115 | "z": "b792f2de.9024d", 116 | "name": "", 117 | "group": "eac4c8cc.4243c8", 118 | "order": 4, 119 | "width": "2", 120 | "height": "2", 121 | "passthru": false, 122 | "label": "4", 123 | "color": "", 124 | "bgcolor": "", 125 | "icon": "", 126 | "payload": "4", 127 | "payloadType": "str", 128 | "topic": "", 129 | "x": 90, 130 | "y": 460, 131 | "wires": [ 132 | [ 133 | "f03cc23d.0507b" 134 | ] 135 | ] 136 | }, 137 | { 138 | "id": "f060a516.a9e068", 139 | "type": "ui_button", 140 | "z": "b792f2de.9024d", 141 | "name": "", 142 | "group": "eac4c8cc.4243c8", 143 | "order": 6, 144 | "width": "2", 145 | "height": "2", 146 | "passthru": false, 147 | "label": "6", 148 | "color": "", 149 | "bgcolor": "", 150 | "icon": "", 151 | "payload": "6", 152 | "payloadType": "str", 153 | "topic": "", 154 | "x": 90, 155 | "y": 540, 156 | "wires": [ 157 | [ 158 | "f03cc23d.0507b" 159 | ] 160 | ] 161 | }, 162 | { 163 | "id": "8641f41b.60c2e8", 164 | "type": "ui_button", 165 | "z": "b792f2de.9024d", 166 | "name": "", 167 | "group": "eac4c8cc.4243c8", 168 | "order": 7, 169 | "width": "2", 170 | "height": "2", 171 | "passthru": false, 172 | "label": "7", 173 | "color": "", 174 | "bgcolor": "", 175 | "icon": "", 176 | "payload": "7", 177 | "payloadType": "str", 178 | "topic": "", 179 | "x": 90, 180 | "y": 580, 181 | "wires": [ 182 | [ 183 | "f03cc23d.0507b" 184 | ] 185 | ] 186 | }, 187 | { 188 | "id": "30c6f338.9e37cc", 189 | "type": "ui_button", 190 | "z": "b792f2de.9024d", 191 | "name": "", 192 | "group": "eac4c8cc.4243c8", 193 | "order": 8, 194 | "width": "2", 195 | "height": "2", 196 | "passthru": false, 197 | "label": "8", 198 | "color": "", 199 | "bgcolor": "", 200 | "icon": "", 201 | "payload": "8", 202 | "payloadType": "str", 203 | "topic": "", 204 | "x": 90, 205 | "y": 620, 206 | "wires": [ 207 | [ 208 | "f03cc23d.0507b" 209 | ] 210 | ] 211 | }, 212 | { 213 | "id": "53d3ed7.10c3f14", 214 | "type": "ui_button", 215 | "z": "b792f2de.9024d", 216 | "name": "", 217 | "group": "eac4c8cc.4243c8", 218 | "order": 9, 219 | "width": "2", 220 | "height": "2", 221 | "passthru": false, 222 | "label": "9", 223 | "color": "", 224 | "bgcolor": "", 225 | "icon": "", 226 | "payload": "9", 227 | "payloadType": "str", 228 | "topic": "", 229 | "x": 90, 230 | "y": 660, 231 | "wires": [ 232 | [ 233 | "f03cc23d.0507b" 234 | ] 235 | ] 236 | }, 237 | { 238 | "id": "76495ac8.12b564", 239 | "type": "ui_button", 240 | "z": "b792f2de.9024d", 241 | "name": "", 242 | "group": "eac4c8cc.4243c8", 243 | "order": 10, 244 | "width": "2", 245 | "height": "2", 246 | "passthru": false, 247 | "label": "*", 248 | "color": "", 249 | "bgcolor": "", 250 | "icon": "", 251 | "payload": "*", 252 | "payloadType": "str", 253 | "topic": "", 254 | "x": 90, 255 | "y": 700, 256 | "wires": [ 257 | [ 258 | "f03cc23d.0507b" 259 | ] 260 | ] 261 | }, 262 | { 263 | "id": "4db4ca8f.a491c4", 264 | "type": "ui_button", 265 | "z": "b792f2de.9024d", 266 | "name": "", 267 | "group": "eac4c8cc.4243c8", 268 | "order": 11, 269 | "width": "2", 270 | "height": "2", 271 | "passthru": false, 272 | "label": "0", 273 | "color": "", 274 | "bgcolor": "", 275 | "icon": "", 276 | "payload": "0", 277 | "payloadType": "str", 278 | "topic": "", 279 | "x": 90, 280 | "y": 740, 281 | "wires": [ 282 | [ 283 | "f03cc23d.0507b" 284 | ] 285 | ] 286 | }, 287 | { 288 | "id": "ca08b616.195488", 289 | "type": "change", 290 | "z": "b792f2de.9024d", 291 | "name": "Message Complete", 292 | "rules": [ 293 | { 294 | "t": "set", 295 | "p": "complete", 296 | "pt": "msg", 297 | "to": "true", 298 | "tot": "bool" 299 | } 300 | ], 301 | "action": "", 302 | "property": "", 303 | "from": "", 304 | "to": "", 305 | "reg": false, 306 | "x": 290, 307 | "y": 780, 308 | "wires": [ 309 | [ 310 | "f03cc23d.0507b" 311 | ] 312 | ] 313 | }, 314 | { 315 | "id": "b771f12c.0ccfd", 316 | "type": "ui_button", 317 | "z": "b792f2de.9024d", 318 | "name": "", 319 | "group": "eac4c8cc.4243c8", 320 | "order": 12, 321 | "width": "2", 322 | "height": "2", 323 | "passthru": false, 324 | "label": "Clear", 325 | "color": "", 326 | "bgcolor": "", 327 | "icon": "", 328 | "payload": "Clear", 329 | "payloadType": "str", 330 | "topic": "", 331 | "x": 90, 332 | "y": 780, 333 | "wires": [ 334 | [ 335 | "ca08b616.195488" 336 | ] 337 | ] 338 | }, 339 | { 340 | "id": "9210fbba.cd35c8", 341 | "type": "api-current-state", 342 | "z": "b792f2de.9024d", 343 | "name": "Exterior Alarm State", 344 | "server": "1e776005.3ee9b", 345 | "halt_if": "", 346 | "entity_id": "input_boolean.notify_gates", 347 | "x": 660, 348 | "y": 500, 349 | "wires": [ 350 | [ 351 | "7747e6be.3e91a8" 352 | ] 353 | ] 354 | }, 355 | { 356 | "id": "7747e6be.3e91a8", 357 | "type": "switch", 358 | "z": "b792f2de.9024d", 359 | "name": "Check State", 360 | "property": "payload", 361 | "propertyType": "msg", 362 | "rules": [ 363 | { 364 | "t": "eq", 365 | "v": "on", 366 | "vt": "str" 367 | }, 368 | { 369 | "t": "eq", 370 | "v": "off", 371 | "vt": "str" 372 | } 373 | ], 374 | "checkall": "true", 375 | "repair": false, 376 | "outputs": 2, 377 | "x": 870, 378 | "y": 500, 379 | "wires": [ 380 | [ 381 | "de8843dd.cb3e4", 382 | "2694b71a.963998" 383 | ], 384 | [ 385 | "28611b88.1b4344" 386 | ] 387 | ] 388 | }, 389 | { 390 | "id": "28611b88.1b4344", 391 | "type": "change", 392 | "z": "b792f2de.9024d", 393 | "name": "arming", 394 | "rules": [ 395 | { 396 | "t": "set", 397 | "p": "payload", 398 | "pt": "msg", 399 | "to": "Alarm Arming in 45 Seconds", 400 | "tot": "str" 401 | }, 402 | { 403 | "t": "set", 404 | "p": "armingStatus", 405 | "pt": "flow", 406 | "to": "arming", 407 | "tot": "str" 408 | }, 409 | { 410 | "t": "set", 411 | "p": "message", 412 | "pt": "msg", 413 | "to": "arming", 414 | "tot": "str" 415 | } 416 | ], 417 | "action": "", 418 | "property": "", 419 | "from": "", 420 | "to": "", 421 | "reg": false, 422 | "x": 950, 423 | "y": 680, 424 | "wires": [ 425 | [ 426 | "67a6a88.0b64958", 427 | "cd326e99.ad7a3", 428 | "d20b1f6c.c0f9a" 429 | ] 430 | ] 431 | }, 432 | { 433 | "id": "de8843dd.cb3e4", 434 | "type": "change", 435 | "z": "b792f2de.9024d", 436 | "name": "\"alarm disarmed\"", 437 | "rules": [ 438 | { 439 | "t": "set", 440 | "p": "payload", 441 | "pt": "msg", 442 | "to": "Alarm Disarmed", 443 | "tot": "str" 444 | } 445 | ], 446 | "action": "", 447 | "property": "", 448 | "from": "", 449 | "to": "", 450 | "reg": false, 451 | "x": 1070, 452 | "y": 420, 453 | "wires": [ 454 | [ 455 | "d274db1e.37c938" 456 | ] 457 | ] 458 | }, 459 | { 460 | "id": "2694b71a.963998", 461 | "type": "api-call-service", 462 | "z": "b792f2de.9024d", 463 | "name": "Disarm Alarm", 464 | "server": "1e776005.3ee9b", 465 | "service_domain": "input_boolean", 466 | "service": "turn_off", 467 | "data": "{ \"entity_id\":\"input_boolean.notify_gates\"}", 468 | "x": 1080, 469 | "y": 480, 470 | "wires": [] 471 | }, 472 | { 473 | "id": "67a6a88.0b64958", 474 | "type": "delay", 475 | "z": "b792f2de.9024d", 476 | "name": "Delay 45 Seconds", 477 | "pauseType": "delayv", 478 | "timeout": "45", 479 | "timeoutUnits": "seconds", 480 | "rate": "1", 481 | "nbRateUnits": "1", 482 | "rateUnits": "second", 483 | "randomFirst": "1", 484 | "randomLast": "5", 485 | "randomUnits": "seconds", 486 | "drop": false, 487 | "x": 1150, 488 | "y": 640, 489 | "wires": [ 490 | [ 491 | "c0c361be.671ec" 492 | ] 493 | ] 494 | }, 495 | { 496 | "id": "d274db1e.37c938", 497 | "type": "ui_audio", 498 | "z": "b792f2de.9024d", 499 | "name": "Alarm Disarmed", 500 | "group": "eac4c8cc.4243c8", 501 | "voice": "en-US", 502 | "always": "", 503 | "x": 1280, 504 | "y": 420, 505 | "wires": [] 506 | }, 507 | { 508 | "id": "dfa960d9.f8be2", 509 | "type": "api-call-service", 510 | "z": "b792f2de.9024d", 511 | "name": "Arm Alarm", 512 | "server": "1e776005.3ee9b", 513 | "service_domain": "input_boolean", 514 | "service": "turn_on", 515 | "data": "{ \"entity_id\":\"input_boolean.notify_gates\"}", 516 | "x": 1490, 517 | "y": 700, 518 | "wires": [] 519 | }, 520 | { 521 | "id": "cd326e99.ad7a3", 522 | "type": "ui_text", 523 | "z": "b792f2de.9024d", 524 | "group": "eac4c8cc.4243c8", 525 | "order": 14, 526 | "width": "6", 527 | "height": "1", 528 | "name": "Alarm Status", 529 | "label": "Alarm Status:", 530 | "format": "{{msg.message}}", 531 | "layout": "row-spread", 532 | "x": 1090, 533 | "y": 860, 534 | "wires": [] 535 | }, 536 | { 537 | "id": "60285c4a.a080a4", 538 | "type": "server-state-changed", 539 | "z": "b792f2de.9024d", 540 | "name": "Exterior Alarm", 541 | "server": "1e776005.3ee9b", 542 | "entityidfilter": "input_boolean.notify_gates", 543 | "haltifstate": "", 544 | "x": 690, 545 | "y": 860, 546 | "wires": [ 547 | [ 548 | "a7e7943f.f79de8" 549 | ] 550 | ] 551 | }, 552 | { 553 | "id": "717f068e.cbcd58", 554 | "type": "change", 555 | "z": "b792f2de.9024d", 556 | "name": "", 557 | "rules": [ 558 | { 559 | "t": "set", 560 | "p": "armingStatus", 561 | "pt": "flow", 562 | "to": "notArming", 563 | "tot": "str" 564 | } 565 | ], 566 | "action": "", 567 | "property": "", 568 | "from": "", 569 | "to": "", 570 | "reg": false, 571 | "x": 1520, 572 | "y": 580, 573 | "wires": [ 574 | [] 575 | ] 576 | }, 577 | { 578 | "id": "c0c361be.671ec", 579 | "type": "switch", 580 | "z": "b792f2de.9024d", 581 | "name": "arming", 582 | "property": "armingStatus", 583 | "propertyType": "flow", 584 | "rules": [ 585 | { 586 | "t": "eq", 587 | "v": "arming", 588 | "vt": "str" 589 | } 590 | ], 591 | "checkall": "true", 592 | "repair": false, 593 | "outputs": 1, 594 | "x": 1330, 595 | "y": 640, 596 | "wires": [ 597 | [ 598 | "dfa960d9.f8be2", 599 | "717f068e.cbcd58" 600 | ] 601 | ] 602 | }, 603 | { 604 | "id": "1b357f8.e59b781", 605 | "type": "switch", 606 | "z": "b792f2de.9024d", 607 | "name": "", 608 | "property": "payload", 609 | "propertyType": "msg", 610 | "rules": [ 611 | { 612 | "t": "eq", 613 | "v": "1457", 614 | "vt": "str" 615 | } 616 | ], 617 | "checkall": "true", 618 | "repair": false, 619 | "outputs": 1, 620 | "x": 410, 621 | "y": 480, 622 | "wires": [ 623 | [ 624 | "bfb9eff4.04e69" 625 | ] 626 | ] 627 | }, 628 | { 629 | "id": "39e7850.289db7c", 630 | "type": "change", 631 | "z": "b792f2de.9024d", 632 | "name": "", 633 | "rules": [ 634 | { 635 | "t": "set", 636 | "p": "armingStatus", 637 | "pt": "flow", 638 | "to": "notArming", 639 | "tot": "str" 640 | } 641 | ], 642 | "action": "", 643 | "property": "", 644 | "from": "", 645 | "to": "", 646 | "reg": false, 647 | "x": 720, 648 | "y": 640, 649 | "wires": [ 650 | [] 651 | ] 652 | }, 653 | { 654 | "id": "bfb9eff4.04e69", 655 | "type": "switch", 656 | "z": "b792f2de.9024d", 657 | "name": "", 658 | "property": "armingStatus", 659 | "propertyType": "flow", 660 | "rules": [ 661 | { 662 | "t": "eq", 663 | "v": "arming", 664 | "vt": "str" 665 | }, 666 | { 667 | "t": "eq", 668 | "v": "notArming", 669 | "vt": "str" 670 | } 671 | ], 672 | "checkall": "true", 673 | "repair": false, 674 | "outputs": 2, 675 | "x": 490, 676 | "y": 560, 677 | "wires": [ 678 | [ 679 | "39e7850.289db7c", 680 | "52ed3414.c0540c" 681 | ], 682 | [ 683 | "9210fbba.cd35c8" 684 | ] 685 | ] 686 | }, 687 | { 688 | "id": "52ed3414.c0540c", 689 | "type": "trigger", 690 | "z": "b792f2de.9024d", 691 | "op1": "cancelled", 692 | "op2": "off", 693 | "op1type": "str", 694 | "op2type": "str", 695 | "duration": "3", 696 | "extend": false, 697 | "units": "s", 698 | "reset": "", 699 | "bytopic": "all", 700 | "name": "", 701 | "x": 680, 702 | "y": 720, 703 | "wires": [ 704 | [ 705 | "a7e7943f.f79de8" 706 | ] 707 | ] 708 | }, 709 | { 710 | "id": "a7e7943f.f79de8", 711 | "type": "change", 712 | "z": "b792f2de.9024d", 713 | "name": "", 714 | "rules": [ 715 | { 716 | "t": "set", 717 | "p": "message", 718 | "pt": "msg", 719 | "to": "payload", 720 | "tot": "msg" 721 | } 722 | ], 723 | "action": "", 724 | "property": "", 725 | "from": "", 726 | "to": "", 727 | "reg": false, 728 | "x": 890, 729 | "y": 860, 730 | "wires": [ 731 | [ 732 | "cd326e99.ad7a3" 733 | ] 734 | ] 735 | }, 736 | { 737 | "id": "d20b1f6c.c0f9a", 738 | "type": "ui_audio", 739 | "z": "b792f2de.9024d", 740 | "name": "Arming 45 Seconds", 741 | "group": "eac4c8cc.4243c8", 742 | "voice": "en-US", 743 | "always": "", 744 | "x": 1190, 745 | "y": 740, 746 | "wires": [] 747 | }, 748 | { 749 | "id": "4c8cabfb.45b814", 750 | "type": "inject", 751 | "z": "b792f2de.9024d", 752 | "name": "", 753 | "topic": "", 754 | "payload": "", 755 | "payloadType": "date", 756 | "repeat": "", 757 | "crontab": "", 758 | "once": true, 759 | "onceDelay": 0.1, 760 | "x": 110, 761 | "y": 260, 762 | "wires": [ 763 | [ 764 | "e9b8e4c7.1fecf8" 765 | ] 766 | ] 767 | }, 768 | { 769 | "id": "e9b8e4c7.1fecf8", 770 | "type": "change", 771 | "z": "b792f2de.9024d", 772 | "name": "", 773 | "rules": [ 774 | { 775 | "t": "set", 776 | "p": "armingStatus", 777 | "pt": "flow", 778 | "to": "notArming", 779 | "tot": "str" 780 | } 781 | ], 782 | "action": "", 783 | "property": "", 784 | "from": "", 785 | "to": "", 786 | "reg": false, 787 | "x": 320, 788 | "y": 260, 789 | "wires": [ 790 | [] 791 | ] 792 | }, 793 | { 794 | "id": "19ff9aa0.461855", 795 | "type": "ui_button", 796 | "z": "b792f2de.9024d", 797 | "name": "", 798 | "group": "eac4c8cc.4243c8", 799 | "order": 1, 800 | "width": "2", 801 | "height": "2", 802 | "passthru": false, 803 | "label": "1", 804 | "color": "", 805 | "bgcolor": "", 806 | "icon": "", 807 | "payload": "1", 808 | "payloadType": "str", 809 | "topic": "", 810 | "x": 90, 811 | "y": 340, 812 | "wires": [ 813 | [ 814 | "f03cc23d.0507b" 815 | ] 816 | ] 817 | }, 818 | { 819 | "id": "a113d95a.a66bc8", 820 | "type": "ui_text", 821 | "z": "b792f2de.9024d", 822 | "group": "2bfca87d.509508", 823 | "order": 0, 824 | "width": "6", 825 | "height": "1", 826 | "name": "Dispay", 827 | "label": "Front Door", 828 | "format": "{{msg.payload}}", 829 | "layout": "row-spread", 830 | "x": 430, 831 | "y": 920, 832 | "wires": [] 833 | }, 834 | { 835 | "id": "6d0eb87d.8df568", 836 | "type": "server-state-changed", 837 | "z": "b792f2de.9024d", 838 | "name": "Front Door", 839 | "server": "1e776005.3ee9b", 840 | "entityidfilter": "binary_sensor.front_door", 841 | "haltifstate": "", 842 | "x": 100, 843 | "y": 920, 844 | "wires": [ 845 | [ 846 | "dca32d28.2a9a1" 847 | ] 848 | ] 849 | }, 850 | { 851 | "id": "a1b96a3c.2df408", 852 | "type": "ui_text", 853 | "z": "b792f2de.9024d", 854 | "group": "2bfca87d.509508", 855 | "order": 0, 856 | "width": "6", 857 | "height": "1", 858 | "name": "Dispay", 859 | "label": "Back Door", 860 | "format": "{{msg.payload}}", 861 | "layout": "row-spread", 862 | "x": 430, 863 | "y": 960, 864 | "wires": [] 865 | }, 866 | { 867 | "id": "70d82d9f.7eeab4", 868 | "type": "server-state-changed", 869 | "z": "b792f2de.9024d", 870 | "name": "Back Door", 871 | "server": "1e776005.3ee9b", 872 | "entityidfilter": "binary_sensor.sliding_glass_door", 873 | "haltifstate": "", 874 | "x": 100, 875 | "y": 960, 876 | "wires": [ 877 | [ 878 | "208c82ed.16baee" 879 | ] 880 | ] 881 | }, 882 | { 883 | "id": "9c2006b6.e7a288", 884 | "type": "ui_text", 885 | "z": "b792f2de.9024d", 886 | "group": "2bfca87d.509508", 887 | "order": 0, 888 | "width": "6", 889 | "height": "1", 890 | "name": "Dispay", 891 | "label": "North Gate", 892 | "format": "{{msg.payload}}", 893 | "layout": "row-spread", 894 | "x": 430, 895 | "y": 1000, 896 | "wires": [] 897 | }, 898 | { 899 | "id": "d05bce53.563a1", 900 | "type": "server-state-changed", 901 | "z": "b792f2de.9024d", 902 | "name": "North Gate", 903 | "server": "1e776005.3ee9b", 904 | "entityidfilter": "binary_sensor.hittel_gate", 905 | "haltifstate": "", 906 | "x": 100, 907 | "y": 1000, 908 | "wires": [ 909 | [ 910 | "6ae7da3d.d77c94" 911 | ] 912 | ] 913 | }, 914 | { 915 | "id": "fb0ee138.c0708", 916 | "type": "ui_text", 917 | "z": "b792f2de.9024d", 918 | "group": "2bfca87d.509508", 919 | "order": 0, 920 | "width": "6", 921 | "height": "1", 922 | "name": "Dispay", 923 | "label": "Front Door", 924 | "format": "{{msg.payload}}", 925 | "layout": "row-spread", 926 | "x": 430, 927 | "y": 1040, 928 | "wires": [] 929 | }, 930 | { 931 | "id": "f646486f.ef0698", 932 | "type": "server-state-changed", 933 | "z": "b792f2de.9024d", 934 | "name": "South Gate", 935 | "server": "1e776005.3ee9b", 936 | "entityidfilter": "binary_sensor.zeier_gate", 937 | "haltifstate": "", 938 | "x": 100, 939 | "y": 1040, 940 | "wires": [ 941 | [ 942 | "e95962ba.3322" 943 | ] 944 | ] 945 | }, 946 | { 947 | "id": "dca32d28.2a9a1", 948 | "type": "function", 949 | "z": "b792f2de.9024d", 950 | "name": "Change It", 951 | "func": "if(msg.payload == \"off\")\n{\n msg.payload = \"Closed\";\n}\nif(msg.payload == \"off\")\n{\n msg.payload = \"Open\";\n}\nreturn msg;", 952 | "outputs": 1, 953 | "noerr": 0, 954 | "x": 260, 955 | "y": 920, 956 | "wires": [ 957 | [ 958 | "a113d95a.a66bc8" 959 | ] 960 | ] 961 | }, 962 | { 963 | "id": "208c82ed.16baee", 964 | "type": "function", 965 | "z": "b792f2de.9024d", 966 | "name": "Change It", 967 | "func": "if(msg.payload == \"off\")\n{\n msg.payload = \"Closed\";\n}\nif(msg.payload == \"off\")\n{\n msg.payload = \"Open\";\n}\nreturn msg;", 968 | "outputs": 1, 969 | "noerr": 0, 970 | "x": 260, 971 | "y": 960, 972 | "wires": [ 973 | [ 974 | "a1b96a3c.2df408" 975 | ] 976 | ] 977 | }, 978 | { 979 | "id": "6ae7da3d.d77c94", 980 | "type": "function", 981 | "z": "b792f2de.9024d", 982 | "name": "Change It", 983 | "func": "if(msg.payload == \"off\")\n{\n msg.payload = \"Closed\";\n}\nif(msg.payload == \"off\")\n{\n msg.payload = \"Open\";\n}\nreturn msg;", 984 | "outputs": 1, 985 | "noerr": 0, 986 | "x": 260, 987 | "y": 1000, 988 | "wires": [ 989 | [ 990 | "9c2006b6.e7a288" 991 | ] 992 | ] 993 | }, 994 | { 995 | "id": "e95962ba.3322", 996 | "type": "function", 997 | "z": "b792f2de.9024d", 998 | "name": "Change It", 999 | "func": "if(msg.payload == \"off\")\n{\n msg.payload = \"Closed\";\n}\nif(msg.payload == \"off\")\n{\n msg.payload = \"Open\";\n}\nreturn msg;", 1000 | "outputs": 1, 1001 | "noerr": 0, 1002 | "x": 260, 1003 | "y": 1040, 1004 | "wires": [ 1005 | [ 1006 | "fb0ee138.c0708" 1007 | ] 1008 | ] 1009 | }, 1010 | { 1011 | "id": "eac4c8cc.4243c8", 1012 | "type": "ui_group", 1013 | "z": "", 1014 | "name": "Keypad", 1015 | "tab": "b0c179ba.fd1718", 1016 | "order": 1, 1017 | "disp": true, 1018 | "width": "6", 1019 | "collapse": false 1020 | }, 1021 | { 1022 | "id": "1e776005.3ee9b", 1023 | "type": "server", 1024 | "z": "", 1025 | "name": "Home Assistant", 1026 | "url": "http://192.168.86.168:8123", 1027 | "pass": "NotMyPassword" 1028 | }, 1029 | { 1030 | "id": "2bfca87d.509508", 1031 | "type": "ui_group", 1032 | "z": "", 1033 | "name": "Door Status", 1034 | "tab": "91d57fec.f4c15", 1035 | "order": 3, 1036 | "disp": true, 1037 | "width": "6", 1038 | "collapse": false 1039 | }, 1040 | { 1041 | "id": "b0c179ba.fd1718", 1042 | "type": "ui_tab", 1043 | "z": "", 1044 | "name": "Alarm Panel", 1045 | "icon": "dashboard", 1046 | "order": 1 1047 | }, 1048 | { 1049 | "id": "91d57fec.f4c15", 1050 | "type": "ui_tab", 1051 | "z": "", 1052 | "name": "Pool Controls", 1053 | "icon": "dashboard", 1054 | "order": 2 1055 | } 1056 | ] --------------------------------------------------------------------------------