Welcome :)

Sep 20

RPi Temperature Monitor

I wanted a way to track temperature changes on my Raspberry Pis, especially the one that was acting as a Touch Screen for my Bitfocus Companion host. It is in a small case, and I had recently installed a heatsink and fan to aid with heat disipation and so wanted to see how much of a difference it made over time. (Spoiler: The cooling is keeping the cpu core about 20ºC less than it would have been without it!)

The button as it appears on the stream deck

I already had Node Red in my network which is monitroing all sorts of things including temperature sensors, and it does this in tandem with an MQTT broker. So all I needed to be able to monitor my Raspberry Pis temperature and have it display anywhere I wanted, was to send the temperature value to MQTT and then have various clients subscribe to it.

I adapted a small python script from thingsmatic which I am using to monitor the CPU temperature on two of my suit of RPis. I say adapted – I just had to make sure I was using the full path for all executables used by the script and also make sure that the python module for sending the MQTT message was installed.

CPU Temperature over time, from a cold start, with heatsink and fans.

Architecturally it looks like this:

  • The Raspberry Pi runs a script via the cron. I am monitoring every 5 mins.
  • The script calls the vcgencmd to get the temperature and publishes this to an MQTT broker on the network.
  • Node Red is subscribing to the topic and adds updates to a line chart in the dashboard as they arrive.
  • Bitfocus Companion has an MQTT plugin which means I can subscribe to the topic that will contain the CPU temperature and update a variable when that value is seen on the network. I also added an action to the buton that would run the temperature check script on the Pi at an arbitrary point.

Main disavantages are that this solution will not work when I leave my home network. But it’s rare that I do that anyway these days!!

Jul 20

Google Meet Mute with Stream Deck and Companion

I recently found Bitfocus Companion and it has done nothing but provide inspiration for new ideas for buttons to control things which normally I’d have to faff with a mouse to control.

Google Meet is our video platform of choice at work, and I was fed up with loosing the window and not being able to unmute myself quickly when someone asked a question in the middle of my presentation or meeting.

So a button on the Stream Deck XL is required to alleviate this dreer.


I’ve used Better Touch Tool for ages to provide an interface for controlling my mac from a phone or tablet when projecting films on the wall, and used its screen snapping features for years to arrange program windows quickly in multi screen workflows.

But now it was the turn of BTT to provide the tooling to programme a series of actions that would find a google meet window running the video call, switch to it, and send the ‘mute’ toggle keyboard shortcut. There is a preset you can download at the end of this post for a named trigger.

No matter which of your browser windows is hiding the Google Meet window amongst a million other tabs, we’ll find it and bring it front and focussed… and unmuted.

Working back up the signal chain… BTT comes with a webserver which can be enabled to listen to triggers on an HTTP port. You can copy the HTTP request for each trigger in the BTT admin, and you’ll paste that in the Companion config.

Companion has a generic HTTP plugin which can trigger BTT on the target machine. Simply paste your trigger URL in a new button using the http instance on the key down, and jobs a goodun.

Download the BTT preset here.

« Page 1, 2, 3 ... 32, »