API Listen PORT EVOK
-
Hi,
I don't really understand the difference between the two listen ports (API, REST,... ??)
I would like to change the listen port, which is used for the GET and POST requests in REST, and the same is used for the simple web page demo for example.
I can't install apache2 in my Raspberry because of an error on the port 80 already used by EVOK...
I am using UniPi V1.1
Can you help me please ?
Thank youRegards
Raph -
Hi @Raph7454!
The website port automatically includes (redirection to) the API port as well. You can set the website to 88 and the API to 8080 and it should work with Apache.
Edit:
You can also delete NGINX with sudo apt-get remove nginx, which will disable the inbuilt website and only leave the API -
Hi Tomas !
Thank you.
I've already installed EVOK, and what is the procedure to change the website port to 88 for example ?
in /etc/evok.conf ??If I understand you correctly, when NGINX is deleted the website is disable but the GET and POST requests still work ?
the requests should be directed to the port 8080
ex : http://my_ad_ip:8080/rest/relay/1Thank you
Raph -
Yes, exactly. You can change the website port in /etc/evok-nginx.conf; follow the NGINX documentation on how, it's a very standard and simple NGINX setup.
-
Thank you Tomas, it works !
Another problem :
I bought a 8 relays add-on EMO R8, and enable in /etc/evok.conf the second mcp
[MCP_2]
i2cbus = 1
address = 0x21)[RELAY_9]
mcp = 2
pin = 7and so on... until [RELAY_16]
but it does'nt work !
With RPC in Python :
if I try : s.relay_set(9,1)
I have a protocol error in return ProtocolError: (-32603, u'Internal Error')And in a POST Request : the server returns "Invalid device circuit number 9"
Any idea ?
Regards
-
Did you restart EVOK with systemctl restart evok? Otherwise I'm not certain, if possible it would help if you could post your whole configuration file.
-
Yes I restart EVOK
Here is my evok.conf file :
#!!! Do not use '#' for comments !!!
[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 = 1974 ; !!! 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 = /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 ; [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 = 7Thanks !
Raph -
The configuration looks correct - are you sure that the address jumpers are set correctly? As per: https://forum.unipi.technology/topic/75/trying-to-connect-8-relay-addon-emo-r8/11