Writing
09/2026Nobody ever rotated the keyGitHub gave me two business days to erase a 32-character string from my repository and its entire history. Seven months later, E.ON are still using the same string, unchanged.09/2026Scrobbling an Apple TV that has no idea it's being scrobbledEvery Trakt scrobbler needs the player to cooperate. Mine reads the media player Home Assistant already has, and works out the episode from the thumbnail.09/2026iseo-argo-ble: reverse engineering my front door lockDecompiling an Android app to get a smart lock off the cloud, then getting the result into Home Assistant core.09/2026ha-rbac: giving everyone in the house their own Home AssistantA hotel let every room control every other room over Home Assistant. That's the moment I decided it needed real roles.09/2026Replacing Grott: a Growatt integration that works completely offlineGrott has no license, needs Docker, and talks to Home Assistant over MQTT. Its offline mode doesn't even work offline. Here's what I built instead.09/2026Why this blog existsAn intro, an admission about AI, and an experiment to see if I can finally keep up with a blog.