!QhvgabMQzwEQeWehhZ:lossy.network

NixOS Home Automation

492 Members
Declarative Home Automation and other Sidequests | https://wiki.nixos.org/wiki/Home_Assistant137 Servers

Load older messages


SenderMessageTime
18 Jun 2021
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @robert:funklause.de
We were mentioned on: Self-Hosted: 47: Whose License Is It Anyway? https://selfhosted.show/47 Didn't listen to it though.
It has a "frenck" tag which is pretty amusing šŸ˜›
18:33:55
@robert:funklause.dedotlambdaLet's subscribe to frenck: https://selfhosted.show/tags/frenck/rss18:36:55
@hexa:lossy.networkhexafirst time I've seen a jsonfeed btw18:37:28
@zhaofeng:zhaofeng.liZhaofeng LiJust listened to it, and one of the hosts said that the drama spread to Reddit as well, but I haven't seen any thread other than in the programmingcirclejerk and HN subs19:10:43
@zhaofeng:zhaofeng.liZhaofeng Li... and neither of them seems to be blowing up. Am I missing something?19:11:19
@hexa:lossy.networkhexayup, haven't found the reddit thread either19:27:26
19 Jun 2021
@instantepiphany:matrix.orginstantepiphany Any thoughts on the name ā€œAutomation Stationā€ for a new NixOS home automation service? No home in the title 😌 01:13:53
@instantepiphany:matrix.orginstantepiphany

Again, if anyone wants this elsewhere I’ll move it, but here is my rough plan (obviously I have decided to make this a side-project and am happy to have contributors).

At first it will probably not benefit from help as I’ll be drawing up the basic architecture. But once I have a decent architecture in place with support for extensibility (like components in HA) then our dev scalability goes up significantly.

Definitions:

Service: A HTTP listener that retrieves and sets state for targets in response to REST calls.
Target: a readable sensor, or controllable device (or combination of).
Action: an instruction sent to one or more targets, that should react by returning state, changing state, or both.

Written in Rust
• Great cross ISA support (ARM for RPI etc)
• Performant
• No memory class errors, (insert usual Rust spiel here)

Service MVP features:

• Listens with HTTP and runs a shell action, returning the response.
• Listens with HTTP and runs a Philips HUE action, returning the state of a sensor
• Listens with HTTP and runs a Philips HUE action, returning the state of a light
• Listens with HTTP and runs a Philips HUE action, returning an RTSP stream (probably just a HTML 5 video tag?)

