#!!! Do not use '#' for comments !!! [MAIN] config_version = 2.5 ; Mandatory, Configuration file version, DO NOT CHANGE! use_schema_verification = False ; Mandatory, Enabling this will deny any requests that do not match the JSON Schema; NOTE THAT THIS RESULTS IN A SIGNIFICANT INCREASE IN LATENCY AND SHOULD NOT BE USED EXCEPT FOR TESTING log_level = ERROR ; Mandatory, Minimum severity of messages to be logged; one of INFO, DEBUG, WARNING, ERROR, CRITICAL log_file = /var/log/evok.log ; Mandatory, Log file to use; will be cleared on boot port = 8080 ; Mandatory, !!! 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 ; Optional, enables Modbus access to hardware inputs ;modbus_address = * ; Optional, enables Modbus access to hardware inputs webhook_enabled = False ; Mandatory, Enables webhook notification - see e.g. https://sendgrid.com/blog/whats-webhook/ webhook_address = http://127.0.0.1:80 ; Mandatory, Put your server endpoint address here (e.g. http://123.123.123.123:/wh ) webhook_device_mask = ["input","wd"] ; Mandatory, 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 ; Mandatory, EVOK will send POST requests with the same data as WebSocket, rather than an empty GET request wifi_control_enabled = False ; Mandatory, !!! REQUIRES THE UNIPIAP WIFI CONTROLLER TO BE INSTALLED !!! Will allow evok to control the internal wifi soap_server_enabled = False ; Mandatory, Enables the simple SOAP server; use only if you need the functionality soap_server_port = 8081 ; Mandatory, !!! IF SOAP SERVER IS ENABLED, THIS PORT NEEDS TO BE UNIQUE (i.e. different from the port setting above) !!! [OWBUS_1] owbus = /dev/i2c-1 ; Mandatory, scanned bus (--i2c=/dev/i2c-1:ALL or localhost:2122 or 'u' for USB dongle) interval = 3 ; Mandatory, [s] length of sensor reading scan_interval = 300 ; Mandatory, [s] How often the scanning is done ; Configuration example for a 1Wire thermometer ;[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