A simple Node Red flow to turn off the ceiling light over our Christmas tree

We have installed 24 Hue GU10 spotlights in our open-plan kitchen / sitting room so we can zone (and control) our lights more precisely than the physical wiring allows.

Unfortunately the most convenient location for our Christmas tree places it directly under a spotlight, which spoils the effect of the tree lights. I created this Node Red flow in Home Assistant with the objective:

  • Whenever the Christmas tree lights are on, the overhead spotlight should be off.
  • Whenever the Christmas tree lights are off, the ceiling spotlights should function as normal.
  • Changing the state of either the ceiling or tree lights should re-apply the previous 2 rules correctly.

A screenshot of the Node Red flow described in this postA screenshot of the Node Red flow described in this post

Annoyingly, controlling the ceiling lights from a Hue wall switch means (in some cases) Home Assistant doesn’t see’ the change in time to stop the light I’m overriding with this flow fade on and then immediately off. I’ve decided to tolerate this for now as the best’ way to fix this is to migrate all the Hue devices to direct Zigbee control from Home Assistant (and remove the Hue hub). That’s a task best done without family around.

11 December 2022

How to replace Ecamm Call Recorder with Audio Hijack for podcasting

If you’re a podcaster anxious about Ecamm Call Recorder being unsupported in future (or just unhappy with having to reinstall it after every Skype update) and all hosts are Mac users, I recommend Rogue Amoeba’s Audio Hijack for podcasting via Zoom. Zoom can record audio itself but this approach is higher-quality and more reliable.

Each host installs Audio Hijack and configures this identical workflow:

A screenshot of an Audio Hijack workflow to record a podcast over ZoomA screenshot of an Audio Hijack workflow to record a podcast over Zoom

Some configuration notes:

  • Input Device: If your device supports multiple inputs (or stereo inputs) and you are using a normal (mono) microphone select it for both left and right channels.
  • Recorders: File format is a personal / editing workflow preference, but if you choose MP3 ensure you change Bit Rate Mode’ to Constant Bitrate’ as that’s what you’ll be publishing in.
  • Application: Turn off Include audio input’ (or you’ll hear yourself twice) and turn on Fill playback gaps with silence’.

This workflow creates 2 recordings per host: a solo’ recording to give to your editor and a mix-down’ of what each host heard (themselves in high quality, the other hosts in Zoom quality’). You should never need the 2nd one but it’s useful when things go wrong to re-align tracks in the edit.

Note that the same audio interface should be used for microphone input and listening via headphones - this means each host can use direct monitoring to hear their own voice without the latency (delay) of routing it via your Mac, which gives a disconcerting echo effect.

We’ve now used this approach for many episodes of 361 and it’s been brilliantly reliable.

We only experienced one gotcha early on… Audio Hijack’s preferences screen lets you set audio processing on a scale between low latency’ and more reliable’.

A screenshot of Audio Hijack's preferences screenA screenshot of Audio Hijack's preferences screen

Changing this (even if all hosts used the same setting) caused significant audio drift. The default (middle position) kept everything aligned for up to 90mins in our recordings. Don’t touch it.

Some follow-up questions:

Is this setup specific to Zoom? No, it should work on any video calling app, but we opted for Zoom as it works well in the regions our hosts live in and was something we all already used for other purposes.

How should I configure the audio settings in Zoom? Configure them as you would for a call that wasn’t a podcast. I leave Zoom’s audio settings as Same as System’ and set the Mac to use my external audio interface in System Preferences → Sound.

What if I use a USB microphone? So long as your USB microphone has a headphone output for direct monitoring (all the popular ones do) and you use that, this will work if you select the mic as input and output.

When I start Audio Hijack I can’t hear people on the Zoom call any more, why? This workflow intercepts audio from the Zoom application and it won’t start routing it back to your audio device until recording is started. Start recording as soon as you open Audio Hijack and you’ll hear the call correctly.

Audio Hijack can do EQ, noise reduction and other clever stuff - where should I put that in this workflow? I’d recommend against that since this podcast is going to be edited later and that’s a better time to tweak things. If you also want to stream live and record, one host would add any audio clean-up and streaming blocks to the right of the mix-down track recorder.

6 February 2021