Many hackers are naturally concerned about the privacy issues surrounding many “smart” devices today, but it is difficult to say that the ability to remotely control devices at home is inconvenient. Enter self hosted open source projects, such as home assistant. This provides a framework for building a home automation system without selling your soul information, but as you expected, you must make some efforts to make full use of it.
For example, look at the Phillips ac4014 air purifier, [Anton] is connected to the home assistant through esp32. Instead of falling into the quagmire of reverse engineering, he chose a simple method to connect two relays on the power supply and fan speed buttons; This allows the microcontroller to easily control the device without affecting the function of the original control.
However, since these front panel controls are still effective, this means that [Anton] needs a way for esp32 to detect the status of the device and report it to the home assistant so that everything can be synchronized. Therefore, he looked around on the PCB for a track of power on when the air purifier was started and running, and he connected it to the pin of the microcontroller through a transistor. This allows the firmware to determine whether the machine is running, not just by checking whether the appropriate pin goes high.
Speaking of firmware, [Anton] decided to use esphome instead of writing his own code from scratch. This project allows you to quickly add new devices to home assistant by providing a relatively simple yaml configuration file for firmware (he provides an example). In fact, he provided many examples in this project, up to the annotation image of PCB, which shows where to connect wires. He has done a lot of services for everyone who has the same model of air purifier.
The device does not seem to have any ability to actually check indoor air quality, but we recently saw a low-cost IKEA product that can do this. Even better, it can be easily modified to report its findings over the network using esp8266.