Children's museum automation with HA

I’ve been following HA for about a year now, but I haven’t done any automation with it. I’m currently in the “doing tons of research and buying up equipment phase” of this project.

I intend to automate certain aspects of a children’s museum that has many interactive features. It will be a closed system, built once to run for 10 years — at least that’s the target I am aiming for. I’ve used Arduino and RPi in other museum projects and they just work. I also feel like they are more accessible for museum folks to fix/replace than the black boxes that come with traditional integrators, no offense.

But maybe I’m crazy and this will be a complete disaster, I’m open to that as well!

I would love to bring you along on my journey over the next 3 months of construction. I would love to get your feedback as well — there are a lot of things I don’t know I don’t know.

So let me start off with the types of things that I’m automating:

  • Occupancy sensor to turn on/change LED lights
  • Occupancy sensor to turn on/off a ducted fan that moves air through a “cave”
  • Scenes to turn on/off all powered equipment in the space, turn on/off projectors (probably IR or RS-232), start/stop video player (Over ethernet with terminal command or RS-232),
  • Occupancy sensor + time logic to trigger video player
  • Arduino integration to play sound effect(s) over the PA

I will be building a few interactive walls with Arduino that will need to send messages to HA that will trigger lighting changes or play sounds. (Using a ethernet hat on the UNO or MEGA)

Maybe naively, I hope that since this is a closed system, and there will not be any software updates, it will just continue to work. And, if some smart sensor/switch whatever fails, it’s so inexpensive that I can have 5 extra in a cabinet. I will start building and prototyping in the next few weeks to confirm that I can get all of these systems to talk to each other.

I have a RPi 8gig with the external SSD, a Zigbee dongle, a Broadlink IR blaster and a selection of smart plugs, occupancy sensors and buttons to get me started. I’m grateful for all of the YouTuber’s out there with helpful training videos and product reviews.

If you would consider yourself an expert and can spare an hour to consult on this project please feel free to reach out.

THANK YOU!

1 Like

Hi,

Any updates on your findings would be helpful!

We have HA in place at a smaller museum for testing purposes.

  1. occupancy sensor we used which we didn’t get good results was Aeotec Zwave Multisensor 7 (wasn’t reliable enough)
  2. HA is running off a core i5 miniPC as we felt it was just an easier solution (refurbed units can be had under $200)
  3. PJlink we did our own script as we found it stopped looking for devices.

Hi @PatternInteractive,

HUGE update. I’ve had wild success with home assistant at our museum, I will post photos soon.

Infrastructure:

  • Zigbee — I have been using two different brands from Amazon in case I ran into issues with one, but I have had no issues with any of the devices. I am using occupancy sensors, smart switches and one smart remote.
  • PJ Link with the projectors. The Epson projectors that we’re using also have a built in API that we could send terminal commands to, but we found that PJ link was more effective because it would report the device status. We’re using this to automatically turn on and off all the projectors on a schedule. We also have a scripted sequence that activates a fog screen, a video/audio and projector.
  • Raspberry Pi 8 Gig with an external SSD drive
  • One Shelly device on WiFi because the space was too small for an electrical outlet — the Shelly are designed to be switched by a lightswitch as well, but it works perfectly fine as a wireless-only device. One downside with the Shelly is that it didn’t work without being connected to the internet. VERY SUS.
  • The library has a strict no-trust policy so I am unable to use their internet connection, I am using a 4G router with a WIRED network connection.
  • Audio and Video, I have 4 video and 16 tracks of audio all playing in SYNC using the BINLOOP HD solid-state video player. I am controlling this player over the network with terminal commands to play, pause, and mute. The player automatically starts on power-on. Using a smart switch for this as well.

I’ve really taken advantage of all of the scripting and automation to make sure we’re never playing to an empty room. When motion sensors timeout for 30 minutes the AV and projectors turn off.

The system is set on a schedule of when the museum/library is open, but if no one enters the space, the AV is never triggered.

I love that I can see the status of all components on the system in real time and make very useful dashboards. I have it set to send notifications when batteries are low or when components become disconnected — I have yet to experience any inactive devices.

I will follow up with photos of the space and screenshots!

Here are some screenshots of my mobile dashboard. The main screen gives me the most useful information. I think I will also add a status for the AV controls to indicate the timecode of the playback.

I am using a lot of boolean toggle helpers and timer helpers to trigger timed events. One in particular is the fogscreen scene. This magical little interaction in a quiet dark space is only triggered a) after an hour has passed b) if someone is in the room. The script in general is

  1. Turn on the projector
  2. Turn on the fog screen
  3. Play the video/audio
  4. Turn off the fog screen and projector
  5. Reset timers






SONOFF S31 Lite 15A Zigbee Smart Plug ETL Certified, Works with SmartThings, and Amazon Echo Plus, Hub Needed for Amazon Alexa 4-Pack

THIRDREALITY ZigBee Smart Plug 4 Pack with Real-time Energy Monitoring,15A Outlet,Timer Function,ETL Certified,ZigBee Hub Required,Work with Home Assi

THIRDREALITY Zigbee Motion Sensor 4 Pack, Zigbee Hub Required, Pet Friendly, Work with Home Assistant, SmartThings, Aeotec, Hubitat or Echo Devices wi

Certified Refurbished Amazon eero 6 dual-band mesh Wi-Fi 6 router, with built-in Zigbee smart home hub

SONOFF Zigbee 3.0 USB Dongle Plus Gateway, Universal Zigbee USB Gateway with Antenna for Home Assistant, Open HAB etc, Wireless Zigbee 3.0 USB Adapter

THIRDREALITY ZigBee Smart Button, 3-Way Remote Control, Require Zigbee hub, Compatible with SmartThings, Aeotec, Hubitat, Home Assistant, Third Realit

