These are corrections of errors found in the book Control Your Home with Raspberry Pi: Secure, Modular, Open-Source and Self-sufficient only after its publication:
- page 29: "Compute Model 3" at the bottom of the page should be "Compute Module 3".
- page 40: The
raspi-config
menu options have changed. The hostname is now in 1 System Options - S4 Hostname. The timezone is in 5 Localisation Options - L2 Timezone. The memory split has moved to 4 Performance Options - P2 GPU Memory. - page 48: Installing Docker as in section 2.9.1 now automatically installs Docker Compose, so you don't need to install it anymore with pip. If not, you can still install Docker Compose manually with
sudo apt install docker-compose-plugin
. Note that with this new plugin, you need to run the command asdocker compose
, notdocker-compose
. - page 50: Due to a bug in libseccomp2, the
python:3.8-alpine
Docker image fails on the 32-bit version of Raspberry Pi OS Buster. One solution is to change the image topython:3.9-slim-buster
. This is fixed in the docker-compose file in this repository.
- page 69: The sentence "The window you're seeing now is the Certificate Manager." should be "The window you're seeing now is the Certificate Manager, and you need its tab Authorities."
- page 71: Figure 3.10 should be another figure, showing the
./mkcert pi-red.home pi-red
command. - page 76: The
docker-compose restart
command should bedocker-compose up -d
so the containers are recreated from the new images, not only restarted (which they are then from the old images). - page 77: The sentence "If you have created virtual environments, you have to do repeat the same actions" should be "If you have created virtual environments, you have to repeat the same actions".
- page 84: Since the release of Mosquitto 2.0, the
mosquitto.conf
configuration file needs a lineallow_anonymous true
if you want to allow connections without username and password. Moreover, theport
option is now deprecated and should be changed to thelistener
option (also on page 86 and 101). All this is fixed in the Mosquitto configuration files in this repository. - page 93: MQTT.fx is no longer free. An open-source alternative with roughly the same functionality is mqttk. You can install it from PyPI using
pip3 install mqttk
and it works on Windows, macOS and Linux.
- page 150: The location of the configuration file of
bt-mqtt-gateway
in its Docker container has changed from/config.yaml
to/application/config.yaml
. This has been fixed in the docker-compose file in this repository.
- page 161: The line
service:
indocker-compose.yml
should beservices:
. Because thertl_433
project now recommends the Docker container hertzg/rtl_433, you should change the image. Because there's currently an issue with the Alpine 3.13 based image, use the imagehertzg/rtl_433:alpine-3.12-latest
. The new image requires a change to the first volume: this should be./containers/rtl433tomqtt:/etc/rtl_433:ro
. All this is fixed in the file in this repository. - page 162: Make sure to check the output of the
lsusb
command before you enter the values for theidVendor
andidProduct
attributes in theudev
rule: they should match your device. For instance if you seeID 0bda:2832
on the line of your RTL-SDR stick, you needATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832"
in theudev
rule. - page 165: The sentence "You can find see this with:" below the orange box should be "You can see this with:".
- page 193: Zigbee2MqttAssistant isn't maintained anymore. Zigbee2MQTT has its own frontend now with a web interface for your Zigbee devices. Consult its documentation for the configuration. You can remove the
zigbee2mqttassistant
container from the book's Docker Compose file. - page 197: In the book I generate the Zigbee network key with a complex command. In the mean time, Zigbee2MQTT has implemented an easier way: just add
network_key: GENERATE
to theadvanced
section in Zigbee2MQTT'sconfiguration.yaml
. The next startup of the container it generates a random network key.
- page 205: The command to generate a password hash in the Node-RED container still works, but since Node-RED 1.1.0 you can also use the easier command
docker exec -ti node-red node-red admin hash-pw
(the former occurrence ofnode-red
is the container name, the latter the name of the command).
- page 257: Currently the ReSpeaker drivers aren't compatible with recent kernel versions of Raspberry Pi OS. If the installation of the drivers with
sudo ./install.sh
fails, one solution is to clone the fork https://github.com/HinTak/seeed-voicecard/ instead of https://github.com/respeaker/seeed-voicecard and install this one. Hopefully these changes will be merged back in the official repository soon.