Silicon ChipHomeAssistant, Part 2 - October 2025 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: We need Intel
  4. Feature: Autonomous Vehicles by Dr David Maddison, VK3DSM
  5. Project: Digital Preamp & Crossover by Phil Prosser
  6. Feature: HomeAssistant, Part 2 by Richard Palmer
  7. Subscriptions
  8. Project: Vacuum Controller by John Clarke
  9. Feature: Finding Bargain Speakers by Julian Edgar
  10. Project: Dual Train Controller by Les Kerr
  11. Project: Pendant Speaker, Part 2 by Julian Edgar
  12. Serviceman's Log: Large animals, laptops & Laphroaig by Various
  13. PartShop
  14. Vintage Radio: Vintage Reinartz 2 TRF Receiver by Philip Fitzherbert & Ian Batty
  15. PartShop
  16. Market Centre
  17. Advertising Index
  18. Notes & Errata: 433MHz Transmitter, April 2025
  19. Outer Back Cover

This is only a preview of the October 2025 issue of Silicon Chip.

You can view 34 of the 104 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "Digital Preamp & Crossover":
  • Digital Preamplifier main PCB [01107251] (AUD $30.00)
  • Digital Preamplifier front panel control PCB [01107252] (AUD $2.50)
  • Digital Preamplifier power supply PCB [01107253] (AUD $7.50)
  • PIC32MX270F256D-50I/PT‎ programmed for the Digital Preamplifier/Crossover [0110725A.HEX] (Programmed Microcontroller, AUD $20.00)
  • Firmware for the Digital Preamplifier/Crossover (Software, Free)
  • Digital Preamplifier/Crossover PCB patterns (PDF download) [01107251-3] (Free)
  • 3D printing files for the Digital Preamplifier/Crossover (Panel Artwork, Free)
  • Digital Preamplifier/Crossover case drilling diagrams (Panel Artwork, Free)
Items relevant to "HomeAssistant, Part 2":
  • HomeAssistant YAML scripts by Richard Palmer (Software, Free)
Articles in this series:
  • HomeAssistant, Part 1 (September 2025)
  • HomeAssistant, Part 2 (October 2025)
Items relevant to "Vacuum Controller":
  • Vacuum Controller main PCB [10109251] (AUD $10.00)
  • Vacuum Controller blast gate adaptor PCB [10109252] (AUD $2.50)
  • PIC16F1459-I/P programmed for the Vacuum Controller (1010925A.HEX) (Programmed Microcontroller, AUD $10.00)
  • Vacuum Controller software (Free)
  • Vacuum Controller PCB patterns (PDF download) [10109251-2] (Free)
  • Vacuum Controller panel artwork & drilling diagrams (Free)
