I have some questions and observations regarding Nanoleaf Shapes (can’t speak to others), and I’m interested to understand others’ functional experience with using Nanoleaf as a whole. I’m posting in hopes of validating issues I’ve encountered. I’m also adding a preface that I have a setup like most security conscious folks, with a restricted IoT network. My intention is to only use local control with these devices.
I have successfully gone through the initial setup of getting an IP on the proper network, then blackholed DNS and removed Internet connectivity to prevent them from phoning home. This completely breaks the app, but that’s understood since I don’t plan on using it, and I have a workflow in place to download new scenes when required. After restricting connectivity to the Internet (but not blackholing DNS), I observed that both of my Nanoleaf Shapes devices frequently went offline/unavailable. However, after adding the blackhole for the 4 primary addresses they seem to reach out to, the issue seemingly resolved itself. These addresses are: my.nanoleaf.me, controlv2.nanoleaf.me, collector.nanoleaf.me, daemon.nanoleaf.me. Curious to see if other folks are experiencing frequent unavailable devices in a restricted setup, but don’t have blackholed DNS. Give this a try and see if it helps.
Separately, there is another annoyance around issues with the devices updating state in Home Assistant. Ultimately, I hope to only interact with the devices through the native Nanoleaf integration, but currently it’s not completely feasible. When devices are allowed full access to the Internet, I noticed light entities reported status updates within 1-2 seconds of turning them on/off (still not immediate, but it was functional). When this is restricted, there seems to be some inherent 60 second connection timeout within the Nanoleaf itself, which results in entity states in Home Assistant remaining stale, and updating once this timeout is reached. It’s exactly 60 seconds because regardless of turning the devices on/off, it would only update the state once that specific time was reached. I looked through the aionanoleaf integration and I’m unable to find any such corresponding timeout value, which leads me to believe it’s something with the inner-workings of the devices. Has anyone observed the same thing, or found a way to workaround it (other than providing network access)?
In the meantime, I have resorted to falling back to the local HTTP API to determine whether the device is on or off, and not using Home Assistant state to determine actions. This makes things a bit more difficult, error prone, and limits benefits of utilizing any touch/gesture aspects, which I’m also interested in.
Curious on other folks thoughts!