From simple, standard electric cable I built a capacitive sensor to assess the water level in my water container. While the circuit was replicated from this blog (thanks for sharing!), I’d like to share how I built the actual capacitor.
Using ultrasonic distance sensors I monitor water levels for my garden irrigation system. I have an underground rainwater cistern and a wooden barrel as an interim water storage in the sun to have the water warmed up before use. I started off with the classic HC-SR04 ultrasonic distance sensor, but it turned out to be a bad idea for the warm water barrel: Moisture and temperatures up to 40°C in the summer sun made the sensor rot within half a year down to complete failure. I switched to AJ-SR04M watertight sensor (which seems to be very similar to JSN-SR04T which is often also mentioned on the internet). This has a higher minimum distance (~20 cm vs. ~2 cm), and a much larger opening angle (45° to 75° vs. 15°) as compared to the HC-SR04, and in this post I describe how I dealt with that.
In order to prevent my venetian window blinds to go down on timer in front of my open window-style terrace door, potentially locking me out, I needed to know if the door handle was in the “open” position. However, I did not want to use a battery powered radio sensor, but the existing door open/close magnetic sensor in the door frame. Here’s my solution.
The installation of my fuel cell heating required a bi-directional power meter. Bonn Netz, my local power network provider, uses meters of type EasyMeter Q3M which have two infrared interfaces: A bidirectional D0 interface, and a read-only info interface. I use the info interface (INFO-DSS) to read out power consumption and production of the three phases. For this, I built an optical interface, a 3D printed housing for it, and use the UART of a Raspberry Pi with python to get the values.
I want to integrate my new Viessmann Vitovalor 300-P fuel cell heating into my home automation. For this, I use the Optolink interface, vcontrold from the openv community, and create my own configuration files from several sources.