1-Wire sensors in Evok

  • Trying to read the values from DS18B20 temperature sensors. When I connect single sensor, I can get the value in the UniPi Control panel, it is listed in the REST API (when I do the rest/all call) but I am unable to figure out the request to get just single value. I tried many variants, tried to follow schema /rest/ai/{circuit} mentioned in the documentation, but all I can get is the 500 internal error. What is the correct rest call to get this value?
    Another problem I face is that if I connect 1Wire hub, I can see just the same single sensor, while others are invisible. I am using the correct topology. Any idea what could go wrong there ? How often is the 1Wire bus scanned for changes?
    The third issue is that I would like to connect a different kind of sensor, which is not listed in the list of supported 1Wire devices...wouldn't it be possible to add a support of any 1Wire device and just pass the raw data through the interface? Thanks.

  • administrators

    @actiwerks First of all, if you want to ask evok for a value of 1Wire sensor, you have to use /rest/sensor/sensor_address - NOT /rest/ai/ which is for analog inputs. You have to substitute the sensor_addres by the address which you can find in the output of /rest/all

    Do you use our hub? If so, do you follow the topology displayed on the hub and also here: https://www.unipi.technology/hardware_documentation/1-wire-network-46

    The scan interval for new sensor can be configured in evok.conf, search for part [OWBUS_1]

  • Thanks for the tip, this Rest call works for me. Perhaps it is good idea to include it to the API docs (https://evok-1.api-docs.io/1.01/) I couldn't find any note about the "sensor" usage there.
    I use the same hub (athough got it elsewhere) think I got the topology right, have three sensors connected, and only can see two of them. Will try to check if one of them is not faulty.

  • administrators

    @actiwerks Check if you see them all if only 1 is connected at each time. Also try to re-do the RJ45 connector if it will not work.

  • This is where it gets weird. My OWBUS section is as follows :

    owbus = /dev/i2c-1 --i2c=/dev/i2c-1:ALL ; Scanned bus (--i2c=/dev/i2c-1:ALL or localhost:2122 or 'u' for USB dongle)
    interval = 3 ; [s] Default sensor reading
    scan_interval = 300

    That means the scan is 300 miliseconds, correct? I only have one sensor connected, but the Evok web interface still shows values from two sensors...looks like it stopped updating after first read. Any ideas ?

Log in to reply