Raspberry - Shell code for DS2413



  • I'am using the following shell command to get the 1Wire information values of a DS2413:

    wget -qO- http://127.0.0.1:88/rest/sensor/28FFD200B4160313/value

    I'am able to receive the A-IO and B-IO values with the upper command.

    Please let me know if it is possible to the sent following code as well via wget to the DS2413, I would like to change the DS2413 Input to Output in order operate consumers with this chip.

    echo -e '\x0' |sudo dd of=/sys/bus/w1/devices/3a-000000211837/output bs=1 count=1

    (The '\x0' part should turn-on both outputs of the DS2413. Use '\x01' to turn on output 1 only, '\x02' to turn on output 2 only and '\x03' to turn them both off.)

    I appreciate your assitance.


  • administrators



  • Tks for your fast answer. I tried it really hard to follow your instructions but unfurtunalety without success.

    I'am able to read IO/A and IO/B only; DS2413 as Input.

    I have still the same problem that I can not change both Inputs to Outputs; I do not understand your instruction, Could you pls revert with an example and more detailed informations. Tks for your assistance in advance.


  • administrators

    @seecosmea

    Could you post your evok.conf here?

    You need to change the [1WINPUT_XYZ] to [1WRELAY_XYZ] for the appropriate pin. There are examples of both 1WINPUT and 1WRELAY in the configuration file.



  • [MAIN]
    config_version = 2.4					
    use_experimental_api = False			; Currently in Alpha - known issues
    regenerate_api_docs = False				; Active only with the experimental API setting
    log_level = ERROR   					; One of INFO, DEBUG, WARNING, ERROR, CRITICAL
    log_file = /var/log/evok.log			; Log file to use; will be cleared on boot
    port = 8080								; !!! Internal API port - only change if you are certain you know what you are doing; FOR OUR WEB INTERFACE THE PORT SHOULD BE CHANGED IN "/etc/evok-nginx.conf" INSTEAD !!!
    ;modbus_port = 0
    ;modbus_address = *			
    webhook_enabled = False					; Enables webhook notification - see e.g. https://sendgrid.com/blog/whats-webhook/
    webhook_address = http://127.0.0.1:80   ; Put your server endpoint address here (e.g. http://123.123.123.123:/wh )
    webhook_device_mask = ["input","wd"]	; List of device types to notify on (written as a JSON list) - adding AI will generate a large amount of messages!
    webhook_complex_events = False			; EVOK will send POST requests with the same data as WebSocket, rather than an empty GET request
    wifi_control_enabled = False			; !!! REQUIRES THE UNIPIAP WIFI CONTROLLER TO BE INSTALLED !!! Will allow evok to control the internal Neuron wifi 
    soap_server_enabled = False				; Enables the simple SOAP server; use only if you need the functionality
    soap_server_port = 8081					; !!! IF SOAP SERVER IS ENABLED, THIS PORT NEEDS TO BE UNIQUE (i.e. different from the port setting above) !!!
    
    [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]								;EPROM device will not be used anymore, eprom should be handled by kernel module
    ;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 map a new 1Wire sensor with appropriate address, type, and interval
    ; - Can use both SENSOR or 1WDEVICE syntax
    ; - Reading interval is crucial to achieve expected performance, default interval is 15s
    ;
    ;[1WDEVICE_2]
    ;bus = 1
    ;address = 29F39A17000000BC
    ;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
    


  • pls find my DS2413 details below:

    {"value": null, "typ": "DS2413", "circuit": "3AFF60340000009E", "dev": "1wdevice", "address": "3AFF60340000009E"}
    

  • administrators

    @seecosmea Why dont you modify your config as shown in the example?

    [1WDEVICE_2]
    bus = 1
    address = 3AFF60340000009E
    type = DS2413
    interval = 1
    
    [1WRELAY_10]
    sensor = 2
    pin = 0
    
    

    an so on...??



  • Thanks a lot :) !! Greeting from Shanghai