Just to throw in comment (or 2) about the ds18b20’s, I’ve heard, here and elsewhere that they can be troublesome, but I have used hundreds of these and never had one fail. I cannot say i haven’t had some duff reading but they are rare and the majority get filtered out, resulting in a missing reading rather than a contaminated data feed.
This maybe because I don’t trust low DC over any real distance so I have always used 5v to stay well away from the ds18b20’s lower limit, but I always read the data line at 3.3v levels. This came about from the original emonTx v2 having an error in the PCB that powered the ds18b20 at 5v despite the ATmeag328p being run at 3.3v. It worked well and never had any issues, i have just chosen to continue that approach to this day. eg when I connect ds18b20’s to a RPi, I will power them from 5v rather than the 3.3v 50mA rail. A project last year had 80 ds18b20’s connected to one RPi this way and read every 10secs at 12bit resolution (4 buses), there was an insignificant number of “null” values which was totally acceptable.
Do not be tempted to use more than a single core (of the Cat5e) for each line and do not ground the unused conductors, I use a twisted pair for gnd and data, then a single core from another twisted pair for 5v. When connecting multiple ds18b20’s, try to keep the distance between the master and each ds18b20 unique, ie star configuration with all the sensors the same length is the worse possible configuration, when chaining sensors along a Cat5e, do not have a 1meter spur, then 50cm further along, a 50cm spur, make the second one shorter or longer so as not to clash with the first sensor distance. Personally I solder splice each sensor’s wiring into the Cat5e with glue filled heatshrink to add mechanical strength and water tightness so there is little or no chance of a bad connection (fingers crossed).