Automating A Hot Tub With Home Assistant

Recently, I unexpectedly received some money - not a huge amount, but something that I wanted spent on something tangible and fun (rather that setting it aside or spending it on day-to-day expenses)

After some (though probably not enough) thought, I decided to spend it on a hot tub: we both live with chronic pain, so as well as being a fun purchase, it had the potential to perhaps help make life a little easier (it's also not something that I'd normally... errr... splash out on).

The funds that I had could stretch to a decent inflatable tub or an (extremely) entry level hard shell tub. The choice seemed obvious, especially as the inflatable carried the additional benefit of being easier to move around if we later decide that we aren't happy with the original placement.

The Spa that I chose (a Lay-z-spa Barbados) is also wifi enabled, opening up the possibility of using HomeAssistant to automate its operation - including creating automations to suck up energy during Plunge Pricing (or Powerup) events.

In this post, I want to talk a little about the various bits that I've set up to monitor and control the tub.

Read more…

Adding a Fediverse Comments Box to a Nikola Site

For (almost) all the years that I've had a personal website, I've not had a comments section. The reasons behind this changed with time, though at one point I had moderation duties elsewhere and didn't really fancy also dealing with that on my own site.

But, comments are not without their value: they can be really helpful, particularly if they provide information that you might have missed or overlooked.

Last year, I played around with embedding webmentions in order to add a comment-like section to my website. However, I recently decided that I wasn't comfortable with the idea of scooping comments out of social media for storage and display elsewhere and so have disabled them.

As part of that process, I had a search around the web and read other people's thoughts on the topic. Some of those who agreed that webmention backfeeds are too invasive have instead settled on an alternative solution that I quite like.

You can see some good examples on Robb Knight's site:

Screenshot of the mastodon link block on Robb's site. It contains the text of a toot. Underneath, there are counters showing the number of comments, reblogs and favourites - each links  out to the appropriate view in the fediverse

Social media activity is no longer pulled in and displayed, instead remaining in the fediverse (which allows users or instance admins to continue to edit and delete as normal). Clicking any of the icons in the block will take the reader into the fediverse where they can see those actions.

In this post, I talk about updating templates to add similar functionality to a static HTML site generated with the Nikola SSG.

Read more…

New Dog, 2 months in

On February 12th, we took in a (nearly) 5 year old Border Collie in need of a new home.

Unfortunately, the home that Bonnie came to us from wasn't looking after her needs very well: despite there always being someone home, she had been spending most of her day shut in either a 4' x 6' kitchen or in the garden, with no real forms of enrichment available to her in either.

