[{"id":"f8dcb51e.1a1b78","type":"mqtt-json","z":"9e031a86.f67a78","name":"Status bij badkamer (loos)","topic":"shellies/shelly1-8AA7B8/relay/0","property":"","qos":"2","broker":"b35103e.d72b2","x":130,"y":1200,"wires":[["7fcee09d.b2b4c8"]]},{"id":"7fcee09d.b2b4c8","type":"rbe","z":"9e031a86.f67a78","name":"","func":"rbei","gap":"","start":"","inout":"out","property":"payload","x":350,"y":1200,"wires":[["3969702d.ed0ea"]]},{"id":"394206f1.46cbca","type":"mqtt-json","z":"9e031a86.f67a78","name":"Status bij trap (schakelt lamp)","topic":"shellies/shelly1-8B1B80/relay/0","property":"","qos":"2","broker":"b35103e.d72b2","x":140,"y":1120,"wires":[["b142e25f.28a78"]]},{"id":"b142e25f.28a78","type":"rbe","z":"9e031a86.f67a78","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":350,"y":1120,"wires":[["697a884c.7dccd8"]]},{"id":"697a884c.7dccd8","type":"join","z":"9e031a86.f67a78","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":570,"y":1120,"wires":[["a6d67d15.3e33c"]]},{"id":"3969702d.ed0ea","type":"change","z":"9e031a86.f67a78","name":"","rules":[{"t":"set","p":"complete","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":530,"y":1200,"wires":[["697a884c.7dccd8"]]},{"id":"a6d67d15.3e33c","type":"change","z":"9e031a86.f67a78","name":"bepaal huidige waarde trap","rules":[{"t":"set","p":"payload","pt":"msg","to":"$reverse(payload)[1]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":1120,"wires":[["a6382169.6336d"]]},{"id":"a6382169.6336d","type":"change","z":"9e031a86.f67a78","name":"off <=> on","rules":[{"t":"delete","p":"topic","pt":"msg"},{"t":"set","p":"payload","pt":"msg","to":"payload = \"on\" ? \"off\" : \"on\"","tot":"jsonata"},{"t":"set","p":"qos","pt":"msg","to":"2","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":1120,"wires":[["17be0c04.43c974","4c83ee26.73d72"]]},{"id":"17be0c04.43c974","type":"mqtt out","z":"9e031a86.f67a78","name":"Schakel trap (en dus de lamp)","topic":"shellies/shelly1-8B1B80/relay/0/command","qos":"2","retain":"","broker":"b35103e.d72b2","x":1070,"y":1160,"wires":[]},{"id":"f21d4e16.9085c","type":"comment","z":"9e031a86.f67a78","name":"verzamel de wijzigingen","info":"Van de trap (en daarmee van de lamp) wordt de initiële toestand doorgegeven plus\neventuele wijzigingen daarna. Hiermee bevat deze altijd de huidige toestand.\nVan de badkamer worden alleen de wijzigingen doorgegeven. De eerste keer (bij\nhet opstarten) wordt genegeerd.\nDe join combineert de wijzigingen. Deze bouwt een array op van alle wijzigingen\nvan de trap. Nadat de badkamer schakelt wordt de array met de waarde daarvan\nafgesloten en doorgestuurd. Draai de array om en pak de tweede waarde [1] en je\nhebt de huidige toestand van de trap. Zwak punt: de array groeit oneindig lang\ndoor totdat de badkamer een keer geschakeld wordt.\nDoor de huidige waarde van de trap te wisselen (off <=> on) kan de trap met\nde nieuwe waarde geschakeld worden.","x":360,"y":1160,"wires":[]},{"id":"1b9f4303.49fced","type":"debug","z":"9e031a86.f67a78","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1370,"y":1120,"wires":[]},{"id":"4c83ee26.73d72","type":"change","z":"9e031a86.f67a78","name":"Log schakelen!","rules":[{"t":"set","p":"payload","pt":"msg","to":"Schakelen!","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1180,"y":1120,"wires":[["1b9f4303.49fced"]]},{"id":"b35103e.d72b2","type":"mqtt-broker","z":"","name":"","broker":"server","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]