MVP non-features:
• Web-ui frontend
• App frontend
• Authentication/security hardening (this will be a local demo application, not intended for ā€œproductionā€ use
• Config (later of course will be nix based)
• Dashboard/overview (not even an API call for this)
Non-features above are to come after MVP gives us more of a direction.

01:36:38
@instantepiphany:matrix.orginstantepiphany *

Again, if anyone wants this elsewhere I’ll move it, but here is my rough plan (obviously I have decided to make this a side-project and am happy to have contributors).

At first it will probably not benefit from help as I’ll be drawing up the basic architecture. But once I have a decent architecture in place with support for extensibility (like components in HA) then our dev scalability goes up significantly.

Definitions:

Service: A HTTP listener that retrieves and sets state for targets in response to REST calls.
Target: a readable sensor, or controllable device (or combination of).
Action: an instruction sent to one or more targets, that should react by returning state, changing state, or both.

Written in Rust
• Great cross ISA support (ARM for RPI etc)
• Performant
• No memory class errors, (insert usual Rust spiel here)

Service MVP features:
• Listens with HTTP and runs a shell action, returning the response.
• Listens with HTTP and runs a Philips HUE action, returning the state of a sensor
• Listens with HTTP and runs a Philips HUE action, returning the state of a light
• Listens with HTTP and runs a Philips HUE action, returning an RTSP stream (probably just a HTML 5 video tag?)

MVP non-features:
• Web-ui frontend
• App frontend
• Authentication/security hardening (this will be a local demo application, not intended for ā€œproductionā€ use
• Config (later of course will be nix based)
• Dashboard/overview (not even an API call for this)
Non-features above are to come after MVP gives us more of a direction.

01:37:06
@instantepiphany:matrix.orginstantepiphany *

Again, if anyone wants this elsewhere I’ll move it, but here is my rough plan (obviously I have decided to make this a side-project and am happy to have contributors).

At first it will probably not benefit from help as I’ll be drawing up the basic architecture. But once I have a decent architecture in place with support for extensibility (like components in HA) then our dev scalability goes up significantly.

Definitions:

Service: A HTTP listener that retrieves and sets state for targets in response to REST calls.
Target: a readable sensor, or controllable device (or combination of).
Action: an instruction sent to one or more targets, that should react by returning state, changing state, or both.

Written in Rust
• Great cross ISA support (ARM for RPI etc)
• Performant
• No memory class errors, (insert usual Rust spiel here)

Service MVP features:
• Listens with HTTP and runs a shell action, returning the response.
• Listens with HTTP and runs a Philips HUE action, returning the state of a sensor
• Listens with HTTP and runs a Philips HUE action, returning the state of a light
• Listens with HTTP and returns an RTSP stream (probably just a HTML 5 video tag?)

MVP non-features:
• Web-ui frontend
• App frontend
• Authentication/security hardening (this will be a local demo application, not intended for ā€œproductionā€ use
• Config (later of course will be nix based)
• Dashboard/overview (not even an API call for this)
Non-features above are to come after MVP gives us more of a direction.

01:38:11
@linus.heckemann:matrix.mayflower.deLinux Hackerman
In reply to @instantepiphany:matrix.org

Again, if anyone wants this elsewhere I’ll move it, but here is my rough plan (obviously I have decided to make this a side-project and am happy to have contributors).

At first it will probably not benefit from help as I’ll be drawing up the basic architecture. But once I have a decent architecture in place with support for extensibility (like components in HA) then our dev scalability goes up significantly.

Definitions:

Service: A HTTP listener that retrieves and sets state for targets in response to REST calls.
Target: a readable sensor, or controllable device (or combination of).
Action: an instruction sent to one or more targets, that should react by returning state, changing state, or both.

Written in Rust
• Great cross ISA support (ARM for RPI etc)
• Performant
• No memory class errors, (insert usual Rust spiel here)

Service MVP features:
• Listens with HTTP and runs a shell action, returning the response.
• Listens with HTTP and runs a Philips HUE action, returning the state of a sensor
• Listens with HTTP and runs a Philips HUE action, returning the state of a light
• Listens with HTTP and returns an RTSP stream (probably just a HTML 5 video tag?)

MVP non-features:
• Web-ui frontend
• App frontend
• Authentication/security hardening (this will be a local demo application, not intended for ā€œproductionā€ use
• Config (later of course will be nix based)
• Dashboard/overview (not even an API call for this)
Non-features above are to come after MVP gives us more of a direction.

What's the use case for RTSP?
06:15:27
@instantepiphany:matrix.orginstantepiphany
In reply to @linus.heckemann:matrix.mayflower.de
What's the use case for RTSP?
Security camera streams is what I have in mind.
07:00:19
@linus.heckemann:matrix.mayflower.deLinux HackermanAaah08:03:31
@schnecfk:ruhr-uni-bochum.deCRTified instantepiphany: do you want to rely on something hue specific, or on zigbee2mqtt for that? 10:06:49
@schnecfk:ruhr-uni-bochum.deCRTifiedOne non-mvp feature that's important would also be logging10:09:13
@schnecfk:ruhr-uni-bochum.deCRTified
In reply to @instantepiphany:matrix.org
Any thoughts on the name ā€œAutomation Stationā€ for a new NixOS home automation service? No home in the title 😌
Yeah, something like automation was also in my mind. For a nix-specific one I was thinking about "Automationix"
10:10:45
@schnecfk:ruhr-uni-bochum.deCRTifiedIn the end, it's just a working title right now10:11:10
@instantepiphany:matrix.orginstantepiphany
In reply to @schnecfk:ruhr-uni-bochum.de
One non-mvp feature that's important would also be logging
Agreed!
10:29:48
@instantepiphany:matrix.orginstantepiphany
In reply to @schnecfk:ruhr-uni-bochum.de
instantepiphany: do you want to rely on something hue specific, or on zigbee2mqtt for that?

In my mind I want to support as many "targets" as possible. I've only got HUE devices listed in MVP because I own some, so I can test them. So if there is a specific way of communicating that is broadly applicable to more targets of other brands, then we should consider that. I'll keep zigbee2mqtt in mind.

From reading HA docs, it seems that HUE only allow group control via "Scenes" which eventually get purged if not used for a while. So will have to look at a good way to handle that. IMO the more information stored in our system, and the less on target onboard memory, the better.

10:31:53
@schnecfk:ruhr-uni-bochum.deCRTifiedI think that zigbee2mqtt is the best way of handling most of these devices, as it's easy to access (mqtt, which should also be a nice first automation goal), is already well established and nicely maintained and has an insane number of supported devices10:34:06
@schnecfk:ruhr-uni-bochum.deCRTifiedMQTT is already a protocol/platform that works nicely with many devices (esphome interacts with it, too), it "only" misses nice UIs and automation AFAIK 10:36:38
@instantepiphany:matrix.orginstantepiphanyGreat, I'll look at mqtt as a first protocol to support.10:38:37
@instantepiphany:matrix.orginstantepiphanyThanks for the info :thum10:38:45
@instantepiphany:matrix.orginstantepiphany * Thanks for the info :thumbup:10:38:54
@instantepiphany:matrix.orginstantepiphany * Thanks for the info!10:39:05
@robert:funklause.dedotlambda I think the core of a home automation should be some automation engine, not protocol support or anything. Fancy dashboards, even ones that act on button clicks, can be hacked together really fast and don't need such an engine. 13:27:05
@schnecfk:ruhr-uni-bochum.deCRTified
In reply to @robert:funklause.de
I think the core of a home automation should be some automation engine, not protocol support or anything. Fancy dashboards, even ones that act on button clicks, can be hacked together really fast and don't need such an engine.
But you need some platform for testing and developing that automation engine
13:27:45
@hexa:lossy.networkhexaautomation engine = event bus?13:27:52
@robert:funklause.dedotlambda
In reply to @hexa:lossy.network
automation engine = event bus?
Kinda, I guess. I think that's where existing solutions could maybe be improved. The more devices you have in your home that report data, the less feasible it is for every automation you wanna script to listen to all events, which are mostly state changes. So if I were to design such a system, I would take good care to have every automation define the events or data points it cares about. Let's say some heating automation cares about outside temperature (now and prediction for 1h, 2h, ... from now), inside temperature, people present, ... Then that automation should only be triggered when one of these states changes.
13:34:25
@hexa:lossy.networkhexaright, I think at the core there needs to be an event bus, maybe something pub/sub, and everything that hooks into it needs to follow a certain interface, so there is a generic way to talk to certain device classes13:34:26

There are no newer messages yet.


Back to Room ListRoom Version: 6