So the signal drops are 100% fixed and signal is working great with the repeater/booster I got from Amazon.
Everything is working. Hyperion and even LEDFX for music reaction. I connected the preouts for my front speakers from my Denon AVR into the line in on my PC so I can use LEDFX for awesome music visualizations on the WLED controllers. 🙂 Thanks for Tyler Savage from the WLED discord for introducing me to LedFX.
I have 2 sets of strips on the screen with 323 leds on each. Each has its own ESP32 controller running WLED. The one is called "TR" for Top and Right. The other is called "BL" for Bottom and Left. So if you see me referring to TR or BL below this is what I am referring to.
Changes to Hyperion Control Automations (NodeRed + HA)
So when you integrate Hyperion with Home assistant it makes a bunch of switches and a light entity. Now the issue with the light entity is that things can get overridden/conflicted with the WLED control. So I have disabled the light entities in home assistant and I am using the LED control switch to toggle on and off whether we are using the Hyperion system or not. I also have an automation that turns on the BL LED instance and I am using the TR LED instance as the master switch and the BL instance is the slave that just follows the state of the master.
So lets look at my NodeRed flows for the theater lighting.
Automatic Lighting Section
The section called "Automatic Lighting" just kicks on the speaker lights and the screen lights when my receiver is turned on. Now I don't want the screen lights at full chooch so we're setting those to 25% brightness and the speaker ones are set to 100%. All the lights are set to white (255,255,255) color.
When the receiver is turned off ALL the lights are turned off and so are the Hyperion LED control switches. This ensures that when we turn it all on next time Hyperion is not active. Hyperion will always be manually turned on by doing so through home assistant or yelling at the google box.
Hyperion Control Section
Moving on to the next section we see that we're using the "TR" (top and right) led instance as the control here. This entity (
switch.theater_screen_leds_tr_component_led_device) is renamed to "Hyperion Control" in HA as well.
switch.theater_screen_leds_tr_component_led_device is turned on the WLED controllers for the screen LED strips are set to 100% brightness, The BL LED instance (
switch.theater_screen_leds_bl_component_led_device) is turned on, and the USB capture switch are turned on for the BL and TR led instances. This ensures parity and proper settings between both WLED controllers since we had to split into 2 controllers due to UDP datapacket limitations for the LED count we're using.
switch.theater_screen_leds_tr_component_led_device is turned off so is the same BL switch and the screen LEDs are dimmed back to 25% and white color after a 5 second delay.
Screen WLED Sync Section
Now since we have 2 WLED installs for just the screen I want to ensure that both are set to the same brightness and color settings. I may add the effect sync later but right now its just color and brightness. I was using the WLED "sync" feature but its not reliable, NodeRED works 100% of the time so we'll be using that instead.
The 1st flow is just a simple on/off state sync (it also uses the JSON info shown below to sync color and brightness when turned on) to make sure both strips are set to the same settings when the main strip (TR) is turned on. The flow after that runs when the strips are on to sync the brightness and color settings using JSON.