⌨️ Pi Projects 🥧

🎵 The song for this post is Abracadabara, by Brown Eyed Girls. 🎵

Little do you know, there are 3 computers hidden in this photo.

This is a companion discussion topic for the original entry at https://morepablo.com/2022/04/household-pi-projects.html

Inspiring! You’ve convinced me to start a smart outlet project that I’ve been considering for a few years. I have a wired controllable outlet that I’ve hooked up to a Raspberry Pi’s GPIO pins before, but I can’t find it right now and I think I left it at work.

Now I’ve got some TP-Link Kasa EP10 wifi outlets on the way, after looking at some reviews, comments, example code, and protocol teardowns.

I’m planning to use two to turn on my dedicated video conferencing endpoint hardware when I have meetings every day so it has time to boot before I need it, and turn it off when meetings are done so it stops running its noisy fan that annoys me. Ideally I’d use my real work calendar, but IT hasn’t gotten the permissions set up for API access yet, although they are working on it. Instead it’ll be based on hardcoded times each day, in the correct timezone, with endpoint call status API checking so it won’t shut down when a meeting runs late. A second outlet will do the same thing but for the paired touchscreen POE injector (or a power strip). Could even detect when the outlet is on but the endpoint is off (endpoint shutdown case) so it can be power-cycled to start it, or listen for feedback events from the endpoint using webhooks if that helps something.

I’ll probably put all this business logic in a headless C# or Java program (I know I’m on the wrong side of the tracks here with that preference) that runs on a Raspberry Pi or Windows Server (sorry again), communicating directly with the outlet over wifi using their weakly-ciphered, unauthenticated JSON over TCP. This keeps the outlet off the internet (of shit) and fully controlled by me. While I’m at it, I may publish a public library to control these devices because I didn’t see any obvious choices on Nuget Gallery or GitHub.

Thanks for the tour and explanation of your process! I especially like the tight integration of the Hollow Knight bathroom, everything about that seems like it contributes to a cohesive, greater whole.