Items relevant to "Dual Train Controller":
  • Battery Powered Model Train TH receiver PCB [09110242] (AUD $2.50)
  • Battery Powered Model Train SMD receiver PCB [09110243] (AUD $2.50)
  • Battery Powered Model Train charger PCB [09110244] (AUD $2.50)
  • PIC16F1455-I/P programmed for the Battery-Powered Model Train TH receiver [0911024R/S/T.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F1455-I/SL programmed for the Battery-Powered Model Train SMD receiver [0911024R.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC12F617-I/P programmed for the Battery-Powered Model Train charger [0911024C.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F1455-I/P programmed for the Dual Train Controller transmitter (0911024D.HEX) (Programmed Microcontroller, AUD $10.00)
  • Software for the Battery Powered Model Railway project (Free)
  • Battery Powered Model Train PCB patterns (PDF download) [09110241-4] (Free)
  • Dual Train Controller PCB [09110245] (AUD $3.00)
  • Software for the Dual Train Controller project (Free)
Articles in this series:
  • Battery-Powered Model Train (January 2025)
  • Dual Train Controller (October 2025)
Articles in this series:
  • Pendant Speaker, Part 1 (September 2025)
  • Pendant Speaker, Part 2 (October 2025)

Purchase a printed copy of this issue for $14.00.

Part 2 by Richard palmer HOME ASSISTANT R P with a aspberry i Having set up a custom Home Automation (HA) system, we now look at advanced features like cameras, custom dashboards, IR remote control, notifications and remote access on a mobile phone, tablet or PC. L ast month, our article on Home Automation explained how to set up a Raspberry Pi to act as a Home Automation hub. We also presented a project article to build a Satellite, allowing the connection of all sorts of low-cost sensors, relays, displays and more. We mentioned some cameras that can be connected to this HA system but didn’t give instructions on doing so. We will now explain how to connect a few different types of camera. After that, we will create a custom dashboard, a temperature history chart and an adjustable thermostat. We will then look at switching devices on and off with infrared remote control, set up remote access from a smartphone or tablet using a VPN and create an intruder alert with a passive infrared (PIR) sensor detects motion. Finally, we will explain how to back up your HA system in case something goes wrong. configure. Daylight image quality was limited, but good enough for many purposes. The ONVIF IP camera was the most complex to set up, requiring a smartphone app to connect it to the network. Two of the four IP cameras we obtained were not ONVIF-compliant, despite their specifications saying they were. Once connected to the network using the mobile phone app, the two ONVIF-compliant cameras were automatically set up by HA. These cameras produced the best pictures overall, particularly in poor light or darkness. Both had pan and tilt capabilities that could be accessed from HA. USB camera setup Plug the USB (UVC) camera into a spare port on the Raspberry Pi. There is no need to switch the hub off to do this. Click on your name at the bottom of the left menu bar. Enable the “Advanced mode” slider in the first block of options. Go to Settings, then System, then Hardware and click on the ALL HARDWARE link. Type “video” into the search box. Click on the down arrow next to the first entry that resembles “video0”. Copy the “Device path:” value. It will be something like “/dev/video0”. Exit the menu and go to Settings, then Add-ons. Install the “File editor” add-on by going to the ADD-ON STORE and searching for “file”. Once it has finished installing, enable the “Watchdog” and “Show in sidebar” options and start the add-on. Once it has started, click on the File editor link in the sidebar menu. The file “/homeassistant/configuration. yaml” should open automatically. If not, click on the folder icon at the top left corner of the panel and select Setting up cameras Three of the options for adding a camera to HomeAssistant are explored below: a USB camera connected directly to the HA hub; a $10 ESP-CAM converted into an ESPHome webcam, and an ONVIF compliant IP camera with pan and tilt functions. Each has advantages and disadvantages. The UVC-compliant USB camera was the easiest to configure, but must be plugged directly into the HA hub. It provided good images in daylight. The ESP-CAM has WiFi and was the least expensive and straightforward to 46 Silicon Chip Screen 8: the USB camera’s card in the Overview dashboard. Screen 9: the ESP-CAM card with the LED toggle visible. Australia's electronics magazine siliconchip.com.au “configuration.yaml”. Click the red edit icon at the bottom right-hand corner of the screen. Add the code shown in Block #1 at the end of the file (you need to type the indentation spaces exactly like this, not just the text - indents are two spaces), and save it with the red disk icon at the top right. Restart Home Assistant using the cog icon at the top right of the screen. Once HA has restarted, the camera card should appear in the Overview dashboard – see Screen 8. Setting up the ESP-CAM ESP-CAMs have an ESP32 microcontroller attached to a small camera module. If the USB daughterboard was not supplied with your camera, you will need a USB-to-TTL serial adaptor to complete the process. You can find instructions for doing that from siliconchip.au/link/ac5x Now connect the ESP-CAM to a USB port on the HA hub. In ESPHome Builder, click on +NEW DEVICE and name your device ESP-CAM or similar. Select ESP32 as the device type. Click INSTALL, then select “Plug into the computer running ESPHome Device Builder”. A USB Serial device should be identified. Select it, and the firmware should automatically compile and upload. It might take some time for the ESP32 platform files and libraries to download before compilation begins. Once the compilation and ESP32 programming are complete, the ESP-CAM should be visible in the ESPHome Builder tab. Add the code from Block #2 to the device’s YAML configuration file in ESPHome Builder and re-install the firmware wirelessly (again, you must include any spaces at the start of the lines exactly like this). Once the device has rebooted, go to Settings then Devices & services and accept the discovered device, naming it ESPCAM or similar. Re-load the Overview dashboard and a new entry for ESP-CAM, and its associated LED switch should appear within a minute or so – see Screen 9. The ESPCAM LED slider enables the onboard LED. If the camera image does not appear, it is likely that your camera doesn’t follow the original AI-Thinker pinouts. Opening the logs may help you figure out what’s going on. Several other pin-out options are available in siliconchip.com.au CODE BLOCK #1 ## USB_camera.yaml camera: - platform: ffmpeg name: USBcam input: /dev/video0 CODE BLOCK #2 ## ESPCAM.yaml esp32_camera: external_clock: pin: GPIO0 frequency: 20MHz i2c_pins: sda: GPIO26 scl: GPIO27 data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25 href_pin: GPIO23 pixel_clock_pin: GPIO22 power_down_pin: GPIO32 ## Image settings name: ESPcam id: ESPCAM switch: - platform: gpio id: espcam_led name: “ESPCAM LED” pin: 4 CODE BLOCK #3 ## SamsungTV_IR.yaml ## IR funtions for Pico external_components: - source: github://pr#5974 components: [remote_transmitter] refresh: always ## IR infra red remote_transmitter: pin: 0 carrier_duty_percent: 50% ## toggle power on/off button: - platform: template name: “TV on/off” id: TV_toggle on_press: - remote_transmitter.transmit_pronto: data: “paste hex string here” CODE BLOCK #4 {{now() - state_attr(‘’automation.Intrusion’’, ‘’last_triggered’’) > timedelta(minutes = 1) }} CODE BLOCK #5 ## intruder_alert_enable.yaml - platform: template name: “Intruder active” id: Intruder_active optimistic: True the documentation at siliconchip.au/ link/ac5y IP camera setup While integrating an IP camera into HA is straightforward, finding a camera compliant with the ONVIF standard for pan, tilt and zoom (PTZ) can be tricky. Marketplaces like eBay or AliExpress will return hundreds of matches to a search for “ONVIF Australia's electronics magazine These code blocks will be available as a download from siliconchip.com.au/ Shop/6/2482 webcam” or “ONVIF IP camera”. Check in the item’s specifications for a mention of ONVIF compliance. I had the most success with V380 cameras that also indicate ONVIF compliance. Install the camera on your local network using the app that applies to your camera, eg, V380 or V380 Pro. I found the V380 mobile phone app straightforward to use; the cameras behave like October 2025  47 Screens 10 & 11: the IP camera’s dashboard card (left), and the dashboard card with pan and tilt controls added. a WiFi hotspot when first switched on. This time, we’ll launch the installation via a link on the HomeAssistant website. Navigate to the ONVIF page on the HomeAssistant webpage (www.home-assistant.io/integrations/ onvif) and click on the blue ADD INTEGRATION TO MY button. Accept the invitation to open another HA settings page as well as the “Do you want to set up ONVIF” prompt. Allow the device setup to search automatically for your camera. Your camera should appear in the “Select ONVIF device” pop-up options. Select it and click SUBMIT. Name your camera “IP camera” and finish the setup. Refresh the Overview dashboard and the camera should appear, as shown in Screen 10. The pan and tilt functions can’t be enabled in the automatically configured Overview dashboard, as additional code needs to be added to the display card. These functions will be enabled later, when creating a custom dashboard. sign icon inside the dashed box to create the section, then click the “+” sign within the section to create a new card. Type “picture” into the search box and select “Picture glance” from the results. Select your IP camera from the Camera entity drop-down menu. In the “Entities (required)” section, delete the existing entries. Click on SHOW CODE EDITOR immediately below. In the “entities:” section of the existing configuration, below the existing “- entity” line, paste the contents of the IP_camera.yaml file from the download pack (siliconchip.au/ Shop/6/2482) and save the configuration. The “camera_image” line should be after the pasted text. Click DONE to exit editing mode. The pan and tilt controls on the camera card should look like those shown in Screen 11; you can test them now. If the arrows don’t appear on the camera card, it’s likely that you have pasted the file into the wrong spot or your camera’s stream name is different from the one in the file. In the latter case, make all references to the camera the same as the one in the “entity” line. A temperature history chart This section relies on you having built the Satellite described last month, which incorporates a temperature sensor, relay and LED indicating when the relay is on. To create another card for the temperature graph in a new section on the dashboard, enter editing mode and click on the “+” sign. Type “history” into the search box and select “History graph”. Change “Hours to show” to 1. Under the “Entities” heading, delete any existing entity and add “myHome Temperature” from the drop-down list, then save the result. A graph of the temperature over the last hour should appear, as shown in Screen 12. A custom dashboard So far, we’ve relied on the Overview dashboard, which is maintained automatically by HA. While it displays all the enabled devices, more advanced features are not available. The system supports multiple dashboards, so we will create one to enable the pan and tilt functions of the IP camera and to graph temperature over time. Go to Settings, then Dashboards and select + ADD DASHBOARD. Select the “New dashboard from scratch” option and make the Title “myDash”. “Show in sidebar” should be enabled. Select your new dashboard from the main left menu and click on the edit pencil at the top right corner of the screen. To create a card for the IP camera in a new section on the dashboard, click on the four squares and a “+” 48 Silicon Chip Screen 12: the custom temperature-over-time chart shown at the bottom and the relay LED history shown at the very top. Australia's electronics magazine siliconchip.com.au To complete the dashboard, we can add a timeline to show when the thermostat was switched on. Re-open the card by clicking on the pencil that appears when you hover over the control. Add a second entity, “myHome Relay LED” to the card. Click Save and a timeline should appear above the graph. Click DONE to exit editing mode. Place your finger on the temperature sensor. When the LED lights due to the AC On automation triggering, the end of the grey bar should turn yellow as the temperature graph spikes – see the top of Screen 12. A better thermostat The thermostat created in last month’s article lacks a key feature: the ability to easily change the temperature setpoint. HomeAssistant has a generic thermostat integration that can control the relay. First, disable the two existing AC automations in the Automations settings menu by moving their Enable sliders to the left. Go to Devices settings and add an integration called “Generic thermostat (helper)”. Name it “AC Thermostat”; select “Cooling mode”, use the “myHome Temperature” sensor and “myHome Relay LED” as the Actuator switch, then set the Cold tolerance to 1. The minimum and maximum target temperatures can be set to 10 and 30, respectively. Scroll down and click NEXT. Add temperature values into the Comfort and Eco presets, then click SUBMIT and FINISH. The card will appear in the Overview dashboard – see Screen 13. The setpoint is displayed in the centre of the card and is controlled by moving the larger open circle on the gauge. Enable the thermostat by clicking the snowflake icon. The relay LED should switch on when the setpoint is 0.5°C lower than the room temperature, and off when the setpoint is 0.5°C higher. The activity bar above the temperature graph that we created earlier should show the Relay LED’s activity as the thermostat is exercised. To use one of the temperature presets, click on the three dots at the topright of the card. A drop-down menu at the bottom right of the pop-up allows selection of any available presets (Screen 14). Selecting None will revert to the last manual setting. A home air conditioner (especially a siliconchip.com.au split system) is likely to have an infrared remote control. The TV remote control below could readily be adapted for this purpose. IR remote control Adding remote functions for devices with infrared remotes involves adding a button to your dashboard and connecting it to an appropriate code for the IR LED to transmit (like the one on our Satellite). Finding the correct codes for your device may take some hunting around. The most comprehensive source I have found is IRDB (siliconchip.au/ link/ac5z). The free sign-up allows five codes per day to be downloaded. The code begins with a patch to enable the IR function on a Pico. By the time this is in print, the “external_components:” section may no longer be required. If the code compiles properly, then leave it in; otherwise, try without it. A Button input is then defined, which will appear on the dashboard. Finally, get the PRONTO IR code from IRDB and paste it into the “data:” line. A separate section of code starting with “– platform: template” will need to be created for each additional function button (see Block #3). The SamsungTV_IR.yaml code in the download pack includes the code to toggle a Samsung TV’s power. Once the Satellite has been updated, a “TV on/off” button labelled PRESS should appear in the myHome card on the Overview dashboard – see Screen 15. If you have a Samsung TV, point the IR LED toward the TV and press the button. The TV should switch on or off with each button press. The appropriate codes for many other TV brands should be available from the IRDB database. Screens 13 & 14: the thermostat card (above) and accessing the thermostat presets (below). Access from a phone or tablet To provide access to a smartphone or tablet dashboard while connected to your local WiFi network, install the HomeAssistant app for iOS or Android. Start the app & follow the prompts. If you don’t enable location permissions, the device tracking function and the sensors on the mobile device won’t register properly with HA. The Notifications permission will be used in a later example, so enable it now. Enter the username and password you created earlier in HomeAssistant into the app. All HA functions should Australia's electronics magazine Screen 15: myDash on a mobile phone, with the TV on/off button visible near the bottom. October 2025  49 Screen 16: the TailScale website console page. The HomeAssistant entry needs to be made an Exit Node, and the detected subnet approved in the “Edit route settings” dialog. Screen 17: the TailScale control panel after a PC and phone have been added. be available. As mentioned before, creating and using a profile on HA without the ability to administer the system is a good idea for everyday and particularly mobile use. Virtual private network Remote access to HA from outside your local network requires several elements: a URL that is recognisable externally, a way to convert that to an IP address and secure access to the HA hub through your internet router. There are several different approaches to providing remote access to HomeAssistant, which are discussed at siliconchip.au/link/ac60 WunderTech provides a complete examination of the pros & cons of each method at siliconchip.au/link/ac61 Virtual Private Network (VPN) connections are relatively easy to set up and offer a high level of security. Tail­ Scale has a free offering that is a recommended HA option for remote access. TailScale needs to be installed on every device that has remote access. Each connects to TailScale’s cloud service to discover the other members. In most cases, no router settings need to be changed when using TailScale. 50 Silicon Chip The VPN requires setting up a Tail­ Scale account plus configuration of HA and your mobile device. If you find the instructions below difficult to follow, there are several good YouTube tutorials on connecting HA to TailScale. I found the one by Joyce Lin to be helpful (https://youtu.be/EJ3cjoJAaQA). Go to TailScale’s website (https:// tailscale.com) and set up a free account. It requires you to use an existing identity provider rather than setting up a new username and password. If your preferred identity source is not in the list, the OpenID Connect (OIDC) option can provide linkage to a wide range of additional providers. To add the integration in HA, go to the Settings then Add-ons menu and click the + ADD-ON STORE button. Search for “TailScale” and follow the installation prompts. Enable all four options in the configuration panel, then start the add-on and then click the OPEN WEB UI button. Log HomeAssistant into TailScale with the same credentials you used to create the account, re-authenticating if required. Next, connect your Home­ Assistant to your TailNet. The final step of the installation Australia's electronics magazine process on HomeAssistant opens a browser window that logs you into TailScale’s control panel. Under the “homeassistant” entry, there will be several blue indicator boxes – see Screen 16. If they have exclamation marks in circles, click on the ellipsis (…) at the end of the homeassistant line and select “Edit route settings”. Select both check boxes and then Save. The “Exit node” option allows HA to act as a server on your personal TailNet. You can now log into HomeAssistant from any device that is connected to your TailNet. The Subnet router option authorises the HA hub to route traffic from satellite devices through the TailNet. Install the TailScale app on your mobile device from the app store and log in to it. The HA app should now be able to access your hub when outside your wireless network’s range. Similarly, TailScale can be added on a PC – see the “linus” entry on Screen 17. Switching off WiFi on your phone, if it is enabled, will allow this feature to be tested. The HomeAssistant app on your phone will ask for a new IP address. http://homeassistant:8123 should do the trick, as TailScale provides address translation and routing services. After a few seconds, your connection to HA should be restored. An alternative, configured with just a few mouse clicks, is Home Assistant’s Cloud service, which has a 31-day free trial followed by subscriptions at around $11 per month or $110 per year, including GST. Your default HomeAssistant login has full administrator privileges on the remote device. For better security, creating a second, less-privileged account. Go to the Settings then People menu on the main HA screen then click + ADD PERSON and it will lead you through the process. Do not enable the Administrator option for this new account. Thermostat notification Notifications are implemented by creating an action in an automation. To create a new automation, add a Trigger, selecting Entity and then State as the type. In the When panel, select “AC Thermostat” as the entity, “Current action” as the Attribute. Set “From” to Idle and “To” to Cooling, then click on + ADD ACTION at the bottom of the screen, select siliconchip.com.au “Notifications” and “send a persistent notification” Fill in an appropriate message and click the SAVE button – see Screen 18. Each time the virtual AC switches on, a timestamped notification message will appear in the Notifications panel on all connected devices. To disable the automation, go to the Automations menu & move the slider attached to the automation to the left. A PIR intruder alert Now let’s create an automation that produces a notification each time the PIR sensor on the Satellite is triggered. The trigger will be the myHome.PIR entity. Set “From” to Clear and “To” to Detected, then click on “+ ADD ACTION” at the bottom of the screen and select Notifications. If you have set up remote access on a phone, select “send a notification via mobile_app_xxxx”. Put “Intruder alert!” in the message and in the title and click SAVE; name your automation “Intrusion”. If you have not enabled remote access at this point, use the “Persistent notification” option instead. Every time something moves in front of the PIR sensor, a notification message will be sent. If a human intrusion occurs or the cat decides to play in front of the sensor at midnight, you’ll be flooded by messages. A time delay on the automation being re-triggered will limit the number of messages. To delay re-triggering, a condition is added to the automation that detects the last time it was triggered and calculates whether it was longer than one minute ago. The automation is not re-triggered if the time was less than this. Edit the Intrusion automation, using the “And if” clause, and select Template from the “Other conditions” option. Enter the code in Block #4 (all on one line), which is also in the intruder_alert_enable.yaml file, into the “Value template *” box. Save the automation and test it. You should be able to trigger the PIR sensor multiple times, but only receive a notification on your mobile device if the PIR is triggered more than a minute after the last notification. To create a switch to turn off these notifications entirely, place the code from Block #5 directly under the Relay LED switch code and update the Satellite. siliconchip.com.au Edit the Intrusion automation, adding another condition. Select Entity and “myHome.Intruder active”. Set the State field to On, then save the automation. The new switch should appear on the myHome card in the Overview dashboard – see Screen 19. If the switch is off, no notifications should be sent. Two useful tools in debugging automations are the Logbook in the main menu and TRACES when editing the automation. In TRACES, clicking on an icon in the sequence will display what happened at that point in the automation’s flow. Backups Backups are important in maintaining the integrity of your setup over time. HA’s update function triggers a local backup of specific components each time the configuration is changed, or the system is updated. Backup information is stored in several folders on the SD card. To enable regular backups, go to Settings then System then Backups. In the “Backup settings” panel, enable “Use automatic backups” and adjust the Schedule and Retention parameters as desired. In the “Backup data” panel, disable History and Media, as these can generate large video files that may fill the SD card and crash the system. Scroll down to the “Encryption key” panel and download the emergency kit. The encryption key and instructions in the kit will be required to restore from the backup. If you want to save backups externally, HA can access external and cloud storage. I found that the most straightforward path was to make HA’s files accessible via an SMB (CIFS) file share (see siliconchip.au/link/ac62). To do this, install the “Samba share” add-on. Using the Configuration tab at the top of the installation page and add a password for remote access. The Username and Workgroup fields can be left as they are or changed to meet your needs. Start the add-on with “Start on boot” and Watchdog both enabled. After a minute or so, you should be able to see a HOMEASSISTANT host in your computer’s file browser under Network (if using Windows) or the appropriate heading on Mac or Linux (you may need to install the samba package to access it in Linux). If it doesn’t appear, try refreshing or re-opening your file browser window. Map network drives for the “backup” and “config” folders, using the credentials you saved in the Samba configuration tab. Use your PC’s backup tool to regularly save the files. Conclusion In this series, we have touched on some key elements of home automation using the HomeAssistant and ESPHome platforms. We hope it has whetted your appetite to explore more of the many features these platforms SC offer. Screens 18 & 19: setting up the “When” parameters for the AC Thermostat notification (left). The myHome Overview dashboard card with all features enabled (below). Australia's electronics magazine October 2025  51