One-wire sensors not detected
I have a Neuron M203, an 8-port 1-wire hub, and 6 1-wire temperature sensors with 1.5m leads type Product code: 2014019. This has been in storage for a couple of years, but now I'm trying to set it up. I'm using the original Node-RED OS:
Linux M203-sn499 5.4.72-v7+ #1356 SMP Thu Oct 22 13:56:54 BST 2020 armv7l GNU/Linux
The problem is 1-wire operation is extremely unreliable. Sometimes no sensors at all appear in the UniPi control panel, usually one or two appear, twice now I have seen all six.
Sometimes an extra sensor will spontaneously appear. Sometimes one or more sensors will just stop working. Rebooting the Neuron may make things better or worse.
It is usually a bit more reliable with only one sensor connected, but often even a single sensor is not found, although it may appear after a few minutes.
I'm using a 3m long cat5 cable to connect between the UniPi and the hub. I have checked it is wired correctly as the documentation states.
What prompts the UniPi to search for 1-wire devices, and how often does this occur? Can I force a search? Is there any debug output that might help, or do I just have faulty hardware?
The method of searching/reading 1-Wire devices depends on the SW used. In SW EVOK, searching/reading is handled using the OWFS package.
If you have a 1-Wire cable, for example, next to a power line, it can cause a lot of interference, to which the 1-Wire bus is very susceptible. Furthermore, it is possible that this is an error in the connection of the 1-Wire Hub.
I recommend studying this article about 1-Wire, where the connection, as well as the whole issue surrounding 1-Wire, is dealt with in detail.
If you want to achieve the highest possible stability and only use original DS18b20 sensors (which can also perform parasitic mode), I recommend using the Unipi xG18 (RS485 Modbus device), to which up to 8 DS18b20 sensors can be connected. Due to the higher stability of RS485, it is possible to stably connect a total of up to 80 sensors to one RS485 bus (using ten Unipi xG18).
@AVsetula Thanks for your reply. To help troubleshooting, I made up an RJ45 connector breakout and viewed the 'data out' pin on an oscilloscope. It soon became clear that the problem is one of intermittent connection. I connected the scope at the end of the device chain (socket 8 on the hub) and if I connect all the intermediate sensors, and tape their cables to the bench so there is no strain on the RJ45 connector, all is well. I can see nice sharp 0V to 5V data transitions on the scope.
But, any movement on the cables causes an intermittent loss of contact, immediately apparent from the 'illegal' voltages that appear on the scope display.
I have disassembled the hub and buzzed out all the solder joints: no problems. The issue seems to be either with the RJ45 plug/socket connection, or with the sensor cable/RJ45 plug crimp integrity.
It doesn't help that the insulation on the temperature sensor cables is extremely stiff, so that any movement of the cable puts strain on the RJ45 connector.
I think I will need to arrange for cable clamps to hold the sensor cables in place. The hub will be mounted in a plastic box, so this is feasible: I should be able to 3D-print something.