At night, she slept on a towel in the kitchen (apparently she'd previously wet her bed and it had been thrown out and never replaced). Despite living next to the park, she didn't get a daily walk unless their neighbour (our friends) went round to take her out.

On one of the days that they were unable to do so, the sound of Bonnie howling and whimpering at the back gate carried across the park as she tried to come out and play with the other dogs. It was one of the most heartbreaking sounds that I've ever heard (and nearly prompted me to knock on their door to try bring her home - it was only a concern I might make things worse that stopped me)

The owners were a young family who, with a bit of encouragement, came to realise that the situation was neither fair or tenable. With their agreement, the neighbour contacted a few friends to see whether anyone was able to give Bonnie a new home (avoiding a potentially traumatic trip to a rescue centre in the process).

Days later, Bonnie moved in with us.

Not unexpectedly, it soon became clear that she had a few behavioural issues that we hadn't previously been aware of.

As we approached the two-month mark, it occurred to me that it might be good to put together a post so that we've something to look back on and see just how far she's come already.

Read more…

Syncing Notes to Obsidian on Android

I've never been a huge fan of tapping posts out on a mobile screen, but there definitely are times when I feel a real need to get something out of my head and onto (virtual) paper.

Last year, I switched to using Obsidian to keep notes and draft posts.

On desktop, the move was easy. The mobile version of Obsidian did take a little more getting used to (the same functionality is there, it's just sometimes harder to find), but it's still preferable to anything else I've tried for this.

Initially, I used Nextcloud to keep my vault synced between my phone and desktop. Unfortunately, as I found when playing with the gadgetbridge db, Nextcloud's ability to sync a directory on newer versions of Android can be a little flakey.

As a result, I ended up in a split-brain situation, with my phone holding a version which simply didn't exist in Nextcloud (leaving me in a position where I was sure I'd updated a draft but it not being in my vault when I checked.... on desktop).

In this post, I'll talk a little about using FolderSync to have notes synced between Nextcloud and Android.

Read more…

Disabling Webmention Backfeeds

In December 2023, I added support for webmentions to my site. As part of the setup process, I also configured a backfeed of mentions from external sources such as Github, Mastodon and Twitter - the idea being that if you comment on my content on social media, it'd show up as a comment under the relevant post (hopefully adding something of value for other readers).

At the time, I noted that I did have some qualms about the ethics of collecting mentions from other sources:

I was reading a post by Terence Eden discussing the ethics of syndicating comments using WebMentions and found myself a little undecided on the question that Terence poses, at least as it applies to extracting comments from silos like Twitter


Jumping back to the introduction to this post, this is where I feel a little conflicted about the ethical posture of collecting and syndicating mentions.

However, I reasoned that it wasn't all that different in principle to users taking a screenshot of a social media post and sharing it elsewhere, hardly an uncommon occurrence.

Recently, my discomfort with the idea of pulling people's comments from Twitter/Mastodon/wherever and displaying them on my site was reignited after reading "Mastodon Webmentions and Privacy" by Robb Knight.

Although privacy is a strong motivator, it's not the only concern that I have with having a webmention backfeed active, so I've decided to disable the collection and display of web mentions on my site.

In this post, I'll talk a little more about why I've chosen to do so.

Read more…

Querying Tasks from Yesterday's Daily Note in Obsidian

I'm a fairly prolific note-taker and have been, in both my personal and professional lives, for years.

I manage my notes with Obsidian (in fact, even this post was drafted in it) putting its Daily Notes Plugin into use to manage my to-do list. At the start of each day, the rollover daily todos plugin copies any incomplete to-do's over from the previous day's notes.

This combination gives me a fresh notes file each day with any unfinished tasks copied across.

I've been using this system for quite a while, so there are now a lot of daily note files, which does make manually navigating to an older set of notes a little inconvenient.

Recently, I've developed a more regular need to look at the previous day's todo list: I've found that it's sometimes quite helpful to also be able to see what was completed in the previous day (as well as being useful for giving updates, it helps me avoid getting stuck in a rut where it feels like I'm not getting anything done).

Obsidian has template support which is able to insert the current date, but it's quite simple and cannot do date maths to work out what the filename of the previous notes file would be.

In this post, I'm going to write about the approach that I've taken to have Obsidian show me yesterdays work and display a link back to the relevant notes file.

Read more…

Heating With Electricity Instead Of Gas

When we first had solar installed, I really didn't envisage it leading to us switching to using electricity for heating over winter - after all, the sun doesn't shine very much, heaters are pretty energy hungry and mains gas was quite a bit cheaper than mains electricity.

However, my perception of the viability of using electricity to help heat the house shifted once we moved away from fixed rate tariffs and onto Octopus Agile. Plus, of course, using heaters to consume the free electricity delivered in a Octopus Powerups really has been something of a no brainer.

In fact, having Solar probably doesn't really factor into it much at all. We switched to Agile because the battery allowed us to load shift, but it plays no real role in running electric heaters in the evening.

In this post, I'm going to write a little about the approach that we've taken this winter, along with some issues that we've encountered along the way.

Read more…

Making an Upholstered End for A Sofa

The sofa in our living room, is actually only part of a sofa: it's the long side of a corner sofa.

When we originally bought the sofa, it was the perfect size and shape for our living room. Unfortunately, our landlord later did what landlords do and decided to switch letting agent on the sly, landing us with a section 21 no-fault eviction in the process.

At the next house, although the sofa could physically fit into the room, it absolutely dominated it.

Finally we moved to our current home, which has a layout that really can't accommodate a corner sofa at all. So, we unhooked the shorter side, leaving us with a straight sofa and an open-ended sofa-bit.

For a while, we had the sofa-bit on the opposite side of the room, but it never really worked particularly well: the seating cushions tended to find their way off the open end and move about under your arse as you get on and off the sofa. Not really needing that extra seating, we eventually moved the sofa-bit into storage instead.

For various reasons, we're taking in another dog. In preparation for this, I wanted to make sure that there'd be enough lounging space and so decided that the sofa-bit needed to come back out of storage.

Conscious of the cushion slipping issue and emboldened by my relative success at making and upholstering a pelmet I decided that I'd make a new end for the sofa.

This post describes that process.

Read more…

Updating iptables to allow Chromecast discovery and casting

I occassionally find that I want to cast a browser tab from my laptop - usually to put a chart onto a display so that I can periodically glance at it.

However, my laptop runs a fairly strict set of firewall rules - after all, it's a portable device and, on occasion, will connect to networks that aren't mine.

Strict firewall rules can prevent Chromecast discovery from working, mean that no devices will appear available to be casted to.

This post details adding rules to iptables to allow casting.

Read more…

Our Solar Battery Started Kicking In Late

Over the past 9 months or so, I've written fairly extensively about how we've tried to improve the savings that our Pylontech US2000C solar battery is able to yield.

Using the battery to shave pricing peaks relies on schedules to control when the battery kicks in, ensuring that it supplies the house when prices are most likely to be high.

Getting that timing right is all the more important over winter, with the majority of savings being achieved by charging cheaply and discharging at peak rather than coming from the panels.

Recently, though, our savings attempts have been somewhat thwarted because the battery hasn't been kicking in when it's supposed to.

Over the course of January, I attempted to troubleshoot this whilst also engaging with our inverter's manufacturer.

This post details what we experienced, what was checked and how it was ultimately resolved.

Read more…