I finally automated my morning routine the way I want - utilizing espresense, a local web server, and some code I wrote. Let me walk you through how I achieved this and the benefits it brings to my daily life.The equipment I used includes a Moen U shower controller, ESP32’s, an iPhone, a 2021 Toyota 4Runner, shower lights, a bath fan, a Vizio TV, Alexa, and wttr.in. The setup is designed to streamline my morning routine, ensuring everything works seamlessly as I start my day.Here’s how it works: when I walk into the bathroom with my phone in the morning, double-tapping the light switch beside the shower triggers a series of actions. The shower turns on to 107 degrees, the shower downlights dim to 5%, the bath fan kicks in, and the bathroom TV speaker switches off to allow sound through the Bluetooth speaker in the shower. This setup is perfect for those mornings when I want to catch up on the news while getting ready.When I’m done and turn off the shower, the system automatically switches the TV audio back to its internal speaker. If it’s between 4am and 9am, and the outdoor temperature is below 45 degrees F with the truck’s fuel range above 25 miles, the system waits 10 minutes before starting the truck. After 15 minutes, the lights and bath fan turn off, ensuring everything is neat and energy-efficient.For my wife, the system adapts to her preferences. Double-tapping the same switch sets the shower to 105 degrees, the lights to 50%, and switches off the TV speaker. The truck won’t start when she turns off the shower, ensuring her routine is just as seamless.I wrote a simple web page and script to monitor the shower status, controlling it through Alexa as a proxy. While this setup has been reliable for years, I’m curious if anyone has found a way to control the Moen shower directly without the proxy. For the TV, I used scripts to control it, though I believe this could now be done through the community Vizio app.For espresense, I stuck with the HA/HADB approach, but I’m considering writing a driver using MQTT. However, since I only use HA for two things - espresense and genmon - it might not be worth the effort. The 4Runner integration initially proved cumbersome, but using the existing Python Toyota-NA client, I created local web pages and scripts that work more reliably than the HA integration.I’ve added an NFC sticker behind the switch plate in the adjacent toilet room, allowing me to tap my phone there to activate the shower automation. This adds another layer of convenience to my morning routine.Overall, this setup has transformed my mornings, making them more efficient and enjoyable. I’d love to hear if anyone has similar experiences or tips to enhance this further!