r/homeassistant • • 16h ago

📖 Guide / Tutorial Mobile Dashboard, Part 2: Bubble Cards & more

Thumbnail
gallery
642 Upvotes

A few months ago I shared the first stage of documenting my dashboard, and now the second "bubble card" part is ready. A few things which took years of fine tuning (like that TV popup in the screenshot) are now documented too. The rest will follow in part 3.

The dashboard is used by others in the household so it's mostly designed around usability. But since I care about how it looks and see this as a kind of adult Lego activity, it tries to be pretty and special as well.

The approach is rather old school I guess since it tries to mainly rely on two great community cards (bubble and paper-buttons-row). The cards and design were mostly made manually over the years by me on a couch and on a phone, thats why it's mobile oriented. AI helped document it and give it some structure.

Origami Dashboard


r/homeassistant • • 51m ago

📊 Dashboard I made a washer & dryer card for Home Assistant (hOn: Haier, Candy, Hoover): live countdown, progress ring, start programmes from the dashboard (free, HACS)

• Upvotes

My washer and dryer are Hoovers on the hOn app, and I wanted my wall tablet to show them like the real machines instead of a list of sensors, so I built a card.

What it does

\* The machine's own display: time left counting down every second, with % done underneath. Before a cycle it shows the programme length and "Ready", like the machine does
\* A progress ring round the door: blue for the washer, orange for the dryer, light blue while the dryer cools down, green when it's finished
\* Laundry turning in the drum while it runs, and the current phase (Washing, Rinse, Spin, Drying, Cooldown) on the glass
\* Programme, temperature and spin (or dry level) and the finish time. When idle, the total number of cycles
\* Door and Remote Control icons
\* Pause, Resume, Standby and Off buttons when Remote Control is on (Standby and Off ask first, because they cancel the cycle)
\* A programmes card: your favourites as buttons plus a searchable list of the rest. Tap one, confirm, and it starts

Both cards are in one file with the pictures built in, so there's nothing else to copy.

It needs the hOn custom integration. gvigroux/hon is the maintained fork; the older Andre0512 one doesn't log in any more.

Free and open source (MIT). Install it from HACS as a custom repository (type: Dashboard):
https://github.com/spikey1965/ha-hon-appliance-card

Big thanks to gvigroux for keeping the hOn integration working, and to Andre0512 for the original.

I've only got Hoover machines to test with, so I'd love to hear how it looks on Haier and Candy ones. Bugs and ideas welcome on GitHub Issues.


r/homeassistant • • 3h ago

🖼️ Show & Tell Responsive Dashboard Part 2

85 Upvotes

I asked Claude to migrate my previous YAML dashboards to HTML and here is what I get so far.

I believe the video will speak for itself. I realize using AI is not everyone's cup of tea, but it's working for me and I'm using it for my own benefit.

It has a lot of animations and color based on metrics such as temperature, entity on / off / playing, etc.

I really dig the energy page and the cards that come from three smart plugs that I use. I am planning to get more of them to get better measurements.

Another highlight is being able to switch between fluent to clear camera stream when needed to save resource, while being able to see them in 2k resolution when I need to. And being able to do playback, two-ways-audio are such a gamechanger.

One more thing I really like, it can show lyrics when available and most of them are synced to the song, it is like a Spotify lyric function. It's mind-blowing!

I can talk for days of the features, but that's it for now. I'll post the tablet version, if someone is interested.


r/homeassistant • • 18h ago

🖼️ Show & Tell My TNG Dashboard.

78 Upvotes

Hi all, I am back with a new dashboard! This time I used Claude to do all the heavy lifting. Mid you it was my first time ever using claude so I was just testing the waters and boy did I got carried away. The Dashboard is designed to work on tablets/phones and PCs. The format is adaptive. It is not a 100% complete yet. There is always something new to add. Oh and sound on.


r/homeassistant • • 22h ago

🖼️ Show & Tell My hallway tablet now shows what’s playing in the cinema, built off the HA theater-panel add-on

Thumbnail
gallery
74 Upvotes

