Always mocking Dr. Daniel Jackson. Poor guy
Always mocking Dr. Daniel Jackson. Poor guy
Additional information regarding Home Assistant:
The sun component (which should be enabled by default) already computes the sun position for you.
Elevation and azimuth are available as standalone sensors sensor.sun_solar_azimuth
(might be disabled by default) or as attributes on the sun.sun
entity.
I don’t have any experience with it but this might do something along those lines(?):
https://esphome.io/components/binary_sensor/ble_presence.html
Seems like you can just add it to one or more of your existing esphome devices.
If you have such a system up and running already you could try to modify it before ripping it out and starting from scratch.
Borrowing an idea from the machine learning approach you could additionally take the difference in average outside temperature yesterday and the average forecasted outside temperature today. Then multiply that by a weight (the machine learning approach would find this value for you but a single weight can also be found by hand) and subtract it from the target temperature before the division step discussed previously. Effectively saying “you don’t need to heat as much today since it will be a little warmer”.
I fear that’s about all you can do with this approach without massively overcomplicating things.
This is effectively what a thermostat does.
The problem is that the controller won’t know how well insulated each room is, how cold it is outside (including wind speed), which doors and windows are open and when, what people or devices are doing in each room.
The way thermostats solve this is by creating a closed loop where they react to how the room reacts to their actions.
Depending on how your heaters work you’ll likely need some dynamic component to react to these unforeseen changes unless you can live with the temperature being very unstable.
To get a rough idea of how long the heaters will have to run you can look at each room in for the last n days and see if the heater’s runtime was long enough to (on average) hold your target temperature. Dividing the average temperature with the target temperature will give you an idea whether they were on for too long or too short. (If the heaters have thermostats you’ll likely need to subtract a small amount from that value so that it will settle at the minimum required heating time)
If that value is close to 1.0 you know that on those days the heating time was just about perfect.
Once that is the case you can take the previous days heating time and divide it up over the cheapest hours. The smaller of a value n you choose the more reactive the system will be but it will also get a little more unstable. Depending on your house and climate this system described here might simply be unsuitable for you because it takes too long to react to changes.
There are many other ways to approach this very interesting problem. You could for example try to create a more accurate model incorporating weather and other data with machine learning. That way it could even do rudimentary forecasting.
Are there any implementations of this out there or is this purely theoretical (at this point in time)?
According to Scott Manley’s video on the topic the probes would need to arrive at the correct time in order to form what is effectively a huge phased array antenna.
Only then is the combined transmission power of these tiny probes large enough to be received on earth.
Adding a Turing award to your profile is certainly one way to flesh it out
The uom crate implements this for Rust.
The core functionality is based on generics but there are some macros for defining custom measurement systems.
I can’t talk about the other libraries but the uom crate does the same thing.
The dimensions are encoded as a vector of generics, allowing you to get the correct unit even when dividing a distance by time for example.
It’s quite the clever use of Rusts type system.
I started out with WireGuard. As you said its a little finicky to get the config to work but after that it was great.
As long as it was just my devices this was fine and simple but as soon as you expand this service to family members or friends (including not-so-technical people) it gets too annoying to manually deal with the configs.
And that’s where Tailscale / Headscale comes in to save the day because now your workload as the admin is reduced to pointing their apps to the right server and having them enter their username and password.
I suspect that if you were to cut the screen at the rounded edges, the sensor island and the onscreen nav buttons you’ll be left with a 16:9 screen.
In other words its a 16:9 screen with some margin for curves and controls.
One sensor should be enough. I believe they usually mount onto the inside of the window facing outwards so that lights and movement in the room don’t influence it.
The simplest way of solving this would be with technically four separate automations. However you can place them all in the same HA Automation using multiple triggers and trigger IDs. (Or have one for the blinds and one for the lights with two triggers each)
I’m going to assume the blinds are somewhat light translucent.
For the blinds use a numeric trigger that fires if the lux value is over some threshold for let’s say 10 minutes. That way it won’t trigger for every tiny cloud. When triggered lower the blinds.
Add another numeric trigger for moving back up when the lux value is under some threshold for 10 mins. Test to make sure that lowering or raising the blinds doesn’t darken or lighten the room enough to immediately have it trigger the other trigger. If it does then increase the difference between the two thresholds.
Copy the same procedure for the lights. The timer can be shorter here, maybe try 1 minute. Make sure that the thresholds are low enough as otherwise lowering the blinds would immediately turn the lights on. I would suggest first tuning the blind triggers and then tuning the light thresholds to your liking.
If you can’t set the light thresholds low enough so that the blinds don’t interfere with them you’ll need a somewhat smarter automation but I’d try the easy way first.
Sorry I don’t have a recommendation for you but this question often comes up in the Home-Assistant (local-first home automation software) community. So maybe have a look around those channels as well.
Why not set up backups for the Proxmox VM and be done with it?
Also makes it easy to add offsite backups via the Proxmox Backup Server in the future.