IoT Buttons - Flow

From The TinkerNet Wiki
Revision as of 16:25, 29 December 2021 by Tinker (talk | contribs)
Jump to navigation Jump to search

Notes

SkyNet is the name of the automation server on my network (Has Node-Red & Mosquitto installed.)

The MQTT Out node labelled "Scotts Speaker" sends to a topic monitored elsewhere in NR.

The MQTT Out node labelled "mqtt" gets its topic from its input.

The MQTT Out node labelled "Scotts Speaker" sends to a topic monitored elsewhere in NR.

The actual flow

IoT Buttons Flow.png

   1 [
   2     {
   3         "id": "67f1efdc.110188",
   4         "type": "tab",
   5         "label": "IoT Keypad",
   6         "disabled": false,
   7         "info": ""
   8     },
   9     {
  10         "id": "30143f44.a3c3e8",
  11         "type": "mqtt in",
  12         "z": "67f1efdc.110188",
  13         "name": "Message",
  14         "topic": "Arduino/Keypad/nanoClient/Message",
  15         "qos": "2",
  16         "datatype": "auto",
  17         "broker": "f32dd71f.7c852",
  18         "nl": false,
  19         "rap": false,
  20         "x": 300,
  21         "y": 480,
  22         "wires": [
  23             [
  24                 "41bd1087.82e87",
  25                 "266b721f.473d0e"
  26             ]
  27         ]
  28     },
  29     {
  30         "id": "6fcd375d.4cd008",
  31         "type": "debug",
  32         "z": "67f1efdc.110188",
  33         "name": "RESULT",
  34         "active": false,
  35         "tosidebar": true,
  36         "console": false,
  37         "tostatus": false,
  38         "complete": "true",
  39         "targetType": "full",
  40         "x": 160,
  41         "y": 240,
  42         "wires": []
  43     },
  44     {
  45         "id": "41bd1087.82e87",
  46         "type": "switch",
  47         "z": "67f1efdc.110188",
  48         "name": "",
  49         "property": "payload",
  50         "propertyType": "msg",
  51         "rules": [
  52             {
  53                 "t": "regex",
  54                 "v": "[0-9]",
  55                 "vt": "str",
  56                 "case": false
  57             },
  58             {
  59                 "t": "regex",
  60                 "v": "[\\*\\#]",
  61                 "vt": "str",
  62                 "case": false
  63             },
  64             {
  65                 "t": "regex",
  66                 "v": "[a-z]",
  67                 "vt": "str",
  68                 "case": true
  69             }
  70         ],
  71         "checkall": "true",
  72         "repair": false,
  73         "outputs": 3,
  74         "x": 470,
  75         "y": 480,
  76         "wires": [
  77             [
  78                 "a0fa172e.12b3c"
  79             ],
  80             [
  81                 "e951bbf3.7e90c8"
  82             ],
  83             [
  84                 "a3c9ded4.b09598"
  85             ]
  86         ]
  87     },
  88     {
  89         "id": "a0fa172e.12b3c",
  90         "type": "switch",
  91         "z": "67f1efdc.110188",
  92         "name": "Numbers",
  93         "property": "payload",
  94         "propertyType": "msg",
  95         "rules": [
  96             {
  97                 "t": "eq",
  98                 "v": "1",
  99                 "vt": "str"
 100             },
 101             {
 102                 "t": "eq",
 103                 "v": "2",
 104                 "vt": "str"
 105             },
 106             {
 107                 "t": "eq",
 108                 "v": "3",
 109                 "vt": "num"
 110             },
 111             {
 112                 "t": "eq",
 113                 "v": "4",
 114                 "vt": "num"
 115             },
 116             {
 117                 "t": "eq",
 118                 "v": "5",
 119                 "vt": "num"
 120             },
 121             {
 122                 "t": "eq",
 123                 "v": "6",
 124                 "vt": "num"
 125             },
 126             {
 127                 "t": "eq",
 128                 "v": "7",
 129                 "vt": "num"
 130             },
 131             {
 132                 "t": "eq",
 133                 "v": "8",
 134                 "vt": "num"
 135             },
 136             {
 137                 "t": "eq",
 138                 "v": "9",
 139                 "vt": "num"
 140             },
 141             {
 142                 "t": "eq",
 143                 "v": "0",
 144                 "vt": "num"
 145             }
 146         ],
 147         "checkall": "true",
 148         "repair": false,
 149         "outputs": 10,
 150         "x": 620,
 151         "y": 340,
 152         "wires": [
 153             [
 154                 "261e1818.fd02f8"
 155             ],
 156             [
 157                 "c90e7db6.8a82f"
 158             ],
 159             [
 160                 "a37c4099.3528d"
 161             ],
 162             [
 163                 "8c0855cd.68b388"
 164             ],
 165             [
 166                 "f627441.1d8a9b8"
 167             ],
 168             [
 169                 "23398b41.849d64"
 170             ],
 171             [
 172                 "3439a40d.49f7bc"
 173             ],
 174             [
 175                 "477a4cd6.fbd194"
 176             ],
 177             [
 178                 "1e363993.46fcd6"
 179             ],
 180             [
 181                 "2c309c2e.3d2154"
 182             ]
 183         ]
 184     },
 185     {
 186         "id": "a3c9ded4.b09598",
 187         "type": "switch",
 188         "z": "67f1efdc.110188",
 189         "name": "Letters",
 190         "property": "payload",
 191         "propertyType": "msg",
 192         "rules": [
 193             {
 194                 "t": "regex",
 195                 "v": "A",
 196                 "vt": "str",
 197                 "case": true
 198             },
 199             {
 200                 "t": "regex",
 201                 "v": "B",
 202                 "vt": "str",
 203                 "case": true
 204             },
 205             {
 206                 "t": "regex",
 207                 "v": "C",
 208                 "vt": "str",
 209                 "case": true
 210             },
 211             {
 212                 "t": "regex",
 213                 "v": "D",
 214                 "vt": "str",
 215                 "case": true
 216             }
 217         ],
 218         "checkall": "true",
 219         "repair": false,
 220         "outputs": 4,
 221         "x": 610,
 222         "y": 580,
 223         "wires": [
 224             [
 225                 "94a22f0a.8a6d4"
 226             ],
 227             [
 228                 "5fd1f360.77e72c"
 229             ],
 230             [
 231                 "40d2093d.283f98"
 232             ],
 233             [
 234                 "81371de5.c7e41"
 235             ]
 236         ]
 237     },
 238     {
 239         "id": "e951bbf3.7e90c8",
 240         "type": "switch",
 241         "z": "67f1efdc.110188",
 242         "name": "Symbols",
 243         "property": "payload",
 244         "propertyType": "msg",
 245         "rules": [
 246             {
 247                 "t": "eq",
 248                 "v": "*",
 249                 "vt": "str"
 250             },
 251             {
 252                 "t": "eq",
 253                 "v": "#",
 254                 "vt": "str"
 255             }
 256         ],
 257         "checkall": "true",
 258         "repair": false,
 259         "outputs": 2,
 260         "x": 620,
 261         "y": 480,
 262         "wires": [
 263             [
 264                 "18cbd6ec.370b69"
 265             ],
 266             [
 267                 "8d59ed2d.2c3aa"
 268             ]
 269         ]
 270     },
 271     {
 272         "id": "82bcfed5.7ef0d8",
 273         "type": "mqtt out",
 274         "z": "67f1efdc.110188",
 275         "name": "",
 276         "topic": "Scotts Speaker",
 277         "qos": "",
 278         "retain": "",
 279         "respTopic": "",
 280         "contentType": "",
 281         "userProps": "",
 282         "correl": "",
 283         "expiry": "",
 284         "broker": "f32dd71f.7c852",
 285         "x": 180,
 286         "y": 180,
 287         "wires": []
 288     },
 289     {
 290         "id": "9e40bfd7.93f1a8",
 291         "type": "change",
 292         "z": "67f1efdc.110188",
 293         "name": "",
 294         "rules": [
 295             {
 296                 "t": "set",
 297                 "p": "topic",
 298                 "pt": "msg",
 299                 "to": "Scotts Speaker",
 300                 "tot": "str"
 301             }
 302         ],
 303         "action": "",
 304         "property": "",
 305         "from": "",
 306         "to": "",
 307         "reg": false,
 308         "x": 160,
 309         "y": 140,
 310         "wires": [
 311             [
 312                 "82bcfed5.7ef0d8",
 313                 "d349982b.663508"
 314             ]
 315         ]
 316     },
 317     {
 318         "id": "4dae529d.88f68c",
 319         "type": "config",
 320         "z": "67f1efdc.110188",
 321         "name": "Reset",
 322         "properties": [
 323             {
 324                 "p": "Speakers",
 325                 "pt": "flow",
 326                 "to": "[\"Scotts Speaker\",\"Workshop Speaker\",\"Kitchen Speaker\",\"Office Speaker\"]",
 327                 "tot": "json"
 328             },
 329             {
 330                 "p": "count",
 331                 "pt": "flow",
 332                 "to": "0",
 333                 "tot": "num"
 334             },
 335             {
 336                 "p": "Speaker",
 337                 "pt": "flow",
 338                 "to": "Scotts Speaker damnit",
 339                 "tot": "str"
 340             }
 341         ],
 342         "active": true,
 343         "x": 130,
 344         "y": 40,
 345         "wires": []
 346     },
 347     {
 348         "id": "a9f435af.7118c8",
 349         "type": "mqtt out",
 350         "z": "67f1efdc.110188",
 351         "name": "",
 352         "topic": "",
 353         "qos": "",
 354         "retain": "",
 355         "respTopic": "",
 356         "contentType": "",
 357         "userProps": "",
 358         "correl": "",
 359         "expiry": "",
 360         "broker": "f32dd71f.7c852",
 361         "x": 150,
 362         "y": 380,
 363         "wires": []
 364     },
 365     {
 366         "id": "9db7e0ab.149c18",
 367         "type": "change",
 368         "z": "67f1efdc.110188",
 369         "name": "",
 370         "rules": [
 371             {
 372                 "t": "set",
 373                 "p": "topic",
 374                 "pt": "msg",
 375                 "to": "target",
 376                 "tot": "msg"
 377             }
 378         ],
 379         "action": "",
 380         "property": "",
 381         "from": "",
 382         "to": "",
 383         "reg": false,
 384         "x": 160,
 385         "y": 340,
 386         "wires": [
 387             [
 388                 "a9f435af.7118c8",
 389                 "71a4ed52.5234c4"
 390             ]
 391         ]
 392     },
 393     {
 394         "id": "a8dfea2e.904b6",
 395         "type": "comment",
 396         "z": "67f1efdc.110188",
 397         "name": "A",
 398         "info": "",
 399         "x": 1010,
 400         "y": 560,
 401         "wires": []
 402     },
 403     {
 404         "id": "248d5bb3.22bb0c",
 405         "type": "comment",
 406         "z": "67f1efdc.110188",
 407         "name": "B",
 408         "info": "",
 409         "x": 1010,
 410         "y": 600,
 411         "wires": []
 412     },
 413     {
 414         "id": "a46ba32e.9346d",
 415         "type": "comment",
 416         "z": "67f1efdc.110188",
 417         "name": "C",
 418         "info": "",
 419         "x": 1010,
 420         "y": 640,
 421         "wires": []
 422     },
 423     {
 424         "id": "eb3b1314.a03c4",
 425         "type": "comment",
 426         "z": "67f1efdc.110188",
 427         "name": "D",
 428         "info": "",
 429         "x": 1010,
 430         "y": 680,
 431         "wires": []
 432     },
 433     {
 434         "id": "4995caa5.cfe394",
 435         "type": "ui_button",
 436         "z": "67f1efdc.110188",
 437         "name": "",
 438         "group": "262b6182.58ab66",
 439         "order": 1,
 440         "width": 0,
 441         "height": 0,
 442         "passthru": false,
 443         "label": "button",
 444         "tooltip": "",
 445         "color": "",
 446         "bgcolor": "",
 447         "icon": "",
 448         "payload": "0",
 449         "payloadType": "str",
 450         "topic": "Arduino/Keypad/nanoClient/Message",
 451         "x": 310,
 452         "y": 440,
 453         "wires": [
 454             [
 455                 "41bd1087.82e87"
 456             ]
 457         ]
 458     },
 459     {
 460         "id": "71a4ed52.5234c4",
 461         "type": "debug",
 462         "z": "67f1efdc.110188",
 463         "name": "",
 464         "active": false,
 465         "tosidebar": true,
 466         "console": false,
 467         "tostatus": false,
 468         "complete": "true",
 469         "targetType": "full",
 470         "x": 150,
 471         "y": 300,
 472         "wires": []
 473     },
 474     {
 475         "id": "266b721f.473d0e",
 476         "type": "debug",
 477         "z": "67f1efdc.110188",
 478         "name": "wtf",
 479         "active": false,
 480         "tosidebar": true,
 481         "console": false,
 482         "tostatus": false,
 483         "complete": "true",
 484         "targetType": "full",
 485         "statusVal": "",
 486         "statusType": "auto",
 487         "x": 450,
 488         "y": 540,
 489         "wires": []
 490     },
 491     {
 492         "id": "d349982b.663508",
 493         "type": "debug",
 494         "z": "67f1efdc.110188",
 495         "name": "wtf",
 496         "active": false,
 497         "tosidebar": true,
 498         "console": false,
 499         "tostatus": false,
 500         "complete": "true",
 501         "targetType": "full",
 502         "statusVal": "",
 503         "statusType": "auto",
 504         "x": 150,
 505         "y": 100,
 506         "wires": []
 507     },
 508     {
 509         "id": "5f2ccefb.beed3",
 510         "type": "link in",
 511         "z": "67f1efdc.110188",
 512         "name": "",
 513         "links": [
 514             "4787e954.dca8f8",
 515             "ab11f967.ca9318",
 516             "78928728.913068",
 517             "884190b7.fcccb",
 518             "ba2a4e96.38183",
 519             "573426cb.688fb8",
 520             "bb32bce.4eb6e4",
 521             "edbcc362.8a038",
 522             "fe187230.31bad",
 523             "5c8a909e.ffc5b",
 524             "a09ae489.32bed8",
 525             "e6840c01.acfc8"
 526         ],
 527         "x": 55,
 528         "y": 140,
 529         "wires": [
 530             [
 531                 "9e40bfd7.93f1a8",
 532                 "6fcd375d.4cd008"
 533             ]
 534         ]
 535     },
 536     {
 537         "id": "4787e954.dca8f8",
 538         "type": "link out",
 539         "z": "67f1efdc.110188",
 540         "name": "",
 541         "links": [
 542             "5f2ccefb.beed3"
 543         ],
 544         "x": 1095,
 545         "y": 40,
 546         "wires": []
 547     },
 548     {
 549         "id": "ab11f967.ca9318",
 550         "type": "link out",
 551         "z": "67f1efdc.110188",
 552         "name": "",
 553         "links": [
 554             "5f2ccefb.beed3"
 555         ],
 556         "x": 1095,
 557         "y": 80,
 558         "wires": []
 559     },
 560     {
 561         "id": "78928728.913068",
 562         "type": "link out",
 563         "z": "67f1efdc.110188",
 564         "name": "",
 565         "links": [
 566             "5f2ccefb.beed3"
 567         ],
 568         "x": 1095,
 569         "y": 120,
 570         "wires": []
 571     },
 572     {
 573         "id": "884190b7.fcccb",
 574         "type": "link out",
 575         "z": "67f1efdc.110188",
 576         "name": "",
 577         "links": [
 578             "5f2ccefb.beed3"
 579         ],
 580         "x": 1095,
 581         "y": 160,
 582         "wires": []
 583     },
 584     {
 585         "id": "ba2a4e96.38183",
 586         "type": "link out",
 587         "z": "67f1efdc.110188",
 588         "name": "",
 589         "links": [
 590             "5f2ccefb.beed3"
 591         ],
 592         "x": 1095,
 593         "y": 200,
 594         "wires": []
 595     },
 596     {
 597         "id": "573426cb.688fb8",
 598         "type": "link out",
 599         "z": "67f1efdc.110188",
 600         "name": "",
 601         "links": [
 602             "5f2ccefb.beed3"
 603         ],
 604         "x": 1095,
 605         "y": 240,
 606         "wires": []
 607     },
 608     {
 609         "id": "bb32bce.4eb6e4",
 610         "type": "link out",
 611         "z": "67f1efdc.110188",
 612         "name": "",
 613         "links": [
 614             "5f2ccefb.beed3"
 615         ],
 616         "x": 1095,
 617         "y": 280,
 618         "wires": []
 619     },
 620     {
 621         "id": "edbcc362.8a038",
 622         "type": "link out",
 623         "z": "67f1efdc.110188",
 624         "name": "",
 625         "links": [
 626             "5f2ccefb.beed3"
 627         ],
 628         "x": 1095,
 629         "y": 320,
 630         "wires": []
 631     },
 632     {
 633         "id": "fe187230.31bad",
 634         "type": "link out",
 635         "z": "67f1efdc.110188",
 636         "name": "",
 637         "links": [
 638             "5f2ccefb.beed3"
 639         ],
 640         "x": 1095,
 641         "y": 360,
 642         "wires": []
 643     },
 644     {
 645         "id": "5c8a909e.ffc5b",
 646         "type": "link out",
 647         "z": "67f1efdc.110188",
 648         "name": "",
 649         "links": [
 650             "5f2ccefb.beed3"
 651         ],
 652         "x": 1095,
 653         "y": 400,
 654         "wires": []
 655     },
 656     {
 657         "id": "93579c63.f7078",
 658         "type": "link in",
 659         "z": "67f1efdc.110188",
 660         "name": "",
 661         "links": [
 662             "bdded2e4.4994d",
 663             "5c362ee6.22b7e",
 664             "55a67f69.48409",
 665             "28dca17.38b0b5e",
 666             "9cecf197.f1f2",
 667             "17febf14.279841"
 668         ],
 669         "x": 55,
 670         "y": 340,
 671         "wires": [
 672             [
 673                 "9db7e0ab.149c18",
 674                 "6fcd375d.4cd008"
 675             ]
 676         ]
 677     },
 678     {
 679         "id": "bdded2e4.4994d",
 680         "type": "link out",
 681         "z": "67f1efdc.110188",
 682         "name": "",
 683         "links": [
 684             "93579c63.f7078"
 685         ],
 686         "x": 1095,
 687         "y": 560,
 688         "wires": []
 689     },
 690     {
 691         "id": "5c362ee6.22b7e",
 692         "type": "link out",
 693         "z": "67f1efdc.110188",
 694         "name": "",
 695         "links": [
 696             "93579c63.f7078"
 697         ],
 698         "x": 1095,
 699         "y": 600,
 700         "wires": []
 701     },
 702     {
 703         "id": "55a67f69.48409",
 704         "type": "link out",
 705         "z": "67f1efdc.110188",
 706         "name": "",
 707         "links": [
 708             "93579c63.f7078"
 709         ],
 710         "x": 1095,
 711         "y": 640,
 712         "wires": []
 713     },
 714     {
 715         "id": "28dca17.38b0b5e",
 716         "type": "link out",
 717         "z": "67f1efdc.110188",
 718         "name": "",
 719         "links": [
 720             "93579c63.f7078"
 721         ],
 722         "x": 1095,
 723         "y": 680,
 724         "wires": []
 725     },
 726     {
 727         "id": "a09ae489.32bed8",
 728         "type": "link out",
 729         "z": "67f1efdc.110188",
 730         "name": "",
 731         "links": [
 732             "5f2ccefb.beed3"
 733         ],
 734         "x": 1095,
 735         "y": 500,
 736         "wires": []
 737     },
 738     {
 739         "id": "e6840c01.acfc8",
 740         "type": "link out",
 741         "z": "67f1efdc.110188",
 742         "name": "",
 743         "links": [
 744             "5f2ccefb.beed3"
 745         ],
 746         "x": 1095,
 747         "y": 460,
 748         "wires": []
 749     },
 750     {
 751         "id": "30f4143a.aa5cec",
 752         "type": "comment",
 753         "z": "67f1efdc.110188",
 754         "name": "1",
 755         "info": "",
 756         "x": 1010,
 757         "y": 40,
 758         "wires": []
 759     },
 760     {
 761         "id": "cd085a34.5de048",
 762         "type": "comment",
 763         "z": "67f1efdc.110188",
 764         "name": "2",
 765         "info": "",
 766         "x": 1010,
 767         "y": 80,
 768         "wires": []
 769     },
 770     {
 771         "id": "d5ea9592.6ebe48",
 772         "type": "comment",
 773         "z": "67f1efdc.110188",
 774         "name": "3",
 775         "info": "",
 776         "x": 1010,
 777         "y": 120,
 778         "wires": []
 779     },
 780     {
 781         "id": "ed59c9eb.88ba48",
 782         "type": "comment",
 783         "z": "67f1efdc.110188",
 784         "name": "4",
 785         "info": "",
 786         "x": 1010,
 787         "y": 160,
 788         "wires": []
 789     },
 790     {
 791         "id": "ed0ca1ab.92b6c",
 792         "type": "comment",
 793         "z": "67f1efdc.110188",
 794         "name": "5",
 795         "info": "",
 796         "x": 1010,
 797         "y": 200,
 798         "wires": []
 799     },
 800     {
 801         "id": "d11b03a2.cbbce",
 802         "type": "comment",
 803         "z": "67f1efdc.110188",
 804         "name": "6",
 805         "info": "",
 806         "x": 1010,
 807         "y": 240,
 808         "wires": []
 809     },
 810     {
 811         "id": "f396db9f.0f3878",
 812         "type": "comment",
 813         "z": "67f1efdc.110188",
 814         "name": "7",
 815         "info": "",
 816         "x": 1010,
 817         "y": 280,
 818         "wires": []
 819     },
 820     {
 821         "id": "e65e4f89.c0af4",
 822         "type": "comment",
 823         "z": "67f1efdc.110188",
 824         "name": "8",
 825         "info": "",
 826         "x": 1010,
 827         "y": 320,
 828         "wires": []
 829     },
 830     {
 831         "id": "54ea4482.f0ca4c",
 832         "type": "comment",
 833         "z": "67f1efdc.110188",
 834         "name": "9",
 835         "info": "",
 836         "x": 1010,
 837         "y": 360,
 838         "wires": []
 839     },
 840     {
 841         "id": "5499770.f640b88",
 842         "type": "comment",
 843         "z": "67f1efdc.110188",
 844         "name": "0",
 845         "info": "",
 846         "x": 1010,
 847         "y": 400,
 848         "wires": []
 849     },
 850     {
 851         "id": "aaf519f7.02d078",
 852         "type": "comment",
 853         "z": "67f1efdc.110188",
 854         "name": "#",
 855         "info": "",
 856         "x": 1010,
 857         "y": 500,
 858         "wires": []
 859     },
 860     {
 861         "id": "c6b946d2.448628",
 862         "type": "comment",
 863         "z": "67f1efdc.110188",
 864         "name": "*",
 865         "info": "",
 866         "x": 1010,
 867         "y": 460,
 868         "wires": []
 869     },
 870     {
 871         "id": "18cbd6ec.370b69",
 872         "type": "change",
 873         "z": "67f1efdc.110188",
 874         "name": "Say: bork",
 875         "rules": [
 876             {
 877                 "t": "set",
 878                 "p": "topic",
 879                 "pt": "msg",
 880                 "to": "Button Pressed",
 881                 "tot": "str"
 882             },
 883             {
 884                 "t": "set",
 885                 "p": "type",
 886                 "pt": "msg",
 887                 "to": "Speech",
 888                 "tot": "str"
 889             },
 890             {
 891                 "t": "set",
 892                 "p": "target",
 893                 "pt": "msg",
 894                 "to": "Scotts Speaker",
 895                 "tot": "str"
 896             },
 897             {
 898                 "t": "set",
 899                 "p": "payload",
 900                 "pt": "msg",
 901                 "to": "bork",
 902                 "tot": "str"
 903             }
 904         ],
 905         "action": "",
 906         "property": "",
 907         "from": "",
 908         "to": "",
 909         "reg": false,
 910         "x": 820,
 911         "y": 460,
 912         "wires": [
 913             [
 914                 "e6840c01.acfc8"
 915             ]
 916         ]
 917     },
 918     {
 919         "id": "8d59ed2d.2c3aa",
 920         "type": "change",
 921         "z": "67f1efdc.110188",
 922         "name": "Say: bork",
 923         "rules": [
 924             {
 925                 "t": "set",
 926                 "p": "topic",
 927                 "pt": "msg",
 928                 "to": "Button Pressed",
 929                 "tot": "str"
 930             },
 931             {
 932                 "t": "set",
 933                 "p": "type",
 934                 "pt": "msg",
 935                 "to": "Speech",
 936                 "tot": "str"
 937             },
 938             {
 939                 "t": "set",
 940                 "p": "target",
 941                 "pt": "msg",
 942                 "to": "Scotts Speaker",
 943                 "tot": "str"
 944             },
 945             {
 946                 "t": "set",
 947                 "p": "payload",
 948                 "pt": "msg",
 949                 "to": "Say wut?",
 950                 "tot": "str"
 951             }
 952         ],
 953         "action": "",
 954         "property": "",
 955         "from": "",
 956         "to": "",
 957         "reg": false,
 958         "x": 820,
 959         "y": 500,
 960         "wires": [
 961             [
 962                 "a09ae489.32bed8"
 963             ]
 964         ]
 965     },
 966     {
 967         "id": "2c309c2e.3d2154",
 968         "type": "change",
 969         "z": "67f1efdc.110188",
 970         "name": "Dang!",
 971         "rules": [
 972             {
 973                 "t": "set",
 974                 "p": "topic",
 975                 "pt": "msg",
 976                 "to": "Button Pressed",
 977                 "tot": "str"
 978             },
 979             {
 980                 "t": "set",
 981                 "p": "type",
 982                 "pt": "msg",
 983                 "to": "Speech",
 984                 "tot": "str"
 985             },
 986             {
 987                 "t": "set",
 988                 "p": "target",
 989                 "pt": "msg",
 990                 "to": "Scotts Speaker",
 991                 "tot": "str"
 992             },
 993             {
 994                 "t": "set",
 995                 "p": "payload",
 996                 "pt": "msg",
 997                 "to": "Dang!",
 998                 "tot": "str"
 999             }
1000         ],
1001         "action": "",
1002         "property": "",
1003         "from": "",
1004         "to": "",
1005         "reg": false,
1006         "x": 810,
1007         "y": 400,
1008         "wires": [
1009             [
1010                 "5c8a909e.ffc5b"
1011             ]
1012         ]
1013     },
1014     {
1015         "id": "1e363993.46fcd6",
1016         "type": "change",
1017         "z": "67f1efdc.110188",
1018         "name": "OogaBooga",
1019         "rules": [
1020             {
1021                 "t": "set",
1022                 "p": "topic",
1023                 "pt": "msg",
1024                 "to": "Button Pressed",
1025                 "tot": "str"
1026             },
1027             {
1028                 "t": "set",
1029                 "p": "type",
1030                 "pt": "msg",
1031                 "to": "Speech",
1032                 "tot": "str"
1033             },
1034             {
1035                 "t": "set",
1036                 "p": "target",
1037                 "pt": "msg",
1038                 "to": "Scotts Speaker",
1039                 "tot": "str"
1040             },
1041             {
1042                 "t": "set",
1043                 "p": "payload",
1044                 "pt": "msg",
1045                 "to": "OogaBooga",
1046                 "tot": "str"
1047             }
1048         ],
1049         "action": "",
1050         "property": "",
1051         "from": "",
1052         "to": "",
1053         "reg": false,
1054         "x": 830,
1055         "y": 360,
1056         "wires": [
1057             [
1058                 "fe187230.31bad"
1059             ]
1060         ]
1061     },
1062     {
1063         "id": "3439a40d.49f7bc",
1064         "type": "change",
1065         "z": "67f1efdc.110188",
1066         "name": "Bull Shit!",
1067         "rules": [
1068             {
1069                 "t": "set",
1070                 "p": "topic",
1071                 "pt": "msg",
1072                 "to": "Button Pressed",
1073                 "tot": "str"
1074             },
1075             {
1076                 "t": "set",
1077                 "p": "type",
1078                 "pt": "msg",
1079                 "to": "Speech",
1080                 "tot": "str"
1081             },
1082             {
1083                 "t": "set",
1084                 "p": "target",
1085                 "pt": "msg",
1086                 "to": "Scotts Speaker",
1087                 "tot": "str"
1088             },
1089             {
1090                 "t": "set",
1091                 "p": "payload",
1092                 "pt": "msg",
1093                 "to": "Bull Shit!",
1094                 "tot": "str"
1095             }
1096         ],
1097         "action": "",
1098         "property": "",
1099         "from": "",
1100         "to": "",
1101         "reg": false,
1102         "x": 820,
1103         "y": 280,
1104         "wires": [
1105             [
1106                 "bb32bce.4eb6e4"
1107             ]
1108         ]
1109     },
1110     {
1111         "id": "261e1818.fd02f8",
1112         "type": "change",
1113         "z": "67f1efdc.110188",
1114         "name": "Fucking Retard!",
1115         "rules": [
1116             {
1117                 "t": "set",
1118                 "p": "topic",
1119                 "pt": "msg",
1120                 "to": "Button Pressed",
1121                 "tot": "str"
1122             },
1123             {
1124                 "t": "set",
1125                 "p": "type",
1126                 "pt": "msg",
1127                 "to": "Speech",
1128                 "tot": "str"
1129             },
1130             {
1131                 "t": "set",
1132                 "p": "target",
1133                 "pt": "msg",
1134                 "to": "Scotts Speaker",
1135                 "tot": "str"
1136             },
1137             {
1138                 "t": "set",
1139                 "p": "payload",
1140                 "pt": "msg",
1141                 "to": "Fucking Retard!",
1142                 "tot": "str"
1143             }
1144         ],
1145         "action": "",
1146         "property": "",
1147         "from": "",
1148         "to": "",
1149         "reg": false,
1150         "x": 840,
1151         "y": 40,
1152         "wires": [
1153             [
1154                 "4787e954.dca8f8"
1155             ]
1156         ]
1157     },
1158     {
1159         "id": "c90e7db6.8a82f",
1160         "type": "change",
1161         "z": "67f1efdc.110188",
1162         "name": "well... shit",
1163         "rules": [
1164             {
1165                 "t": "set",
1166                 "p": "topic",
1167                 "pt": "msg",
1168                 "to": "Button Pressed",
1169                 "tot": "str"
1170             },
1171             {
1172                 "t": "set",
1173                 "p": "type",
1174                 "pt": "msg",
1175                 "to": "Speech",
1176                 "tot": "str"
1177             },
1178             {
1179                 "t": "set",
1180                 "p": "target",
1181                 "pt": "msg",
1182                 "to": "Scotts Speaker",
1183                 "tot": "str"
1184             },
1185             {
1186                 "t": "set",
1187                 "p": "payload",
1188                 "pt": "msg",
1189                 "to": "well... shit",
1190                 "tot": "str"
1191             }
1192         ],
1193         "action": "",
1194         "property": "",
1195         "from": "",
1196         "to": "",
1197         "reg": false,
1198         "x": 820,
1199         "y": 80,
1200         "wires": [
1201             [
1202                 "ab11f967.ca9318"
1203             ]
1204         ]
1205     },
1206     {
1207         "id": "a37c4099.3528d",
1208         "type": "change",
1209         "z": "67f1efdc.110188",
1210         "name": "woot woot",
1211         "rules": [
1212             {
1213                 "t": "set",
1214                 "p": "topic",
1215                 "pt": "msg",
1216                 "to": "Button Pressed",
1217                 "tot": "str"
1218             },
1219             {
1220                 "t": "set",
1221                 "p": "type",
1222                 "pt": "msg",
1223                 "to": "Speech",
1224                 "tot": "str"
1225             },
1226             {
1227                 "t": "set",
1228                 "p": "target",
1229                 "pt": "msg",
1230                 "to": "Scotts Speaker",
1231                 "tot": "str"
1232             },
1233             {
1234                 "t": "set",
1235                 "p": "payload",
1236                 "pt": "msg",
1237                 "to": "woot woot",
1238                 "tot": "str"
1239             }
1240         ],
1241         "action": "",
1242         "property": "",
1243         "from": "",
1244         "to": "",
1245         "reg": false,
1246         "x": 820,
1247         "y": 120,
1248         "wires": [
1249             [
1250                 "78928728.913068"
1251             ]
1252         ]
1253     },
1254     {
1255         "id": "8c0855cd.68b388",
1256         "type": "change",
1257         "z": "67f1efdc.110188",
1258         "name": "it jit",
1259         "rules": [
1260             {
1261                 "t": "set",
1262                 "p": "topic",
1263                 "pt": "msg",
1264                 "to": "Button Pressed",
1265                 "tot": "str"
1266             },
1267             {
1268                 "t": "set",
1269                 "p": "type",
1270                 "pt": "msg",
1271                 "to": "Speech",
1272                 "tot": "str"
1273             },
1274             {
1275                 "t": "set",
1276                 "p": "target",
1277                 "pt": "msg",
1278                 "to": "Scotts Speaker",
1279                 "tot": "str"
1280             },
1281             {
1282                 "t": "set",
1283                 "p": "payload",
1284                 "pt": "msg",
1285                 "to": "it jit",
1286                 "tot": "str"
1287             }
1288         ],
1289         "action": "",
1290         "property": "",
1291         "from": "",
1292         "to": "",
1293         "reg": false,
1294         "x": 810,
1295         "y": 160,
1296         "wires": [
1297             [
1298                 "884190b7.fcccb"
1299             ]
1300         ]
1301     },
1302     {
1303         "id": "f627441.1d8a9b8",
1304         "type": "change",
1305         "z": "67f1efdc.110188",
1306         "name": "Bloody Hell!",
1307         "rules": [
1308             {
1309                 "t": "set",
1310                 "p": "topic",
1311                 "pt": "msg",
1312                 "to": "Button Pressed",
1313                 "tot": "str"
1314             },
1315             {
1316                 "t": "set",
1317                 "p": "type",
1318                 "pt": "msg",
1319                 "to": "Speech",
1320                 "tot": "str"
1321             },
1322             {
1323                 "t": "set",
1324                 "p": "target",
1325                 "pt": "msg",
1326                 "to": "Scotts Speaker",
1327                 "tot": "str"
1328             },
1329             {
1330                 "t": "set",
1331                 "p": "payload",
1332                 "pt": "msg",
1333                 "to": "Bloody Hell!",
1334                 "tot": "str"
1335             }
1336         ],
1337         "action": "",
1338         "property": "",
1339         "from": "",
1340         "to": "",
1341         "reg": false,
1342         "x": 830,
1343         "y": 200,
1344         "wires": [
1345             [
1346                 "ba2a4e96.38183"
1347             ]
1348         ]
1349     },
1350     {
1351         "id": "23398b41.849d64",
1352         "type": "change",
1353         "z": "67f1efdc.110188",
1354         "name": "Yee Ha!",
1355         "rules": [
1356             {
1357                 "t": "set",
1358                 "p": "topic",
1359                 "pt": "msg",
1360                 "to": "Button Pressed",
1361                 "tot": "str"
1362             },
1363             {
1364                 "t": "set",
1365                 "p": "type",
1366                 "pt": "msg",
1367                 "to": "Speech",
1368                 "tot": "str"
1369             },
1370             {
1371                 "t": "set",
1372                 "p": "target",
1373                 "pt": "msg",
1374                 "to": "Scotts Speaker",
1375                 "tot": "str"
1376             },
1377             {
1378                 "t": "set",
1379                 "p": "payload",
1380                 "pt": "msg",
1381                 "to": "Yee Ha!",
1382                 "tot": "str"
1383             }
1384         ],
1385         "action": "",
1386         "property": "",
1387         "from": "",
1388         "to": "",
1389         "reg": false,
1390         "x": 820,
1391         "y": 240,
1392         "wires": [
1393             [
1394                 "573426cb.688fb8"
1395             ]
1396         ]
1397     },
1398     {
1399         "id": "477a4cd6.fbd194",
1400         "type": "change",
1401         "z": "67f1efdc.110188",
1402         "name": "Oh poop",
1403         "rules": [
1404             {
1405                 "t": "set",
1406                 "p": "topic",
1407                 "pt": "msg",
1408                 "to": "Button Pressed",
1409                 "tot": "str"
1410             },
1411             {
1412                 "t": "set",
1413                 "p": "type",
1414                 "pt": "msg",
1415                 "to": "Speech",
1416                 "tot": "str"
1417             },
1418             {
1419                 "t": "set",
1420                 "p": "target",
1421                 "pt": "msg",
1422                 "to": "Scotts Speaker",
1423                 "tot": "str"
1424             },
1425             {
1426                 "t": "set",
1427                 "p": "payload",
1428                 "pt": "msg",
1429                 "to": "Oh poop",
1430                 "tot": "str"
1431             }
1432         ],
1433         "action": "",
1434         "property": "",
1435         "from": "",
1436         "to": "",
1437         "reg": false,
1438         "x": 820,
1439         "y": 320,
1440         "wires": [
1441             [
1442                 "edbcc362.8a038"
1443             ]
1444         ]
1445     },
1446     {
1447         "id": "94a22f0a.8a6d4",
1448         "type": "change",
1449         "z": "67f1efdc.110188",
1450         "name": "toggle Screens",
1451         "rules": [
1452             {
1453                 "t": "set",
1454                 "p": "topic",
1455                 "pt": "msg",
1456                 "to": "Button Pressed",
1457                 "tot": "str"
1458             },
1459             {
1460                 "t": "set",
1461                 "p": "type",
1462                 "pt": "msg",
1463                 "to": "Control",
1464                 "tot": "str"
1465             },
1466             {
1467                 "t": "set",
1468                 "p": "target",
1469                 "pt": "msg",
1470                 "to": "TasmOTA/Screens/cmnd/POWER",
1471                 "tot": "str"
1472             },
1473             {
1474                 "t": "set",
1475                 "p": "payload",
1476                 "pt": "msg",
1477                 "to": "toggle",
1478                 "tot": "str"
1479             }
1480         ],
1481         "action": "",
1482         "property": "",
1483         "from": "",
1484         "to": "",
1485         "reg": false,
1486         "x": 840,
1487         "y": 560,
1488         "wires": [
1489             [
1490                 "bdded2e4.4994d"
1491             ]
1492         ]
1493     },
1494     {
1495         "id": "5fd1f360.77e72c",
1496         "type": "change",
1497         "z": "67f1efdc.110188",
1498         "name": "toggle NightLight",
1499         "rules": [
1500             {
1501                 "t": "set",
1502                 "p": "topic",
1503                 "pt": "msg",
1504                 "to": "Button Pressed",
1505                 "tot": "str"
1506             },
1507             {
1508                 "t": "set",
1509                 "p": "type",
1510                 "pt": "msg",
1511                 "to": "Control",
1512                 "tot": "str"
1513             },
1514             {
1515                 "t": "set",
1516                 "p": "target",
1517                 "pt": "msg",
1518                 "to": "cmnd/Night_Light/POWER",
1519                 "tot": "str"
1520             },
1521             {
1522                 "t": "set",
1523                 "p": "payload",
1524                 "pt": "msg",
1525                 "to": "toggle",
1526                 "tot": "str"
1527             }
1528         ],
1529         "action": "",
1530         "property": "",
1531         "from": "",
1532         "to": "",
1533         "reg": false,
1534         "x": 850,
1535         "y": 600,
1536         "wires": [
1537             [
1538                 "5c362ee6.22b7e"
1539             ]
1540         ]
1541     },
1542     {
1543         "id": "81371de5.c7e41",
1544         "type": "change",
1545         "z": "67f1efdc.110188",
1546         "name": "toggle PantryLight",
1547         "rules": [
1548             {
1549                 "t": "set",
1550                 "p": "topic",
1551                 "pt": "msg",
1552                 "to": "Button Pressed",
1553                 "tot": "str"
1554             },
1555             {
1556                 "t": "set",
1557                 "p": "type",
1558                 "pt": "msg",
1559                 "to": "Control",
1560                 "tot": "str"
1561             },
1562             {
1563                 "t": "set",
1564                 "p": "target",
1565                 "pt": "msg",
1566                 "to": "cmnd/PantryLight/POWER",
1567                 "tot": "str"
1568             },
1569             {
1570                 "t": "set",
1571                 "p": "payload",
1572                 "pt": "msg",
1573                 "to": "toggle",
1574                 "tot": "str"
1575             }
1576         ],
1577         "action": "",
1578         "property": "",
1579         "from": "",
1580         "to": "",
1581         "reg": false,
1582         "x": 850,
1583         "y": 680,
1584         "wires": [
1585             [
1586                 "28dca17.38b0b5e"
1587             ]
1588         ]
1589     },
1590     {
1591         "id": "40d2093d.283f98",
1592         "type": "change",
1593         "z": "67f1efdc.110188",
1594         "name": "toggle BeerLight",
1595         "rules": [
1596             {
1597                 "t": "set",
1598                 "p": "topic",
1599                 "pt": "msg",
1600                 "to": "Button Pressed",
1601                 "tot": "str"
1602             },
1603             {
1604                 "t": "set",
1605                 "p": "type",
1606                 "pt": "msg",
1607                 "to": "Control",
1608                 "tot": "str"
1609             },
1610             {
1611                 "t": "set",
1612                 "p": "target",
1613                 "pt": "msg",
1614                 "to": "cmnd/Beer_Light/POWER",
1615                 "tot": "str"
1616             },
1617             {
1618                 "t": "set",
1619                 "p": "payload",
1620                 "pt": "msg",
1621                 "to": "toggle",
1622                 "tot": "str"
1623             }
1624         ],
1625         "action": "",
1626         "property": "",
1627         "from": "",
1628         "to": "",
1629         "reg": false,
1630         "x": 840,
1631         "y": 640,
1632         "wires": [
1633             [
1634                 "55a67f69.48409"
1635             ]
1636         ]
1637     },
1638     {
1639         "id": "f32dd71f.7c852",
1640         "type": "mqtt-broker",
1641         "name": "",
1642         "broker": "skynet",
1643         "port": "1883",
1644         "clientid": "",
1645         "usetls": false,
1646         "protocolVersion": "4",
1647         "keepalive": "60",
1648         "cleansession": true,
1649         "birthTopic": "",
1650         "birthQos": "0",
1651         "birthPayload": "",
1652         "birthMsg": {},
1653         "closeTopic": "",
1654         "closePayload": "",
1655         "closeMsg": {},
1656         "willTopic": "",
1657         "willQos": "0",
1658         "willPayload": "",
1659         "willMsg": {},
1660         "sessionExpiry": ""
1661     },
1662     {
1663         "id": "262b6182.58ab66",
1664         "type": "ui_group",
1665         "d": true,
1666         "name": "Icle",
1667         "tab": "a87a4fa.46cb9b",
1668         "order": 1,
1669         "disp": true,
1670         "width": "6",
1671         "collapse": false
1672     },
1673     {
1674         "id": "a87a4fa.46cb9b",
1675         "type": "ui_tab",
1676         "name": "Dad's Other Stuff",
1677         "icon": "dashboard",
1678         "order": 2,
1679         "disabled": false,
1680         "hidden": false
1681     }
1682 ]