• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Bug with unipi extensions / only Adress 0 work!

    Official EVOK API
    2
    3
    614
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      burnscm last edited by

      Neuron L403 S/N: 02
      xS10 S/N: 85
      xS10 S/N: 86

      unipian (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 blinking

      logfile

        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
      
      1 Reply Last reply Reply Quote 0
      • B
        burnscm last edited by

        i fond the problem. the party setting was false!

        Martin Kudláček 1 Reply Last reply Reply Quote 0
        • Martin Kudláček
          Martin Kudláček @burnscm last edited by

          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

          1 Reply Last reply Reply Quote 0
          • First post
            Last post