THIS ONE DID NOT WORK:
ConBee II The Universal Zigbee USB Gateway

Raspberry Pi
iUniker Raspberry Pi 4 8GB Kit, 20W 5V 4A Raspberry Pi 4 Power Supply, 4K HDMI Cable, Heatsink Raspberry Pi 4 Case - 64GB Edition (8GB RAM)

Projector
Optoma GT1090HDRx Short Throw Laser Home Theater Projector | 4K HDR Input | Reliable Lamp-Free Operation 30,000 Hours | Bright 4,200 Lumens for Day an

BINLOOP VIDEO PLAYER
This is important, the installation has 4 videos and 16 tracks of different audio playing throughout the space, in sync, but completely different. The music was composed to a film that plays on a 1 hour loop. I needed a system that would be COMPLETELY reliable for 10 years. This unit is solid state. The only other solution that I could find, besides that blue sign player, is a desktop computer — and that would be completely unreliable to run for 10 years. This Binloop is designed for theme parks, so it’s perfectly suited to our use case AND it can be controlled by sending terminal commands that I set up in the config yaml.

PROJECTORS (x3)
Laser, short-throw projectors with built-in geometry correction so that we could project onto a very unusual surface — basically the inside of an egg. This was the best bang for the buck and works perfectly. No need for additional hardware to warp and blend. Yes, there is a hard-edge between projectors, but most of the film is a triptik.

WHAT ELSE?
A bazillion power-supplies, LED strips, every flavor of Arduino, lidar sensors, trailing edge dimmers, more leds, network switch, ethernet cables and wire wires and more wires. NEXT UP PHOTOS!

Sample codes from the YAML:

# Exposes service shell_command.restart_pow
shell_command:
  binloop_pause_all: echo -e -n 'G1ST\r' | nc -u -w 1 192.168.0.222 2638
  binloop_play: echo -e -n 'G1LP\r' | nc -u -w 1 192.168.0.222 2638
  binloop_mute: echo -e -n '0G1AD\r' | nc -u -w 1 192.168.0.222 2638
  binloop_unmute: echo -e -n '1G1AD\r' | nc -u -w 1 192.168.0.222 2638
  binloop_pause_mute: echo -e -n 'G1PA\r' | nc -u -w 1 192.168.0.222 2638
  binloop_resume: echo -e -n 'G1PL\r' | nc -u -w 1 192.168.0.222 2638
  binloop_play_fog:  echo -e -n '1R8PL\r' | nc -u -w 1 192.168.0.222 2638
  restart_pow: touch ~/.pow/restart.txt
  on_left: curl --digest -u EPSONWEB:omitted 192.168.0.24/api/v01/contentmgr/remote/power/on
  on_middle: curl --digest -u EPSONWEB:omitted 192.168.0.25/api/v01/contentmgr/remote/power/on
  on_right: curl --digest -u EPSONWEB:omitted 192.168.0.26/api/v01/contentmgr/remote/power/on
  off_left: curl --digest -u EPSONWEB:omitted 192.168.0.24/api/v01/contentmgr/remote/power/off
  off_middle: curl --digest -u EPSONWEB:omitted 192.168.0.25/api/v01/contentmgr/remote/power/off
  off_right: curl --digest -u EPSONWEB:omitted 192.168.0.26/api/v01/contentmgr/remote/power/off

logger:
  default: debug

media_player:
  - platform: pjlink
    host: 192.168.0.30
    password: omitted
    
  - platform: pjlink
    host: 192.168.0.24
    password: omitted
    
  - platform: pjlink
    host: 192.168.0.25
    password: omitted
    
  - platform: pjlink
    host: 192.168.0.26
    password: omitted

More helpful stuff:

4G MODEM
Notably, this does NOT have WiFi built in, which is exactly what I needed. Yes, the library has internet, no, they do not let me use it. IDK, it’s a security thing.


NETGEAR 4G LTE Broadband Modem (LM1300) – Use LTE as a Primary Internet Connection or Failover Solution for Always-On WiFi, Certified with AT&T, T-Mobile, & Verizon


NETGEAR 4G LTE Broadband Modem (LM1300) – Use LTE as a Primary Internet Connection or Failover Solution for Always-On WiFi, Certified with AT&T, T-Mobile, & Verizon

SHELLY
Needed a firmware update, and had to be connected to the internet to setup or even work. THIS is still in my installation, but it’s a HUGE liability if it will not work without an active internet connection. BEWARE.
Shelly 1 Plus WiFi Switch Low Cost Alexa and Google Clean Contact Blue

PHOTODUMP INCOMING!!!

600 Individually addressable LEDs. Using Zigbee switch to power on/off on schedule

Fog screen film script that turns on projector (pjlink), fog screen (smart switch), play video (binloop via terminal command), timer then turn it off again. Only plays after 1 hour delay and only with activity.


Smart switch controlled LED snake powered by arduino.

Open house with donors.

Sun silo, smart switch powered, arduino mega driving 1200 individually addressable LEDs


Film room, 3x laser projectors projecting on the inside of a small egg shaped room. Projectors activated by PJLink and occupancy sensor to ensure we’re not playing to an empty room.

Shelly used to turn on/off lights in this tiny little room. Arduino UNO powering 600 LEDs

Backside of touchable flower that lights up with proximity using tiny arduino and addressable LED. Powered by 12v to 5v buck converter, using zigbee smart switch on power supply.

The outside of the film room “egg”


Binloop rack assembly. Probably should have gotten a bigger rack. Using zigbee smart switch to power on/off. Using terminal commands over network to start/stop/mute and trigger video playback for the fog scene. Using 6x2 8 ohm amps and 3x balanced xlr to powered subs.

3 Likes

Just WOWW!

1 Like