Sensor connectivity and reliability

  • Is there a way to know when the sensor was last reporting a measurement?

    I am planning to make a kind of supervision system with multiple sensors that monitor each other so that a faulty reading or failing sensor would not cause any dramatic consequences in the logic. So the reliability of each sensor could be calculated and e.g. fire alarm would be given only if the conclusion can be drawn from multiple verified sensor readings. So the sensors in house would have primary function ans several secondary functions to verify other sensors (whenever possible). E.g. a camera could be used to double check if a light was actually lit or not although the primary function would be surveillance (or just recording the last month).

  • Admin


    If you are running Vera as a controller, the plugin keeps track of last updated value for each sensor.

    The scenario you're describing is quite advanced and requires logic on the controller side.

  • @hek
    Is that the last sensor reading time shown somewhere in Vera UI5?
    Sorry for the stupid question, but is the luup code the correct way to implement logic on the controller side?

  • Admin

    Yes, you can see the time for the last reported value for each arduino-node on Vera.

  • The first step I am planning is to track in the sensor node if measurement of a sensor value (e.g. DHT or Dallas) fails for some reason (loose wire) and then report this fact as another reliability sensor value. On the controller side it would be then easy to raise an alarm.

    The question is what sensor type should I use to report an array of success/fail values. It would clutter the UI if each is a separate "light".

  • Contest Winner


    An option would be to create a sensor sensor node. Nodes can transmit messages to one another.

    • Set up the sensor sensor as a motion sensor.

    • Transmit messages from each sensor to the sensor sensor.

    • If a message does not get received within established parameters... signal motion.

    Or, just (as Hek pointed out) do it server side.