Last Updated or created 2024-02-06
Update: https://www.henriaanstoot.nl/2024/01/14/hlk-ld2410b-with-a-wemos-mini-d1-v4-connected-to-home-assistant-using-esphome/
Update: BBQ watch
Not posted in the past, new version using ESPHOME and a m5stickc
ESP32 dac’s drawing on oscilloscope ( no additional components)
For above i used sin/cos functions 2:3, which creates Lissajous figures.
See: https://www.henriaanstoot.nl/1992/01/01/oscilloscope-graphics-using-a-amiga-bonus-vectrex/
3 battery operated buttons (no wires needed) to control my shelly dimmer at the dinner table.
Node red code
[ { "id": "8190a851.8d02b8", "type": "mqtt in", "z": "44d7a4fb.e41a5c", "name": "domoticz-out", "topic": "domoticz/out", "qos": "0", "broker": "8c74c5f6.9a7a48", "inputs": 0, "x": 190, "y": 600, "wires": [ [ "543a2fa3.af27c", "c70d463.da52ab8", "ffa2f6be.afe618" ] ] }, { "id": "543a2fa3.af27c", "type": "function", "z": "44d7a4fb.e41a5c", "name": "Filter IDX + nvalue", "func": "var varPayload = JSON.parse(msg.payload);\nvar varidx = varPayload.idx;\nvar varnvalue = varPayload.nvalue;\nif(varidx == 2473)\n{\nmsg.payload = {};\nmsg.payload.turn = \"on\";\nmsg.payload.brightness = 50;\nreturn msg;\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 410, "y": 600, "wires": [ [ "d7b0f308db912817" ] ] }, { "id": "c70d463.da52ab8", "type": "function", "z": "44d7a4fb.e41a5c", "name": "Filter IDX + nvalue", "func": "var varPayload = JSON.parse(msg.payload);\nvar varidx = varPayload.idx;\nvar varnvalue = varPayload.nvalue;\nif(varidx == 2474)\n{\nmsg.payload = {};\nmsg.payload.turn = \"on\";\nvar count = context.get(\"counter\") || 0;\ncount = (count+1) % 6;\ncontext.set(\"counter\", count);\ncount = count * 20; \nmsg.payload.brightness = count;\nreturn msg;\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 410, "y": 680, "wires": [ [ "d7b0f308db912817" ] ] }, { "id": "ffa2f6be.afe618", "type": "function", "z": "44d7a4fb.e41a5c", "name": "Filter IDX + nvalue", "func": "var varPayload = JSON.parse(msg.payload);\nvar varidx = varPayload.idx;\nvar varnvalue = varPayload.nvalue;\nif(varidx == 2475)\n{\nmsg.payload = {};\nmsg.payload.turn = \"off\";\n//msg.payload.brightness = 0;\nreturn msg;\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 410, "y": 760, "wires": [ [ "d7b0f308db912817" ] ] }, { "id": "35f35737.b4f2c8", "type": "comment", "z": "44d7a4fb.e41a5c", "name": "Living Dinner Table Shelly 2024", "info": "", "x": 250, "y": 560, "wires": [] }, { "id": "b080c84e.2c3968", "type": "comment", "z": "44d7a4fb.e41a5c", "name": "butt1 on / (butt2 off)", "info": "", "x": 510, "y": 560, "wires": [] }, { "id": "ac892b87.1c7358", "type": "comment", "z": "44d7a4fb.e41a5c", "name": "butt3 toggle", "info": "", "x": 390, "y": 720, "wires": [] }, { "id": "b5bdbd65.c4e1c", "type": "comment", "z": "44d7a4fb.e41a5c", "name": "butt 2 step dimmer", "info": "", "x": 410, "y": 640, "wires": [] }, { "id": "d7b0f308db912817", "type": "mqtt out", "z": "44d7a4fb.e41a5c", "name": "", "topic": "shellies/shellydimmer-D0DF15/light/0/set", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "8c74c5f6.9a7a48", "x": 860, "y": 600, "wires": [] }, { "id": "8c74c5f6.9a7a48", "type": "mqtt-broker", "name": "MQTTSERVER", "broker": "MQTTSERVER", "port": "1883", "clientid": "", "usetls": false, "compatmode": true, "keepalive": "15", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "closeTopic": "", "closePayload": "", "willTopic": "", "willQos": "0", "willPayload": "" } ]
Vector graphics on my demo arduino nano.