Announcement

Collapse
No announcement yet.

Fibaro Universal Sensor: A Cautionary Tale

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Fibaro Universal Sensor: A Cautionary Tale

    This is a long read but may prove useful if anyone finds themselves in the same situation.

    I am in the process of redoing my Zwave network, I run HS Linux VM and use a Pi ser2net for comms with a BlackCat USB z-stick.

    I have a Fibaro Universal Sensor that has 4 DS18B20 sensors connected to it, they are distirbuted to get roof temps, garage temp and server rack temp. The probe ends of most are not easily accessed apart from the server rack. This system has been fairly dependable but as I came up to ex then re-include the Fibaro I remember what a hassle it is as you cannot do it on the bench due to needing all the sensors connected for child device creation.

    I have a spare Arduino Uno with ethernet shield and have been looking at the plugin for a while and decided to give it a go for temp monitoring as it overcomes the Fibaro issue. I made up a box and housed the Arduino along with a power supply and terminal strip connections for the sensors. Downloaded the plugin and configured the Arduino and all went well and I left it to run for few days while I figured out what else I could do with the Arduino.

    As it turns out I couldn't move any other functions over to the Arduino so I decided to go back to the Fibaro for the 4 sensors. I reconnected back up my original installtion and re-included the Fibaro and then things went wrong. All the temps were reading roughly 30 deg C higher than they normally would.

    I spent the next day trying re-includes, searching the net for answers, trying some of my other Fibaro's...etc...but nothing seemed to work.

    I dragged the Arduino setup back out and connected everything back onto it to verify that the sensors did still work correctly and they worked fine this way.

    Scratching my head I did some research on the sensors and found that they have one area of NV user memory were the resolution is stored as 2 bits in a word. I looked on the plugin config and noticed that the default resolution sets the 1 wire to 9 bits where as the Fibaro unit is expecting the default sensor resolution of 12 bits. The Fibaro provides no parameter to write to this sensor memory to change resolution. I guessed that maybe the plugin had changed this sensor memory area and the way Fibaro read the sensor return temp word was being impacted as its' programming is expecting a set section of bits in the word.

    I reconnected the Arduino and created a new board for 1 wire tmep and set the resolution to 12 bits. I then powered down the Arduino and connected the sensors to the Fibaro and re-included it, success all the temps were back to reading correctly.

    I hope this post can help out anyone in the future who finds themselves in this situation, I couldn't find anything on the net about this.
Working...
X