Bug with unipi extensions / only Adress 0 work!
-
Neuron L403 S/N: 02
xS10 S/N: 85
xS10 S/N: 86unipian (new)
I have tested various adresses. Only one Extension works on adress 0 !
evok.conf
#!!! Do not use '#' for comments !!! [MAIN] ; !!! ALL MAIN SECTION OPTIONS ARE MANDATORY !!! config_version = 2.5 ; Configuration file version, DO NOT CHANGE! use_schema_verification = False ; 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 TE$ log_level = ERROR ; Minimum severity of messages to be logged; 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/ev$ 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) !!! [NEURON_1] global_id = 1 ; Mandatory, REQUIRED TO BE UNIQUE allow_register_access = False ; Optional, False default scan_frequency = 10 ; Optional, 10 default, scanning frequency in [Hz] scan_enabled = True ; Optional, True default [EXTENSION_1] global_id = 2 device_name = xS10 modbus_uart_port = /dev/extcomm/0/0 neuron_uart_circuit = 1_01 ;allow_register_access = True address = 0 scan_frequency = 1 scan_enabled = True [EXTENSION_2] global_id = 3 device_name = xS10 modbus_uart_port = /dev/extcomm/0/0 neuron_uart_circuit = 1_01 ;allow_register_access = True address = 15 scan_frequency = 1 scan_enabled = True
RX LED flashes on both
TX LED flashes only on Adress 0 !!RUN: on Adress 0 fast flashes
on Adress 15 slow blinkinglogfile
File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 9 - read error 2019-05-05 13:44:44,156 - evok - ERROR - No cached value of register 1026 on unit 15 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1069, in run yielded = self.gen.send(value) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 625, in parse_definition self.parse_feature(m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 601, in parse_feature self.parse_feature_di(max_count, m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 467, in parse_feature_di regpolarity=m_feature['polar_reg'], legacy_mode=self.legacy_mode) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1464, in __init__ curr_ds = self.arm.neuron.modbus_cache_map.get_register(1, self.regmode, unit=self.arm.modbus_address)[0] File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 15 - read error 2019-05-05 13:44:47,154 - evok - ERROR - No cached value of register 1026 on unit 14 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1069, in run yielded = self.gen.send(value) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 625, in parse_definition self.parse_feature(m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 601, in parse_feature self.parse_feature_di(max_count, m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 467, in parse_feature_di regpolarity=m_feature['polar_reg'], legacy_mode=self.legacy_mode) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1464, in __init__ curr_ds = self.arm.neuron.modbus_cache_map.get_register(1, self.regmode, unit=self.arm.modbus_address)[0] File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 14 - read error 2019-05-05 13:47:06,184 - evok - ERROR - No cached value of register 1026 on unit 15 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1069, in run yielded = self.gen.send(value) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 625, in parse_definition self.parse_feature(m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 601, in parse_feature self.parse_feature_di(max_count, m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 467, in parse_feature_di regpolarity=m_feature['polar_reg'], legacy_mode=self.legacy_mode) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1464, in __init__ curr_ds = self.arm.neuron.modbus_cache_map.get_register(1, self.regmode, unit=self.arm.modbus_address)[0] File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 15 - read error 2019-05-05 13:47:09,172 - evok - ERROR - No cached value of register 1026 on unit 14 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1069, in run yielded = self.gen.send(value) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 625, in parse_definition self.parse_feature(m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 601, in parse_feature self.parse_feature_di(max_count, m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 467, in parse_feature_di regpolarity=m_feature['polar_reg'], legacy_mode=self.legacy_mode) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1464, in __init__ curr_ds = self.arm.neuron.modbus_cache_map.get_register(1, self.regmode, unit=self.arm.modbus_address)[0] File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 14 - read error 2019-05-05 13:50:03,202 - evok - ERROR - No cached value of register 1026 on unit 14 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1069, in run yielded = self.gen.send(value) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 625, in parse_definition self.parse_feature(m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 601, in parse_feature self.parse_feature_di(max_count, m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 467, in parse_feature_di regpolarity=m_feature['polar_reg'], legacy_mode=self.legacy_mode) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1464, in __init__ curr_ds = self.arm.neuron.modbus_cache_map.get_register(1, self.regmode, unit=self.arm.modbus_address)[0] File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 14 - read error 2019-05-05 13:50:06,190 - evok - ERROR - No cached value of register 1026 on unit 15 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1069, in run yielded = self.gen.send(value) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 625, in parse_definition self.parse_feature(m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 601, in parse_feature self.parse_feature_di(max_count, m_feature, board_id) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 467, in parse_feature_di regpolarity=m_feature['polar_reg'], legacy_mode=self.legacy_mode) File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1464, in __init__ curr_ds = self.arm.neuron.modbus_cache_map.get_register(1, self.regmode, unit=self.arm.modbus_address)[0] File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 61, in get_register raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit)) Exception: No cached value of register 1026 on unit 15 - read error 2019-05-05 13:53:57,200 - evok - ERROR - No cached value of register 1026 on unit 15 - read error Traceback (most recent call last): File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 343, in readboards yield board.parse_definition(self.hw_dict, 1) File "/opt/evok/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/opt/evok/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "/opt/evok/local/lib/p
-
i fond the problem. the party setting was false!
-
Hello @burnscm,
moreover, the Modbus doesn't allow to have address 0 and you cannot set the address 0 via our DIP switches. When the DIP switches are in "0" position, the extension uses the address which is stored in the NVRAM, which, by default, is 15.Best regards,
Martin