Unipi + 1W-8R



  • Hello,

    your cable is OK (because the output of /opt/evok/evok.py shows that it detects the sensor and prints its address). But your /etc/evok.conf file is not read correctly (or not modified as you said).

    Try adding 'print address' to /opt/evok/config.py to the end of this section elif devclass == 'SENSOR' or devclass == '1WDEVICE': (cca line 84)

    and send here the output of /opt/evok/evok.py (and please use the```
    syntax



  • hi, i have reinstalled everything fresh, and this is the new config file, i have also added the 'Print address' and i run 'sudo python /opt/evok/evok.py' amd this is the config and the results:

    #!! don't use # for inline comments
    
    [MAIN]
    webname = unipi
    staticfiles = /var/www/evok
    ;password = test
    ;rpcpassword = test
    secret = ut5kB3hhf6VmZCujXGQ5ZHb1EAfiXHcy
    port = 80
    enable_cors = False
    cors_domains = *
    
    [OWBUS_1]
    owbus = --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    ; [s] how often is made searching 
    
    #[SENSOR_1]	     ; onewire thermometer
    #bus = 1		     ; link to OWBUS_X
    #address = 28527B930500001F
    #type = DS18B20
    #interval = 1
    
    [I2CBUS_1]
    busid = 1     		;[integer] id of bus /dev/i2c-X
    
    [EPROM_1]
    i2cbus = 1
    address = 0x50
    size = 256
    
    [MCP_1]
    i2cbus = 1		; link to I2CBUS_X
    address = 0x20		; i2c address
    
    [RELAY_1]
    mcp = 1			; link to MCP_X
    pin = 7
    
    [RELAY_2]
    mcp = 1			; link to MCP_X
    pin = 6
    
    [RELAY_3]
    mcp = 1
    pin = 5
    
    [RELAY_4]
    mcp = 1
    pin = 4
    
    [RELAY_5]
    mcp = 1
    pin = 3
    
    [RELAY_6]
    mcp = 1
    pin = 2
    
    [RELAY_7]
    mcp = 1
    pin = 1
    
    [RELAY_8]
    mcp = 1
    pin = 0
    
    [AICHIP_1]
    i2cbus =1
    address = 0x68
    
    [AI_1]
    chip=1
    channel=0
    bits=18
    gain=1
    ;correction = 5.558737622
    ;correction = 5.564920867
    corr_rom = 1
    corr_addr = 0xf0
    interval=2
    
    [AI_2]
    chip=1
    channel=1
    bits=18
    gain=1
    ;correction = 5.558737622
    ;correction = 5.564920867
    corr_rom = 1
    corr_addr = 0xf4
    interval=1
    
    [GPIOBUS_1]
    
    [AO_1]
    gpiobus = 1
    frequency = 100
    
    [DI_1]
    gpiobus = 1
    pin=4
    debounce = 0
    #Enable counting on rising/falling edge or disable it
    #By default(or parameter not present) this function is disabled
    #Can be turned on on all on-board digital inputs (not inputs on 1Wire or other extensions)
    #counter_mode = rising
    #counter_mode = falling
    #counter_mode = disabled
    
    [DI_2]
    gpiobus = 1
    pin=17
    debounce = 0
    
    [DI_3]
    gpiobus = 1
    pin=27
    debounce = 0
    
    [DI_4]
    gpiobus = 1
    pin=23
    debounce = 0
    
    [DI_5]
    gpiobus = 1
    pin=22
    debounce = 0
    
    [DI_6]
    gpiobus = 1
    pin=24
    debounce = 0
    
    [DI_7]
    gpiobus = 1
    pin=11
    debounce = 0
    
    [DI_8]
    gpiobus = 1
    pin=7
    debounce = 0
    
    [DI_9]
    gpiobus = 1
    pin=8
    debounce = 0
    
    [DI_10]
    gpiobus = 1
    pin=9
    debounce = 0
    
    [DI_11]
    gpiobus = 1
    pin=25
    debounce = 0
    
    [DI_12]
    gpiobus = 1
    pin=10
    debounce = 0
    
    ;[DI_13]
    ;gpiobus = 1
    ;pin=31
    ;debounce = 0
    
    ;[DI_14]
    ;gpiobus = 1
    ;pin=30
    ;debounce = 0
    
    ;
    ;Example of 8xRelay extension module addon (EMO-R8) on address 0x21
    ;
    ;[MCP_2]
    ;i2cbus = 1
    ;address = 0x21
    
    ;[RELAY_9]
    ;mcp = 2
    ;pin = 7
    
    ;[RELAY_10]
    ;mcp = 2
    ;pin = 6
    
    ;[RELAY_11]
    ;mcp = 2
    ;pin = 5
    
    ;[RELAY_12]
    ;mcp = 2
    ;pin = 4
    
    ;[RELAY_13]
    ;mcp = 2
    ;pin = 3
    
    ;[RELAY_14]
    ;mcp = 2
    ;pin = 2
    
    ;[RELAY_15]
    ;mcp = 2
    ;pin = 1
    
    ;[RELAY_16]
    ;mcp = 2
    ;pin = 0
    
    ;
    ;Example of Analog Output extension module EMO-Ao4/12
    ;
    ;[PCA9685_1]
    ;i2cbus = 1
    ;address = 0x40
    ;frequency = 400
    ;
    ;[AO_2]
    ;pca = 1
    ;channel = 0
    ;
    ;[AO_3]
    ;pca = 1
    ;channel = 1
    ;
    ;[AO_4]
    ;pca = 1
    ;channel = 2
    ;
    ;[AO_5]
    ;pca = 1
    ;channel = 3
    
    ;Example of 1W-4R/4DI extension module, 1W-8R is almost the same just replace inputs with relays
    ;
    ; -first of all map a new 1Wire sensor with appropriate address, type, and interval
    ; -can be used both SENSOR or 1WDEVICE syntax
    ; -reading interval is crucial to achieve requested performance, default interval is 15s
    ;
    [1WDEVICE_2]
    bus = 1
    address = 290F63180000007C
    type = DS2408
    interval = 1
    
    [1WRELAY_10]
    sensor = 2
    pin = 0
    
    [1WRELAY_11]
    sensor = 2
    pin = 1
    
    [1WRELAY_12]
    sensor = 2
    pin = 2
    
    [1WRELAY_13]
    sensor = 2
    pin = 3
    
    [1WINPUT_20]
    sensor = 2
    pin = 4
    
    [1WINPUT_21]
    sensor = 2
    pin = 5
    
    [1WINPUT_22]
    sensor = 2
    pin = 6
    
    [1WINPUT_23]
    sensor = 2
    pin = 7
    
    

    This is the results of running the above command:

    pi@raspberrypi /home/evok $ sudo python /opt/evok/evok.py
    Listening on port: 80
    UniPi version:1.1
    Entering measure loop
    Entering 1wire loop
    New sensor DS2408 - 290F63180000007C
    New WebSocket client connected
    [I 151206 07:13:15 web:1946] 200 GET /rest/all/ (192.168.1.8) 7.69ms
    

    i hope this helps.



  • Any other change in the config file (eg removing relay 8 on unipi or changing the number of relay eg from 8 to 9 works)?



  • @tomas_hora:3c7karnk:

    Any other change in the config file (eg removing relay 8 on unipi or changing the number of relay eg from 8 to 9 works)?

    it tired it did not work, any idea why this is happening ?
    to be honest i am starting to give up.

    thanks Tomas.



  • The thing is that you are not editing the same file as evok is reading (/etc/evok.conf) or you do not have the permissions solved. Evok tries to open /etc/evok.conf but if it does not succeed it tries to open evok.conf file in the same directory as it is running in (e.g. /opt/evok/evok.conf - this does not exist by default).

    I have one last tip for you, try editing /opt/evok/evok.py - add this right after line 437 ( before the line containing Config.read(path)):

    print path
    with open(path, 'r') as fin:
        print fin.read()
    
    

    And send me the output of the evok when you run int manually.



  • Hi Tomas,

    just to be clear there are 2 Evok.conf
    1- /etc/evok.conf
    2- evok's main installation directory: /home/evok/etc/evok.conf

    when you say 'The thing is that you are not editing the same file as evok is reading (/etc/evok.conf) ' you mean the first path right ?
    thanks.



  • I guess that folder /home/evok/ is the one where you installed evok from. That is not used after evok is installed and can be deleted… This leaves you with one config file /etc/evok.conf



  • ok,
    the bad news: i was editing the wrong file the.

    the good news there is progress, i edited /etc/evok.conf and then i ran:

    sudo python /opt/evok/evok.py
    ```and i got this:
    

    Listening on port: 88
    UniPi version:1.1
    104
    Error in config section RELAY_9 - No option 'mcp' in section: 'RELAY_9'
    Error in config section RELAY_10 - No option 'mcp' in section: 'RELAY_10'
    Error in config section RELAY_11 - No option 'mcp' in section: 'RELAY_11'
    Error in config section RELAY_12 - No option 'mcp' in section: 'RELAY_12'
    Error in config section RELAY_13 - No option 'mcp' in section: 'RELAY_13'
    Error in config section RELAY_14 - No option 'mcp' in section: 'RELAY_14'
    Error in config section RELAY_15 - No option 'mcp' in section: 'RELAY_15'
    Error in config section RELAY_16 - No option 'mcp' in section: 'RELAY_16'
    Entering measure loop
    Entering 1wire loop
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    Converting in progress
    ...

    i went online: 192.168.1.3:88 and only relay 1 was showing


  • Now you will figure it out by yourself… Just make sure that you have the 1WRELAY not RELAY



  • IT WORKED!!

    thank you so, Tomas, you have no idea how happy i am.!
    i will disappear for few days (to forget how annoying i am) and come back with more questions if thats ok.

    thanks again!