| 14 Jun 2021 |
@hexa:lossy.network | Yup, don't need to mention hass or nixos again that way, and it relates to upstreams wording | 21:21:58 |
vika (she/her) 🏳️⚧️ | If I'd go my way about making home automation, I'd make a lot of HTTP gateway/webhook daemons to certain protocols for devices I have on my smart home, not depend on state at all - rather describe everything as, e.g. systemd units depending on each other, and then make a dashboard+event handler service that talks to these gateways and/or receives webhooks with events. I don't think smart homes should have any sort of state at all - most of the devices in my home only have transient state stored in them that disappears as soon as they're unplugged and plugged back in (or power goes out).
Maybe HTTP is not the best protocol for that but it'll do the job which is the important thing. Then one could wrangle it under nginx, create a nice HTML+CSS+a little bit of JS dashboard (TODO: generate it with Nix?) to send manual commands to things and enjoy a fully declarative configuration | 21:27:23 |
vika (she/her) 🏳️⚧️ | I think that's similar enough to how home assistant functions | 21:27:43 |
vika (she/her) 🏳️⚧️ | But more distributed and with a lot less stateful knobs and "fake plug-and-play" state-inducing install wizards | 21:28:41 |
vika (she/her) 🏳️⚧️ | One could probably also host, e.g. a gateway for bulbs in a certain room on a Raspberry Pi in that exact room to make the systems semi-independent | 21:29:58 |
vika (she/her) 🏳️⚧️ | If only I had smart bulbs that didn't require a cloud connection with a proprietary protocol | 21:30:24 |
colemickens 🏳️🌈 | seems like there should at least be an informal project started to collect people. I see the same criticisms of HA from NixOS-y folks and it seems like our goals would be well-aligned. | 21:30:29 |
vika (she/her) 🏳️⚧️ | Actually I think Yeelight makes bulbs that can be controlled locally, don't they? | 21:30:47 |
colemickens 🏳️🌈 | cc: etu | 21:30:37 |
vika (she/her) 🏳️⚧️ | And I've seen an official manual for their protocol so they care about DIY segment somewhat | 21:31:15 |
colemickens 🏳️🌈 | I have also been disappointed to see HA seem to embrace "productization" and point-and-click statefulness over what I perceived to be a simpler declarative static model when I first adopted it. | 21:31:11 |
@hexa:lossy.network | smart home to me also means metrics, and automation based on these metrics | 21:31:24 |
@hexa:lossy.network | and a common interface to same-in-class devices of different vendors | 21:31:52 |
@hexa:lossy.network | the move to statefullness of home-assistant also has me slightly worried, I started using home-assistant way back with v0.21, and back then yaml was king | 21:33:05 |
@etu:semi.social | In reply to @colemickens:matrix.org cc: etu I would really like to move away from Hass really, I don't use super many integrations really... I could probably build something similar buy depending on the same libraries... | 21:39:05 |
@etu:semi.social | But currently I'm very preoccupied with family things | 21:39:29 |
vika (she/her) 🏳️⚧️ | In reply to @hexa:lossy.network smart home to me also means metrics, and automation based on these metrics metrics could probably be collected with a separate component, I don't think it's impossible to fit in the model I described | 21:40:02 |
@etu:semi.social | Metrics doesn't have to be built in, if current state of things are exposed, another component can scrape that to build metrics | 21:41:24 |
@etu:semi.social | Then things can check the metrics component to fire events | 21:41:47 |
dotlambda | How do I mark Home Assistant component tests as online only? Is that something upstream does at all? | 22:34:59 |
@hexa:lossy.network | I thought about adding pytest.mark.network upstream, if they're interested | 22:36:28 |
dotlambda | But you didn't try it yet? | 22:36:55 |
@hexa:lossy.network | no, I did not | 22:37:10 |
@hexa:lossy.network | this is the kind of thing we need social capital for 🤔 | 22:37:47 |
@hexa:lossy.network | because it is working for them already | 22:38:00 |
@hexa:lossy.network | no added value | 22:38:07 |
dotlambda | And what about having a big patch just for us that adds these marks everywhere? | 22:40:16 |
dotlambda | I guess we should try upstreaming them first. | 22:40:27 |
@hexa:lossy.network | testing them downstream, making sure they're working well, then upstream | 22:40:48 |
@hexa:lossy.network | make the process painless | 22:40:53 |