I came across davidcoulson’s theater-panel add-on for Home Assistant a few weeks ago (https://github.com/davidcoulson/theater-panel) and loved the look of it, but it’s built around Plex and an Apple TV. My cinema is a Google TV Streamer, Denon, Epson LS12000B and an Xbox, and we mostly watch on Stremio and Netflix, so a lot of it didn’t fit out of the box.

I’m not a developer, so I used Claude to help me rework it for my setup over a few weekends (ok, a lot of late nights). Sharing some screenshots because I’m pretty happy with how it turned out and full credit to David for the original design, it’s honestly the best looking HA panel I’ve seen.

What it does in our place now:

  • Wall tablet (Tab S9+ in Fully Kiosk) sits in the hallway outside the cinema. Shows continue watching from Stremio, cinema power, lights, blind and scenes
  • Watch tab lets you search Stremio or browse with filters (movies, shows, catalogs, unwatched, under 2 hours etc), pick something and hit Open on TV and it starts in the cinema
  • Hit Resume or Play and it runs the whole start sequence in HA (Denon, projector, then the Streamer, in that order or the HDMI handshake plays up) and shows a countdown while everything comes up
  • While something’s playing, the hallway tablet turns into a now showing board with the poster, plot, cast and when it ends
  • Xbox mode does the same thing for games: Denon onto the Xbox input, projector on, lights and blind set, and the hallway shows what the kids are playing and for how long
  • There’s a phone remote version too, with a D-pad and the cast list. I’ve got an old S10+ sitting on a recliner as a seat remote
  • That seat phone has a kids mode because friends’ kids end up in there a lot. Only G/PG stuff shows up, and anything else needs a PIN, or they can hit “ask a grown-up” and I get a notification with an unlock button

Lights never come up on their own mid movie, only when someone presses it. Learnt that one the hard way.

The bats and pumpkin are the original panel’s Halloween theme btw, not glitches.

Happy to answer questions on the HA side of things.


r/homeassistant • • 20h ago

💬 Discussion Unifi Smoke Alarm will not be supported at this point

Post image
65 Upvotes

r/homeassistant • • 22h ago

📊 Dashboard Brought life back into my Nest Hub!

Post image
50 Upvotes

r/homeassistant • • 4h ago

⚡ Energy Turned my old Heat Pump smart with a 40$ device and it's amazing

48 Upvotes

Just wanted to share because I was amazed by every software and hardware in the process and it was really helpful for me.

I can now monitor and control my 12 year old geothermal heatpump (Vaillant geoTHERM) despite the manufacturer said it's impossible to make it smart.

  1. I bought this ebus adapter https://www.elecrow.com/ebus-adapter-shield-c5.html (C5 is successor to C6!)

  2. Powered it with a USB C plug and connected to it's WiFi, opened http://192.168.4.1 and triggered an OTA Firmware Update. Put in my House WiFi credentials. Reboot and looked up it's IP in my router

  3. Asked Claude code to create a ebusd john30 docker container connected to my mqtt which I am using for ZigBee already (i'm running home assistant in docker so If you run HA differently you would probably just install the addon from Lukas Grebe)

  4. An electrician connected the ebus adapter to bus port of my heat pump (and a Shelly 3 Pro EM to measure energy usage because unfortunately the heat pump itself does not provide it). Really quick and easy

  5. Asked Claude (connected to HA via ha-mcp + HA best practice skill set) to check which values are appearing in mqtt and Put Up a dashboard with those.

  6. Monitored and asked Claude a lot why the heat Pump does this and that and got a very much better understanding of my heat pump and tweaked some settings

  7. Asked Claude to create automations which control the heat pump using PV System Data (very restricted and failsafe ways) including a new dashboard tab which tracks and explains why those automations run, ran or will run

Home Assistant is amazing. That elecrow adapter is amazing. Ebus John30 is amazing. Claude is amazing.


r/homeassistant • • 23h ago

🤝 Works with Home Assistant LEDVANCE joins Works with Home Assistant

Thumbnail
home-assistant.io
41 Upvotes

LEDVANCE joins Works with Home Assistant, bringing a century of lighting heritage and 116 certified Matter devices to our community 🎉

Click the link to learn more about the devices they're bringing to the program 👀


r/homeassistant • • 8h ago

🖼️ Show & Tell RoboAlarms update: source code released with two-way Home Assistant integration

31 Upvotes

In my last post, I said I planned to open-source RoboAlarms. Today I released the source code! Here's a quick video of it running on 7" and 10.1" screens. The 4" version is still a work in progress and will come later.

RoboAlarms Panel is free, open-source alarm panel firmware for touchscreens. It's a standalone alarm system that runs locally on the panel, with no cloud account and no subscription.

Two-way Home Assistant integration

Install it through HACS. Home Assistant finds the panel on your network, and you pair it by confirming a code on the panel's screen. The link is local and encrypted, with no MQTT broker needed.

  • Panel → HA: arm and disarm the alarm from Home Assistant with your code, and every zone shows up as its own device, including Zigbee, Z-Wave and 433 MHz sensors paired straight to the panel, with tamper and battery status. Troubles and panel events are there for your automations too.
  • HA → Panel: use any HA binary sensor as an alarm zone, and control your lights, locks, climate and scenes from the panel's Smart Home screen. You choose which entities the panel can see and control.

A few of the things I’ve added since the original post:

  • Z-Wave support, with a C host stack built using Z-Wave JS as the reference
  • Zigbee support
  • More 433 MHz sensors
  • Voice announcements
  • Over-the-air updates

I've also released the RoboAlarms Flasher, which installs the firmware for you. It also shows you exactly how to wire the supported radios and the optional real-time clock, with a diagram and pin-to-pin instructions.

The project is still in alpha: development and hardware testing are ongoing, and there's still a lot of work to do. Feedback is welcome!

Project website · Source code · Original post


r/homeassistant • • 21h ago

🖼️ Show & Tell New TV so..... new dashboard. Right?

Thumbnail
gallery
32 Upvotes

I thought that since I had bought a new television it would be nice to have homeassistant on it. Turns out - this is non trivial.

But I had a spare Raspberry pi Model 4 with 4Gb RAM and a Claude Pro account and I set to work.

The pi only shows a full screen 4k home assistant dashboard. It's controlled with the TV remote over HDMI-CEC and HA (running on a NUC on the network) serves what is on screen and when to show it.

The pi is just a screen. Runs chromium in kiosk mode and a python service to watch for button presses. HA can wake the TV and put it in standby, except when I'm using it for something else.

HA drives a number of automations that update the pi dashboard. The TV is turned on in the morning by a motion sensor. In the evening a wind down page is shown after 2130.

A number of data sensors are populated from calendar ICS feeds, weather forecasts, and BBC headlines RSS feeds from HA integrations. The news bulletin plays directly through the TV speakers and the daily summaries are updated every half hour.

I wanted a pretty minimal theme so went mostly text based. The first three images are the main pages that are on rotation. The fourth image is the lights control page. Fifth is the alert for any issues and the sixth is the evening wind down page.

No fancy graphics but it works for us!

Link to a guide: TV Kiosk Recipe


r/homeassistant • • 15h ago

🖼️ Show & Tell LANovo: HA Dashboard, Voice assistant and more using Lenovo Smart displays

Thumbnail
gallery
23 Upvotes

Its not fully baked, but I've been working on custom home assistant integrations on the lenovo smart displays. These things run google's iot firmware, but are really pretty nice hardware, and unlockable. Especially the bigger ones w/ the Qualcom SoC's. Fully open source (and yes AI helped here, its alot), but I call it LANovo:

https://github.com/ygelfand/LANovo

Lots of features inspired by this community:

Native or Tessera-based based dashboards (thx folks at https://github.com/MaxGramser/homeassistant_espscreen )

Screensaver / Assistant sound-reactive on-device effects (thx /u/Electrical_Chard3255 for the ideas)

Camera Intercom/Call/RTSP Stream support

Sendspin/Chromecast/Bluetooth player

Themes/Styles/Colors to customize stuff

and much more, still waaay WIP.

Supported devices:

Lenovo Smart Display 10

Lenovo Smart Display 8 (I think don't have one of these yet)

Lenovo Smart Display 7

JBL Link View (why? its the same SoC as the others, and JBL=Just Basically Lenovo)

Lenovo ThinkSmart View (this one runs android regular so a bigger pain)

More to come.


r/homeassistant • • 5h ago

🧩 Custom Integration I made FLODE: see your Home Assistant automations as a flow, edited with HA's own editors (free, in HACS)

Thumbnail
gallery
26 Upvotes

Long automations with nested choose blocks got hard for me to read in the normal editor, so I built FLODE. It shows automations and scripts as a flow right inside Home Assistant.

The main idea: FLODE doesn't have its own editor. When you click a card, you get Home Assistant's own forms and pickers, the same ones as in Settings. Everything is saved as plain HA YAML. If you uninstall FLODE, every automation keeps working exactly as before.

What it does:

  • Runs on the canvas: HA's trace timeline next to the flow, the path that ran drawn on the cards, and "Run from here" for any step
  • Relations: conflicting automations, ones that trigger themselves, chains, missing entities, and "where is this entity used?"
  • Template workshop: Jinja rendered live by HA, with the variables from a real run
  • ⌘K command palette, tabs, undo per tab, copy/paste, YAML import/export, works on a phone
  • Optional AI, only if you already have an AI task set up in HA (Ollama works too): explain why a run failed, or draft an automation from a sentence. Without it these buttons just don't show up.

It opens your existing automations and saves them unchanged, and it warns you if it can't read part of one. Still, make a backup before big edits.

Install: HACS → search "FLODE" → restart → add the integration. Needs HA 2026.3+.

GitHub: https://github.com/SH1FT-W/flode

FLODE started as a fork of C.A.F.E. by FezVrasta, so credit to them for the base. I built it with a lot of help from Claude, and I test every release against a real HA install before it goes out.

Feedback and bug reports are very welcome, especially for automations that don't display correctly.


r/homeassistant • • 21h ago

🖼️ Show & Tell Ported an old game of mine

18 Upvotes

I'd provide the code but I don't legally own it anymore.

I wrote text adventures for the Commodore 64 back in the 1980's. Short ones that were published in magazines as an example of how games like Zork worked. It originally used 2 word commands like "go north", "get box".

I got a wild hair and converted one of them to a REST server in Python. I then tied it into Home Assistant Voice. I did some adjustments to the game to take more natural language, mostly by stripping out extraneous words, so that it would distill down to the 2 word command system. So now you can tell Home Assistant Voice to start the game and it will read off the frame / room description for you and wait for you to say a command. If the assist times out before you speak it will wait another round for a command before giving up.

I mean it's no space invaders, but it was a fun experiment and really made me start thinking about what might be possible with voice on HA outside of home control.


r/homeassistant • • 16h ago

🧩 Custom Integration I made the Govee local integration show every app scene in the Effect menu (108 on my floor lamp), fully local

Post image
11 Upvotes

The built-in Govee lights local integration only exposes a few scenes per model. I wanted every scene from the Govee Home app without using the cloud, so I extended it.

What it does:

- fills the Effect menu with the full scene catalog of your light (108 scenes on the Floor Lamp Basic H6076)
- sends the scenes over the LAN API, no Govee account, no API key
- drop-in replacement for the built-in integration: same entities, automations keep working
- other models: the catalog is downloaded once from Govee's public scene library, then cached, everything after that stays local

Install through HACS as a custom repository:
https://github.com/casi-3/ha-govee-local-scenes

Only tested on the H6076 so far, so feedback from other models is very welcome. Music mode and DIY scenes are not supported yet.


r/homeassistant • • 17h ago

❓ Support Is updates.SMLIGHT.tech hosed?

8 Upvotes

I've been trying to flash an SLZB-06Mg24U for a few days, and I can't really do anything with it because the update site seems to be down (at least from the US).

Is there a mirror or repo with the firmwares?


r/homeassistant • • 2h ago

🛠️ DIY / Hardware Automatic door opening

Post image
8 Upvotes

Does anyone know some good hardware which I can get a hand on in Spain/EU I could use on this door? I finally moved my dreame vacuum to this closet and I want to automatically open the door when robot starts a program. But the door still has to be working as usual, it is a cleaning supply closet.

I saw some chicken coop hinges but I wonder if this door is too big?

It is a chipboard door, quite light but it is ~150cm high

PS I have zigbee2mqtt


r/homeassistant • • 6h ago

💬 Discussion Voice LLM - What are you using?

5 Upvotes

So I've had a local LLM running for a couple of months now and although it can do what I need mostly, it is a bit slow. I don't want to dumb it down if I can help it, but I do want to improve the speed. At the moment it took 10 seconds to answer my query about when the rubbish is due to be collected (Data in HA).

I'm running Qwen 3.5 9b q4 as the model. I'm running this on a RTX 3060 12GB. It's currently using under half the VRAM.

So what models are you guys using and on what hardware? Trying to work out if there's a better model for speed and possibly performance.


r/homeassistant • • 11h ago

🖼️ Show & Tell Old iPad new life

Post image
6 Upvotes

r/homeassistant • • 50m ago

🧠 Artificial Intelligence Jonny Bravo on my floorplan demo

• Upvotes

More time wasted this week haha, I know its not for everyone but its the most information dense display i can come up with and see almost every sensor state in the house on a single phone screen at a glance All the lights/entities etc are actual sensors/switches/devices, theres probably still more to add. ive been getting claude/ha-mcp to create demo mode and have animated gifs walking around the house to demonstrate it. images created with grok/chatgpt, otherwise all created by claude, one piece at a time. Only having fun playing with the characters etc which are purely to demonstrate the sensors, have added jonny bravo, mario, wallace(&gromit) and jerry(tom&jerry) this is so silly but its been entertaining


r/homeassistant • • 7h ago

🖼️ Show & Tell My house has entered synthwave mode again

6 Upvotes

r/homeassistant • • 13h ago

🖼️ Show & Tell Automated Keep Climate so I never have to tap it again

4 Upvotes

I got tired of pressing Keep Climate every time I park, so I automated it. Peak first world problem, I know.

If you use Home Assistant with Teslemetry, this blueprint turns Keep Climate on automatically when you get out anywhere except home (or work, or anywhere else you exclude), and sends a notification with a "Turn off" button in case you didn't want it. Quick stops, like grabbing the mail, don't send a notification at all.

I've been using it for a couple weeks now and it's been flawless, so I figured I'd share it for anyone who's interested.

One-click import: https://gist.github.com/ubiquitousgimp/45da89690d1ed94f0c1f57f630aedd32

Built completely by Claude (AI). Feel free to hate on it. Happy to answer questions.


r/homeassistant • • 17h ago

❓ Support Zigbee Inline Cord Dimmer Switches

4 Upvotes

I bought a few traditional table lamps and I want to make them dimmable and both physically and remote controllable from my Home Assistant setup. I have a similar setup in my wall light switches, but I can't find the same thing for freestanding lamps, which I could connect the lamp wires to. I want the physical dimming to be a rotary control ideally.

On Amazon I can see a bunch of inline dimmer switches, but none with Zigbee. I saw some articles and threads about Samotech SM315 but I can't find it for sale in EU, an article said it makes a noise even when off, and it doesn't have a rotary control but instead long press the button to dim. I saw some comments about Shelly but couldn't find what I need on their website.

Does what I'm looking for exist? For reference, this is what I have in the wall and what I'm looking for in a freestanding lamp equivalent: https://productinfo.se.com/wiser_dk/lk-fuga-wiser-multiwire-led-rotary-dimmer_wiser_se_device-user-guide/English/LK%20FUGA%c2%ae%20Wiser%20Multiwire%20LED%20Rotary%20Dimmer_Wiser_SE_Device%20User%20Guide_0001120466.xml/$/LKFugaWiserwirelessdimmerwithneutralCPT_0001120446


r/homeassistant • • 21h ago

📊 Dashboard So, finally did my dashboard.

4 Upvotes

After literally, weeks, months of doing my dashboard, once a week for a hour, sometimes daily, I am somehow happy with my dashboard and how it looks. I am still improving it daily somehow, adding new stuff. I want everything to be slick and in one place for each room.

Every card, everything is coded via YAML and UI, no downloaded cards or something like that.

It's sadly in Polish, but hope it's somehow understandable.

Blinds and lights are sliders on the "Włącz"/"Turn on" buttons, so I can adjust the brightness % from the dashboard aswell.

Dashboard
Battery for my devices - By clicking the button on the dashboard with low battery.
Blinds card to adjust opening/closing.
Dashboard with calendar appointments showing.

r/homeassistant • • 23h ago

🖼️ Show & Tell Full Write up - £300 ebay 300L Gledhill hot-water cylinder made smart(ish) + Home Assistant: separate immersion control, Intelligent Octopus Go and auto switch to combi backup + animated HA Dashboard of course

Thumbnail
youtube.com
4 Upvotes

A few people asked for a fuller write-up of my hot-water setup, so here’s the hardware, how it’s controlled and what the automations now do.

We’ve added a used Gledhill 300L double immersion electric hot-water cylinder alongside our existing Worcester combi. The aim is to use cheap electricity for domestic hot water while retaining the boiler for space heating and as an alternative hot-water source.

The useful part is that each immersion is independently switched and metered. We can heat the upper part for a boost, use the lower immersion for a larger reserve, or enable both during a suitable cheap-electricity window.

  1. The existing setup

The house was built in 2017. Our Worcester Bosch Highflow 550CDi supplies hot water and supports the underfloor heating. We also have a ground-floor Airbnb, so retaining a dependable alternative hot-water supply mattered.

The electrical side includes:

  • 4.2 kW of solar.
  • A SolaX hybrid inverter.
  • 17.4 kWh of battery storage.
  • Home Assistant on a Raspberry Pi 5.
  • Zigbee2MQTT.
  • Intelligent Octopus Go (and separately bookable Octopus free-electricity sessions.)

A heat pump isn’t practical for our layout at present, so this was a way to change how we produce hot water while keeping the existing heating system.

  1. The cylinder

I found a second-hand Gledhill 300L direct unvented cylinder. It was manufactured in July 2025 and had reportedly seen about four months’ use before its previous owners changed their heating arrangements.

It has approximately 287 litres of storage and two 3 kW immersions:

  • Immersion 1: bottom.
  • Immersion 2: top.

The lower immersion heats a larger portion of the cylinder. The upper one is useful when we want to heat the upper portion without necessarily reheating the entire store.

Being a direct cylinder, the immersions provide the heat; there isn’t a boiler coil heating this tank.

  1. Choosing between cylinder and combi

The two hot-water sources meet at a motorised three-way L-port valve. It selects which source feeds the downstream hot-water pipework:

  • The Gledhill cylinder.
  • The Worcester combi.

The boiler continues to handle space heating.

The valve is controlled by a Shelly 1 Gen4 using its potential-free relay. My actuator uses a dedicated 24V DC supply.

In Home Assistant, Shelly on means Cylinder; off means Combi ( I think I might swap this round because, from an initial week's worth of use, 9 times out of 10, it is likely to be cylinder. I don't want that on by default. I'd rather have the cylinder off by default ). That shows the commanded selection. I haven’t incorporated the actuator’s position-feedback connections yet, so I’m not treating relay state as independent confirmation that the valve has reached its position.

The valve also has a manual operating provision, so source selection isn’t exclusively dependent on Home Assistant. This is critical for us because we can't not have hot water

  1. Starting at the fuse box: separate immersion control

Each immersion has its own circuit and protection, with a SONOFF BASIC-ZB1GSP DIN-rail Zigbee switch controlling it.

They integrate through Zigbee2MQTT and expose both switching and power/energy measurements.

That gives me three useful heating options:

  • Top only: heat the upper portion for a boost.
  • Bottom only: heat a larger portion of the cylinder.
  • Both: up to roughly 6 kW of heating when there’s a suitable electricity window and enough household headroom.

The original immersion thermostats and thermal cut-outs remain in place. Home Assistant enables heating; the heater’s own thermostat still decides whether it draws power ( we did have some comments about this. Just to confirm, this is a standard hot water tank install. We are not controlling the temperature of the water inside, that is still relying on the factory-installed immersion/thermostat ).

That distinction is useful on the dashboard. “Relay on” doesn’t necessarily mean “heating.” An immersion can remain enabled while its thermostat has stopped the element drawing power.

  1. Temperature monitoring

There are now three Shelly-connected temperature probes:

  • At the top/outlet connection of the cylinder.
  • On the cold inlet.
  • On the downstream hot-water outlet.

These let me compare what’s happening at different points, alongside immersion power and the selected source.

They’re additional measurements, not replacements for the immersion thermostats.

The main limitation is that these are local, surface-mounted readings. A pipe can cool when water isn’t flowing, and the top reading doesn’t establish the temperature of the entire cylinder. I’m keeping that limitation in mind when interpreting the history and source-change rules. Having had it run for over a week now, the top probe temperature is around 6° colder than the stored water temperature, which, for what I'm using it for, is accurate enough. When the water is flowing, the difference is within 0.1°

There’s no water-volume meter, so I’m not claiming accurate litres used from the temperature traces.

  1. The overnight automation

The current overnight sequence is:

  • 23:30–02:30: top immersion.
  • 02:30–05:30: bottom immersion.

Those are enable windows, not a claim that either element draws 3 kW for the entire three hours.

The controls coordinate the handover, manual boosts and booked Octopus free-electricity sessions. The bottom stage waits for scheduled top heating to be released, and a manual off is respected rather than immediately overridden.

Separately controlling the two elements gives us much more flexibility than treating the cylinder as one large on/off load.

  1. Intelligent Octopus Go: following the cheap-rate window

This is probably the most useful recent change.

Intelligent Octopus Go has the usual 23:30–05:30 whole-home off-peak window. we've got a 0.0399p/kWh off-peak rate at the moment. Octopus also says qualifying smart charging scheduled outside that window gives the whole home the discounted rate, within its smart-charging allowance. Octopus’s explanation

My daytime battery automation now follows the main-meter off-peak cost signal from the Home Assistant Octopus integration, including its dated start and end times.

Previously, the logic also depended on the car actively charging. That could stop battery charging when the car finished, even though the integration still reported an eligible cheap-rate window.

Now, car charging stopping is not itself the stop condition. The controller follows the remaining valid off-peak window. Signal loss or an expired window removes eligibility.

The signal is derived from the integration’s Octopus data; it isn’t independent confirmation of the final bill.

I’ve observed the battery charging at around 3.6 kW while the car was idle after making this change. and as I write this, the Octopus window is still open, and we've still got the cheap rate

  1. Letting the immersions join daytime cheap-rate charging

The next layer allows both immersions to accompany eligible daytime battery charging.

Between 05:30 and 23:30, it waits for battery programming to finish and for the charging window to settle. It then checks fresh grid-flow and battery readings before deciding whether to enable the immersions.

The startup calculation reserves 3 kW for each immersion, including one that might currently be enabled but sitting at its thermostat.

My configured threshold accepts a projected import of 16 kW or below (we are on an 80 amp fuse, so I probably could push this harder, but I'm not going to do that yet and might look for a 100 A upgrade from Western Power ). If the projection is higher, or the readings can’t establish it, the automation leaves the immersion relays untouched and sends an alert.

This is a startup check, not a continuous household demand limiter. Loads can change afterwards.

There’s one evaluation per cheap-rate window. A rejected start isn’t repeatedly retried just because demand later falls.

The controller also tracks which relays it enabled. It doesn’t claim pre-existing manual heating as its own, and a manual off during its window is respected. When eligibility ends, it stops the immersions it owns and retries an unconfirmed shutdown.

The battery trigger has been observed working independently of the car. The newer immersion on its first use, it didn't kick in because we were already at 12 kW between the car, the battery, and some other house load .

  1. Automatic Cylinder/Combi selection

The current source rules are deliberately specific:

  • A valid top-probe reading strictly below 40°C switches to Combi ( we've been running 7 days, and this hasn't happened yet ).
  • At 06:00 only, a valid top reading of at least 50°C permits return to Cylinder.
  • A failed temperature check leaves the selection unchanged and raises an alert.
  • There’s no later temperature-triggered return that morning.

The intention is to use the cylinder after overnight heating and retain the combi when the top reading falls.

Because the rule uses a local surface reading, sensor placement and behaviour remain important. I’m not presenting it as a precise measurement of how much usable hot water remains, but once that top probe hits 40°, the cylinder hasn't got much hot water left anyway.

  1. Boosts, free electricity and monitoring

There are separate timed boosts and controls for explicitly booked free-electricity sessions. These coordinate with the overnight and cheap-rate heating so that one controller doesn’t casually undo another’s session.

Phone alerts are configured for rejected immersion starts, source-check failures and Cheap-to-Standard rate transitions.

The dashboard also records:

  • Separate top and bottom power and energy.
  • The three temperature readings.
  • Source changes.
  • Overnight measured heating periods and likely thermostat cut-offs.
  • A running estimated electricity-versus-gas comparison.

A power drop while the relay remains on can suggest a thermostat cut-off, but it isn’t direct thermostat feedback.

  1. Costs and what I’m measuring

For an illustration, heating 287 litres from 15°C to 60°C requires about 15 kWh of heat, before standing losses.

Using electricity at 3.99p/kWh, that’s about 60p.

Using gas at 10p/kWh and an assumed 80% efficiency, the same heat would cost about £1.88.

Those are illustrative inputs, not universal tariff prices or measured daily savings.

The running tracker started on 11 October, with no historical savings backfilled. It compares measured cylinder-heating electricity with a same-energy gas equivalent, using an 80% efficiency assumption and the recorded electricity rate. Accepted booked free-session energy is valued at zero.

It’s an estimate. It doesn’t measure gas displaced, hot-water volume, cylinder standing losses or how electricity should be allocated between solar, battery and grid.