I’m running loads of housekeeping scripts on my servers.
I thought it would be cool to see states in HA.
Steps:
Log into your HA instance, and press your profile icon in the bottom left. Scroll to Long-lived access tokens, and create a new token. (Save the token string in a text file, you need it later)
Goto Settings > Devices & services > Helpers Create helper: Text and give it a name (bashnotification)
Next create a script in a path on your server, or place in an existing script directly. (Change SAVEDTOKENSTRING,HA-IP and bashnotification)
Below is a test with different methods. I like reading the booklets, so a CD i cool, and I don’t need a CD player. (The RFID tag is in the case) The little cards are for bought audio files I don’t have a physical CD for.
Wooden case with RFID reader being powered by external powerbank
What am I gonna do? Cube as I had? Wooden playlist selectors as in above movies? The cards I’ve printed? Maybe a small record player with an RFID reader inside?
3D printed like this? https://makerworld.com/en/models/66671
UPDATE: 20240327 – Little Record I 3D printed with little groves.
Home Assistant code for Playlist and Album automations (B.t.w. The method is still using an Arduino and MQTT topics, as mentioned before)
# ALBUM PLAYER
alias: SpotifyAlbum
description: ""
trigger:
- platform: mqtt
topic: spotify/rfid/id
condition:
- condition: template
value_template: "{{ trigger.payload in playlistkeys.keys() }}"
action:
- service: media_player.play_media
target:
entity_id: media_player.spotify_fashice
data:
media_content_type: album
media_content_id: spotify:album:{{ playlistkeys.get(trigger.payload) }}
mode: single
variables:
playlistkeys:
"71719674": 20TANs4iXVeLp387zjgmec
"71260666": 5325ECcBhnIysoqyENGCYi
"71457530": 7wyOeD9HcUuMFMO8pTflap
In the past, Aloha and I made a simple solution like this using barcodes in < 2000s. Due to the many obscure recordings I have, I am thinking about creating something like this for Picore player and my local Squeezebox server.
I used MCE to control some Windows VMs and programs running in it in the past. (Below link and a web interface engine which on the backend converted BWW/BMW (bagpipe music files) to PDF automated comes to mind)
Controlling a Windows VM using MQTT, very nice! (Use HA mqtt or mosquitto_pub in bash)
Question: anyone got a better solution to control programs within a VM? Let me know.
Next:
I’m creating a new case for my Wemos, LCD16x2, button, Led, Buzzer project (see other post)
I’m redesigning my previous case in blender.
But I really miss something like a generator function for different cases, like the one I made using Openscad. Question: Anyone know a tool/add-on to generate cases? I used a model of a wemos to get the usb connector/screw holes in place.
In the past, I’ve controlled some blender lights using python and MQTT. But now I’m trying to control it using DMX.
Example of lighting in our living using mock-up couch and tables.
I found a cool add-on called Blender-DMX. (B.t.w. wled can also use DMX)
Looks cool but, can I make a floorplan with this?
Blender add-on configuration
In Home Assistant I used a HACS add-on called : Art-net LED Lighting for DMX
Configuration can be done in configuration.yaml
light:
- platform: artnet_led
host: BLENDERHOSTIP # IP of Art-Net Node
max_fps: 25
refresh_every: 0 # Resend values if no fades are running every x seconds, 0 disables automatic refresh
node_type: artnet-direct # Which protocol to use
universes: # Support for multiple universes
1: # .Nr of Universe (see configuration of your Art-Net Node)
send_partial_universe: True # Only send the universe which contains data
devices:
- channel: 1 # first channel of dmx dimmer
name: dmx_dimmer_rgbw # name
type: rgbw # type
transition: 1 # default duration of fades in sec.
channel_size: 8bit # width of the channel sent to DMX device, default "8bit", "16bit", "24bit" and "32bit"
channel_setup: Wrgb # This is the magic to get colors correct
It works, but I’m not happy, anyone got a better solution?
And I have to check out GDTF profiles for fixtures.
At a later stage I’m going to 3d print a white floorplan about 1cm high, with LEDs and buttons. A floorplan you can hang on your wall.
Now, I’ve moved it to Home Assistant using a single automation. (Maybe the Arduino sketch can be made with Esphome also. But I don’t have time for that) It still uses the Arduino sketch as before, which uses Mqtt to post the RFID code to Mosquitto.
Not posted in the past, new version using ESPHOME and a m5stickc
Previous version using a ESP12
A “watch” with core and environment temperature of my smoker with a alarm, and button for timers.
ESP32 dac’s drawing on oscilloscope ( no additional components)
ESP32 in front of scope, two clips for x and y
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.
left button on, middle steps per 20% and 3rd button off. (This cheapass button only sends ON commands)
I made my own Mqtt to speech thingy in the past. Sending a text to a mqtt topic would be picked up by my domoticz raspberry and using a bash script the topic payload was converted to speech and being played on a connected speaker.
LD2410 is a high-sensitivity 24GHz human presence status sensing module developed by Hi-link. Its working principle is to use FMCW frequency-modulated continuous waves to detect human targets in the set space. Combined with radar signal processing and precise human body sensing algorithms, it realizes high-sensitivity human presence status sensing, and can identify human bodies in motion and stationary states. And auxiliary information such as the distance of the target can be calculated.
This product is mainly used in indoor scenes to sense whether there is a moving or micro-moving human body in the area, and output the detection results in real time. The farthest sensing distance can reach 5 meters, and the distance resolution is 0.75m. Provides a visual configuration tool, which can easily configure the sensing distance range, sensing sensitivity in different intervals and unmanned delay time, etc., to adapt to different specific application needs.
Support GPIO and UART output, plug and play, and can be flexibly applied to different smart scenarios and terminal products.
There are 3 versions: Without Bluetooth, with Bluetooth (B version) and a C version which uses the standard pin distance. The other ones are a pain in the *ss to solder!
Got a Bluetooth version? See end of post!
When searching for examples, I noticed that many had issues getting this working. Let me be clear, it wasn’t working for me the first time. Things i’ve learned:
Flash the first initial ESPHome using a USB cable, after that you can connect the module and flash OTA
Do not use the standard Uart RX/TX, it didn’t work for me. And messes-up the logging over USB (See baudrate: 0 to turn this off)
When connecting D7/D8 and this signal gets pulled down, the wemos won’t boot. (Running wifi connections gets interrupted) This is also a sign that RX/TX is switched around!
Measure and make sure you have a good, stable 5V power to your LD2410
Here is a post about the RCWL-0516, a similar project, but this one can’t measure distances and person detection won’t work when a person is not moving.
Parts i’ve changed: board: Changed from esp-1?? to d1_mini logger: baud_rate: 0 tx_pin and rx_pin
esphome:
name: ld2410-1
friendly_name: ld2410-1
esp8266:
board: d1_mini
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="
ota:
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Ld2410-1 Fallback Hotspot"
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
captive_portal:
ld2410:
id: ld2410_radar
uart:
tx_pin: GPIO15
rx_pin: GPIO13
baud_rate: 256000
parity: NONE
stop_bits: 1
number:
- platform: ld2410
timeout:
name: Radar Timeout
max_move_distance_gate:
name: Radar Max Move Distance
max_still_distance_gate:
name: Radar Max Still Distance
g0:
move_threshold:
name: g0 move threshold
still_threshold:
name: g0 still threshold
g1:
move_threshold:
name: g1 move threshold
still_threshold:
name: g1 still threshold
g2:
move_threshold:
name: g2 move threshold
still_threshold:
name: g2 still threshold
g3:
move_threshold:
name: g3 move threshold
still_threshold:
name: g3 still threshold
g4:
move_threshold:
name: g4 move threshold
still_threshold:
name: g4 still threshold
g5:
move_threshold:
name: g5 move threshold
still_threshold:
name: g5 still threshold
g6:
move_threshold:
name: g6 move threshold
still_threshold:
name: g6 still threshold
g7:
move_threshold:
name: g7 move threshold
still_threshold:
name: g7 still threshold
g8:
move_threshold:
name: g8 move threshold
still_threshold:
name: g8 still threshold
binary_sensor:
- platform: ld2410
has_target:
name: Radar Target
id: radar_has_target
has_moving_target:
name: Radar Moving Target
has_still_target:
name: Radar Still Target
button:
- platform: ld2410
factory_reset:
name: "factory reset"
restart:
name: "restart"
query_params:
name: query params
sensor:
- platform: ld2410
moving_distance:
name: Radar Moving Distance
id: moving_distance
still_distance:
name: Radar Still Distance
id: still_distance
moving_energy:
name: Radar Move Energy
still_energy:
name: Radar Still Energy
detection_distance:
name: Radar Detection Distance
id: radar_detection_distance
g0:
move_energy:
name: g0 move energy
still_energy:
name: g0 still energy
g1:
move_energy:
name: g1 move energy
still_energy:
name: g1 still energy
g2:
move_energy:
name: g2 move energy
still_energy:
name: g2 still energy
g3:
move_energy:
name: g3 move energy
still_energy:
name: g3 still energy
g4:
move_energy:
name: g4 move energy
still_energy:
name: g4 still energy
g5:
move_energy:
name: g5 move energy
still_energy:
name: g5 still energy
g6:
move_energy:
name: g6 move energy
still_energy:
name: g6 still energy
g7:
move_energy:
name: g7 move energy
still_energy:
name: g7 still energy
g8:
move_energy:
name: g8 move energy
still_energy:
name: g8 still energy
Bluetooth:
I’ve connected this HLK-DL2410B to Home Assistant before using Bluetooth. But I wanted to get them connected using Wifi.
You can install an App on your phone to connect to the sensor when powered on. This way you can test the device, but also upgrade the firmware and make adjustments!
Just enable engineering mode and click more.
Testing another baud rate and upgrading the firmware:
"If something is worth doing, it's worth overdoing."