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

    After installation of a xG18 extention I get a Server Error 500 for the Rest Json

    Official EVOK API
    4
    22
    245
    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.
    • S
      Stoeffel last edited by Stoeffel

      After installation of a xG18 extention I get a Server Error 500 for the Rest Json.
      With a fresh install of EVOK everithing runs fine. Then I installed a xG18 module and made the configuration in the /etc/evok.conf as follow:

      [EXTENSION_xG18_1]
      global_id = 2                                  ; Mandatory, REQUIRED TO BE UNIQUE
      device_name = xG18                             ; Mandatory, must match name of .yaml modbus map file in /etc/hw_definitions
      modbus_uart_port = /dev/extcomm/0/0            ; Mandatory
      ;neuron_uart_circuit = 1_01                     ; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus $
      ;allow_register_access = True                   ; Optional, False default, is mandatory with third-party devices
      ;address = 1                                    ; Optional, 1 default
      ;scan_frequency = 10                            ; Optional, 10 default, scanning frequency in [Hz]
      ;scan_enabled = True                            ; Optional, True default
      ; Note that the following settings will be inherited by other devices sharing the same port, i.e. /dev/extcomm/0/0
      ;baud_rate = 19200                              ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD$
      ;parity = N                                     ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD$
      ;stop_bits = 1                                  ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD$
      

      After that the Extension appear in the EVOK Webfrontend. But when I made a
      http://myunipi/json/all
      I get a:
      c9e1c0bb-e402-4ee6-bd1f-2d409730390e-grafik.png

      Do you have any Idea why? When I uncomment the xG18 section the Server Error disapeer.

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

        Hello @Stoeffel,
        please, send the whole configuration and the version of Evok you are using. The version can be accessed via: dpkg -l | grep evok.

        Thank you,
        Martin

        1 Reply Last reply Reply Quote 0
        • S
          Stoeffel last edited by Stoeffel

          Hello Martin

          Thanks for reply. I made following steps after a sudo apt-get update and upgrade to find the problem:

          sudo apt-get remove --purge evok && sudo apt-get install evok
          

          ... after that, the json Server runs well, but after uncomment the three Mandatory lines for my xG18 Extension and after a "sudo service evok restart"
          the Server Quit with Error 500. I can reproduce this every time.

          dpkg -l | grep evok

          any@anysps:~ $ dpkg -l | grep evok
          ii  evok                            2.3.8~stretch                     armhf        UniPi API based on the Tornado webserver
          
          
          

          cat /etc/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 TESTING
          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/evok-nginx.conf" INSTEAD !!!
          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
          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) !!!
          force_immediate_state_changes = False		; Outputs will return the value they are set to, rather than the value that the device is currently aware of
          websocket_all_filtered = False			; 'All' WebSocket requests will be subject to the filtering set by 'filter'
          
          [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
          
          ; Below you can find examples for connecting devices over UART; first example is a Neuron extension while the second is a custom third-party device
          ; Devices sharing a port use the port settings of the first device on that port (baud rate, parity, stop bits)
          ; !!! Note that device_name has to match a filename in the /etc/hw_definitions directory !!! See /etc/hw_definitions/CUSTOM_MODBUS_DEVICE.yaml for an example
          
          ;[EXTENSION_1]
          ;global_id = 2					; Mandatory, REQUIRED TO BE UNIQUE
          ;device_name = xS10				; Mandatory, must match name of .yaml modbus map file in /etc/hw_definitions
          ;modbus_uart_port = /dev/extcomm/0/0 		; Mandatory
          ;neuron_uart_circuit = 1_01			; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/ttyUSB0 or /dev/ttyS0)
          ;allow_register_access = True 			; Optional, False default, is mandatory with third-party devices
          ;address = 1					; Optional, 1 default
          ;scan_frequency = 10 				; Optional, 10 default, scanning frequency in [Hz]
          ;scan_enabled = True 				; Optional, True default
          ; Note that the following settings will be inherited by other devices sharing the same port, i.e. /dev/extcomm/0/0
          ;baud_rate = 19200				; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
          ;parity = N					; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
          ;stop_bits = 1					; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
          
          [EXTENSION_xG18_1]
          global_id = 2                                  ; Mandatory, REQUIRED TO BE UNIQUE
          device_name = xG18                             ; Mandatory, must match name of .yaml modbus map file in /etc/hw_definitions
          modbus_uart_port = /dev/extcomm/0/0            ; Mandatory
          ;neuron_uart_circuit = 1_01                     ; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/$
          ;allow_register_access = True                   ; Optional, False default, is mandatory with third-party devices
          ;address = 1                                    ; Optional, 1 default
          ;scan_frequency = 10                            ; Optional, 10 default, scanning frequency in [Hz]
          ;scan_enabled = True                            ; Optional, True default
          ; Note that the following settings will be inherited by other devices sharing the same port, i.e. /dev/extcomm/0/0
          ;baud_rate = 19200                              ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
          ;parity = N                                     ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
          ;stop_bits = 1                                  ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
          
          
          ;[EXTENSION_2]
          ;global_id = 3					; Mandatory, REQUIRED TO BE UNIQUE
          ;device_name = CUSTOM MODBUS DEVICE		; Mandatory, must match name of .yaml modbus map file in /etc/hw_definitions
          ;modbus_uart_port = /dev/extcomm/0/0 		; Mandatory
          ;neuron_uart_circuit = 1_01			; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/ttyUSB0 or /dev/ttyS0)
          ;allow_register_access = True 			; Mandatory with third-party devices
          ;address = 1 					; Optional, 15 default
          ;scan_frequency = 2 				; Optional, 1 default, scanning frequency in [Hz]
          ;scan_enabled = True 				; Optional, True default
          
          [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
          
          ; See below for 1Wire extension module configuration
          ; Example for the 1W-4R/4DI extension module, 1W-8R is almost the same, only with inputs instead of relays
          ;
          ; - Map a new 1Wire sensor with the appropriate address, type and interval
          ; - The syntax can be either SENSOR or 1WDEVICE
          ; - Setting the correct reading interval is crucial to achieve ideal performance; the 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
          
          
          1 Reply Last reply Reply Quote 0
          • S
            Stoeffel last edited by

            Hello Martin
            Do you need further information? I have a second installation with a new M203. If it helps I can try to repeat the issue there again.

            Kind regards Stefan

            1 Reply Last reply Reply Quote 0
            • S
              Stoeffel last edited by Stoeffel

              Hello Martin
              Can we please look at my issue with the Server Error 500 again.
              When restart evok by "sudo service evok restart" the rest API works properly.
              After app. 7s it hangs with Server error 500 as discribed above.
              In the meantime I am on evok 2.4.6.
              Here are the log Files:
              nginx error.log

              xy@sps:/var/log/nginx $ cat error.log
              2021/06/30 21:02:10 [error] 1334#1334: *585 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.7, server: _, request: "GET /ws HTTP/1.1", upstream: "http://127.0.0.1:8080/ws", host: "192.168.1.70"
              2021/06/30 21:02:10 [error] 1334#1334: *585 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.7, server: _, request: "GET /ws HTTP/1.1", upstream: "http://[::1]:8080/ws", host: "192.168.1.70"
              2021/06/30 21:04:46 [error] 1335#1335: *592 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.70, server: _, request: "GET /ws HTTP/1.1", upstream: "http://127.0.0.1:8080/ws", host: "192.168.1.70"
              2021/06/30 21:04:46 [error] 1335#1335: *592 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.70, server: _, request: "GET /ws HTTP/1.1", upstream: "http://[::1]:8080/ws", host: "192.168.1.70"
              

              I can't input full .log content because I got a spam filter warning.

              evok.log after restart:

              xy@sps:/var/log $ cat evok.log
              2021-06-30 22:23:44,588 - evok - INFO - Starting using config file /etc/evok.conf
              2021-06-30 22:23:44,674 - evok - INFO - YAML Definition loaded: xS10.yaml, type: 3, definition count 0
              2021-06-30 22:23:44,761 - evok - INFO - YAML Definition loaded: xS30.yaml, type: 3, definition count 1
              2021-06-30 22:23:44,874 - evok - INFO - YAML Definition loaded: IAQ.yaml, type: 3, definition count 2
              2021-06-30 22:23:45,183 - evok - INFO - YAML Definition loaded: /etc/hw_definitions/BuiltIn/L503.yaml, type: UniPiBuiltIn
              2021-06-30 22:23:45,276 - evok - INFO - YAML Definition loaded: xS40.yaml, type: 3, definition count 3
              2021-06-30 22:23:45,322 - evok - INFO - YAML Definition loaded: xG18.yaml, type: 3, definition count 4
              2021-06-30 22:23:45,431 - evok - INFO - YAML Definition loaded: xS51.yaml, type: 3, definition count 5
              2021-06-30 22:23:45,539 - evok - INFO - YAML Definition loaded: xS50.yaml, type: 3, definition count 6
              2021-06-30 22:23:45,577 - evok - INFO - YAML Definition loaded: CUSTOM_MODBUS_DEVICE.yaml, type: 3, definition count 7
              2021-06-30 22:23:45,660 - evok - INFO - YAML Definition loaded: xS11.yaml, type: 3, definition count 8
              2021-06-30 22:23:45,673 - evok - INFO - YAML Definition loaded: evok-alias.yaml, type: 2, definition count 0
              2021-06-30 22:23:45,722 - evok - INFO - HTTP server listening on port: 8080
              2021-06-30 22:23:45,761 - evok - INFO - SPI client started
              2021-06-30 22:23:45,767 - evok - INFO - Reading the UART board on Modbus address 2
              2021-06-30 22:23:45,770 - evok - INFO - Entering OWW loop with PID 8238
              2021-06-30 22:23:45,771 - evok - INFO - Reading the UART board on Modbus address 4
              2021-06-30 22:23:45,773 - evok - INFO - Reading the UART board on Modbus address 8
              2021-06-30 22:23:45,776 - evok - INFO - Reading the UART board on Modbus address 1
              2021-06-30 22:23:45,779 - evok - INFO - Reading SPI boards
              2021-06-30 22:23:45,824 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa0050> al_lights_kitchen
              2021-06-30 22:23:45,826 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa5490> al_lights_bedroom
              2021-06-30 22:23:46,440 - evok - DEBUG - New WebSocket client connected
              2021-06-30 22:23:47,221 - evok - DEBUG - New sensor DS18B20 - 285076EB09000092
              2021-06-30 22:23:47,229 - evok - DEBUG - New sensor DS18B20 - 2830A9D309000034
              2021-06-30 22:23:47,238 - evok - DEBUG - New sensor DS18B20 - 283278D5090000C0
              2021-06-30 22:23:47,244 - evok - DEBUG - New sensor DS18B20 - 28CA66EB09000090
              2021-06-30 22:23:47,252 - evok - DEBUG - New sensor DS18B20 - 281EA6EA09000025
              2021-06-30 22:23:47,259 - evok - DEBUG - New sensor DS18B20 - 2891EBEA090000EE
              2021-06-30 22:23:47,266 - evok - DEBUG - New sensor DS18B20 - 28097AD30900005F
              2021-06-30 22:23:47,273 - evok - DEBUG - New sensor DS18B20 - 28D92ED409000097
              2021-06-30 22:23:47,283 - evok - DEBUG - New sensor DS18B20 - 2885FFD3090000D1
              2021-06-30 22:23:47,288 - evok - DEBUG - New sensor DS18B20 - 289D6AD509000047
              2021-06-30 22:23:47,297 - evok - DEBUG - New sensor DS18B20 - 28BD9ED309000041
              2021-06-30 22:23:47,305 - evok - DEBUG - New sensor DS18B20 - 2877B5EB090000CD
              2021-06-30 22:23:47,309 - evok - DEBUG - New sensor DS18B20 - 280FB2EB090000A5
              2021-06-30 22:24:00,858 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa0050> al_lights_kitchen
              2021-06-30 22:24:00,859 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa5490> al_lights_bedroom
              2021-06-30 22:24:03,870 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa0050> al_lights_kitchen
              2021-06-30 22:24:03,872 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa5490> al_lights_bedroom
              2021-06-30 22:24:08,379 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa0050> al_lights_kitchen
              2021-06-30 22:24:08,380 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa5490> al_lights_bedroom
              2021-06-30 22:24:11,390 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa0050> al_lights_kitchen
              2021-06-30 22:24:11,391 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75fa5490> al_lights_bedroom
              2021-06-30 22:24:48,425 - evok - DEBUG - New WebSocket client connected
              2021-06-30 22:24:49,543 - evok - DEBUG - New WebSocket client connected
              2021-06-30 22:32:18,525 - evok - INFO - Shutting down
              2021-06-30 22:32:19,819 - evok - INFO - Starting using config file /etc/evok.conf
              2021-06-30 22:32:19,904 - evok - INFO - YAML Definition loaded: xS10.yaml, type: 3, definition count 0
              2021-06-30 22:32:19,992 - evok - INFO - YAML Definition loaded: xS30.yaml, type: 3, definition count 1
              2021-06-30 22:32:20,105 - evok - INFO - YAML Definition loaded: IAQ.yaml, type: 3, definition count 2
              2021-06-30 22:32:20,414 - evok - INFO - YAML Definition loaded: /etc/hw_definitions/BuiltIn/L503.yaml, type: UniPiBuiltIn
              2021-06-30 22:32:20,506 - evok - INFO - YAML Definition loaded: xS40.yaml, type: 3, definition count 3
              2021-06-30 22:32:20,553 - evok - INFO - YAML Definition loaded: xG18.yaml, type: 3, definition count 4
              2021-06-30 22:32:20,661 - evok - INFO - YAML Definition loaded: xS51.yaml, type: 3, definition count 5
              2021-06-30 22:32:20,770 - evok - INFO - YAML Definition loaded: xS50.yaml, type: 3, definition count 6
              2021-06-30 22:32:20,808 - evok - INFO - YAML Definition loaded: CUSTOM_MODBUS_DEVICE.yaml, type: 3, definition count 7
              2021-06-30 22:32:20,892 - evok - INFO - YAML Definition loaded: xS11.yaml, type: 3, definition count 8
              2021-06-30 22:32:20,905 - evok - INFO - YAML Definition loaded: evok-alias.yaml, type: 2, definition count 0
              2021-06-30 22:32:20,953 - evok - INFO - HTTP server listening on port: 8080
              2021-06-30 22:32:20,992 - evok - INFO - SPI client started
              2021-06-30 22:32:20,998 - evok - INFO - Reading the UART board on Modbus address 2
              2021-06-30 22:32:21,001 - evok - INFO - Entering OWW loop with PID 9135
              2021-06-30 22:32:21,002 - evok - INFO - Reading the UART board on Modbus address 4
              2021-06-30 22:32:21,004 - evok - INFO - Reading the UART board on Modbus address 8
              2021-06-30 22:32:21,007 - evok - INFO - Reading the UART board on Modbus address 1
              2021-06-30 22:32:21,010 - evok - INFO - Reading SPI boards
              2021-06-30 22:32:21,054 - evok - INFO - Alias loaded: <neuron.Relay object at 0x76463f10> al_lights_kitchen
              2021-06-30 22:32:21,056 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75f052d0> al_lights_bedroom
              2021-06-30 22:32:39,082 - evok - INFO - Alias loaded: <neuron.Relay object at 0x76463f10> al_lights_kitchen
              2021-06-30 22:32:39,084 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75f052d0> al_lights_bedroom
              2021-06-30 22:32:42,096 - evok - INFO - Alias loaded: <neuron.Relay object at 0x76463f10> al_lights_kitchen
              2021-06-30 22:32:42,097 - evok - INFO - Alias loaded: <neuron.Relay object at 0x75f052d0> al_lights_bedroom
              
              

              By the way, can I configure the value reading speed (and refresh time in evok) of the 1Wire Sensors connected to the xG18 devices?

              Thank you
              Stefan

              1 Reply Last reply Reply Quote 0
              • S
                Stoeffel last edited by

                I was able to narrow down the problem further and I think the following error messages in the nginx.log are triggered when the server error 500 occurs:

                xy@sps:/var/log/nginx $ cat error.log
                2021/07/01 23:05:44 [alert] 1321#1321: *1 open socket #12 left in connection 2
                2021/07/01 23:05:44 [alert] 1321#1321: *2 open socket #13 left in connection 3
                2021/07/01 23:05:44 [alert] 1321#1321: *3 open socket #14 left in connection 4
                2021/07/01 23:05:44 [alert] 1321#1321: *4 open socket #15 left in connection 5
                2021/07/01 23:05:44 [alert] 1321#1321: aborting
                
                

                As soon as I comment out the xG18 in the evok.conf, the error messages are gone and the server runs perfectly.

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

                  Hi @Stoeffel ,
                  I tried to reproduce the error, but without any luck. I used:

                  Neuron S103
                  This OS image: https://kb.unipi.technology/_media/files:software:os-images:neuron-opensource-os_image-20210426.0.zip
                  Then I installed evok (apt update && apt install evok -y)
                  Replaced the /etc/evok.conf with the one you provided
                  Rebooted the PLC
                  The Evok starts without any problem and I can see the temperature:
                  56bf3062-5aef-45c7-bddb-1096ca0a79d6-image.png

                  Can you please try the procedure from above?

                  Thank you and have a nice day,
                  Martin

                  1 Reply Last reply Reply Quote 0
                  • S
                    Stoeffel last edited by Stoeffel

                    Hello Martin
                    Thanks for your reply.
                    And <IP_Neuron>/josn/all shows correct values? Or Server Error 500?
                    In the Webfrontend of evok I have also correct values.

                    Stefan

                    1 Reply Last reply Reply Quote 0
                    • S
                      Stoeffel last edited by

                      Hello Martin

                      Here's what I did:

                      • Downloaded your image and copied it to a new SD card.

                      • Set network parameters.

                      • Logged in via ssh and executed the following:
                        sudo apt-get update && sudo apt-get upgrade
                        sudo apt-get install evok

                      check if evok frontend is running --> okay
                      check if <IP>/json/all is running --> okay

                      • Configure xG18 in evok.conf (version above)

                      • restart evok

                      check if evok frontend is running --> okay
                      check if <IP>/json/all is running --> Server Error 500
                      801cd975-8cf0-4e25-91b0-95b632091116-grafik.png

                      If its easier I can open a Open VPN vor you to the Neuron for debugging.
                      I have been trying to solve the problem for more than a year now, and I bought the 4 xG18s specifically to avoid the problems with the owfs. I would be happy if we could solve the problem. By the way, I've informed and work together with klaus from fhem forum that the xG18 extensions are correctly recognised in FHEM. That's done now.

                      Thanks Stefan

                      1 Reply Last reply Reply Quote 0
                      • S
                        Stoeffel last edited by Stoeffel

                        Hello Martin
                        I have some more information for you.
                        I have now connected another xG18 to my M203. I can reproduce the problem there exactly the same as with the L503 in the post above. Possibly the problem is with all Neurons versions the same.
                        My xG18 are V1.0

                        I also have the feeling that the Evok frontend is updated much more slowly with connected xG18 and sometimes hangs. However, the inputs and outputs work perfectly.

                        I have also updated the NGINX server from the bulleye repository to version 1.18 because I had read a report in the forum with similar log entries as errors, which are patched from V.1.17 onwards. Unfortunately, this was not the solution.

                        Kind regards
                        Stefan

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

                          Hello @Stoeffel,
                          thank you for the information. I am able to replicate the problem now. I have forwared the issue to my colleague who takes care the Evok and I'll get back to you as soon as I will now more, probably next week.

                          Thank you and have a nice day,
                          Martin

                          1 Reply Last reply Reply Quote 0
                          • M
                            martin_triska administrators last edited by

                            Hello @Stoeffel,

                            the issue should be fixed in the current release. Please upgrade to version 2.4.8.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Stoeffel last edited by

                              Hello Martin

                              I updated to 2.4.8. I can't see any difference. The problem is the same.

                              <IP>/json/all:

                              2f4a960f-7b3e-4de9-b5b1-7db1a947c097-grafik.png

                              Also Modbus stops working after 1-5min. (Rx Tx stop blinking)

                              <IP>/rest/all works properly.

                              Greetings Stefan

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

                                Hello @Stoeffel,
                                with the 2.4.8 it looks ok from my side.

                                This is /json/all:
                                {"status": "success", "data": [{"counter_modes": ["Enabled", "Disabled"], "glob_dev_id": 1, "modes": ["Simple", "DirectSwitch"], "value": 0, "circuit": "1_01", "debounce": 50, "counter": 0, "counter_mode": "Enabled", "dev": "input", "mode": "Simple"}, {"counter_modes": ["Enabled", "Disabled"], "glob_dev_id": 1, "modes": ["Simple", "DirectSwitch"], "value": 0, "circuit": "1_02", "debounce": 50, "counter": 0, "counter_mode": "Enabled", "dev": "input", "mode": "Simple"}, {"counter_modes": ["Enabled", "Disabled"], "glob_dev_id": 1, "modes": ["Simple", "DirectSwitch"], "value": 0, "circuit": "1_03", "debounce": 50, "counter": 0, "counter_mode": "Enabled", "dev": "input", "mode": "Simple"}, {"counter_modes": ["Enabled", "Disabled"], "glob_dev_id": 1, "modes": ["Simple", "DirectSwitch"], "value": 0, "circuit": "1_04", "debounce": 50, "counter": 0, "counter_mode": "Enabled", "dev": "input", "mode": "Simple"}, {"relay_type": "digital", "glob_dev_id": 1, "pwm_duty": 0, "dev": "relay", "modes": ["Simple", "PWM"], "pwm_freq": 39, "value": 0, "alias": "al_lights_kitchen", "mode": "Simple", "circuit": "1_01", "pending": false}, {"relay_type": "digital", "glob_dev_id": 1, "pwm_duty": 0, "dev": "relay", "modes": ["Simple", "PWM"], "pwm_freq": 39, "value": 0, "alias": "al_lights_bedroom", "mode": "Simple", "circuit": "1_02", "pending": false}, {"pwm_duty": 0, "glob_dev_id": 1, "pwm_freq": 39, "modes": ["Simple", "PWM"], "value": 0, "circuit": "1_03", "pending": false, "relay_type": "digital", "dev": "relay", "mode": "Simple"}, {"pwm_duty": 0, "glob_dev_id": 1, "pwm_freq": 39, "modes": ["Simple", "PWM"], "value": 0, "circuit": "1_04", "pending": false, "relay_type": "digital", "dev": "relay", "mode": "Simple"}, {"glob_dev_id": 1, "unit": "V", "value": 0.010469025995341785, "circuit": "1_01", "range_modes": ["10.0"], "modes": ["Voltage", "Current"], "range": "10.0", "dev": "ai", "mode": "Voltage"}, {"modes": ["Voltage", "Current", "Resistance"], "value": 0.0, "glob_dev_id": 1, "dev": "ao", "circuit": "1_01", "unit": "V", "mode": "Voltage"}, {"value": 0, "circuit": "1_01", "dev": "led", "glob_dev_id": 1}, {"value": 0, "circuit": "1_02", "dev": "led", "glob_dev_id": 1}, {"value": 0, "circuit": "1_03", "dev": "led", "glob_dev_id": 1}, {"value": 0, "circuit": "1_04", "dev": "led", "glob_dev_id": 1}, {"circuit": "1_01", "value": 0, "glob_dev_id": 1, "dev": "wd", "timeout": 5000, "was_wd_reset": 0, "nv_save": 0}, {"glob_dev_id": 1, "last_comm": 0.014560937881469727, "ver2": "2.4", "sn": 1, "circuit": "1", "model": "S103", "dev": "neuron", "board_count": 1}, {"uart_circuit": "None", "dev": "extension", "glob_dev_id": 2, "last_comm": 1.0246500968933105, "circuit": "UART_1_2", "model": "xG18", "uart_port": "/dev/extcomm/0/0"}, {"conf_value": 3262, "glob_dev_id": 1, "sw_address": 0, "parity_modes": ["None", "Odd", "Even"], "stopb_modes": ["One", "Two"], "speed_modes": ["2400bps", "4800bps", "9600bps", "19200bps", "38400bps", "57600bps", "115200bps"], "dev": "uart", "circuit": "1_01", "parity_mode": "None", "stopb_mode": "One", "speed_mode": "19200bps"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_8", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_4", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_5", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_6", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_7", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_1", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_2", "unit": "\u00b0C"}, {"name": "temperature", "value": 327.68, "glob_dev_id": 2, "valid": "false", "dev": "unit_register", "circuit": "UART_1_2_3", "unit": "\u00b0C"}, {"period_2": 2, "period_3": 2, "period_1": 2, "period_6": 2, "period_7": 2, "period_4": 2, "period_5": 2, "period_8": 2, "dev": "ext_config", "glob_dev_id": 2, "circuit": "UART_1_2", "address": 15}]}

                                This is my /etc/evok.conf:

                                
                                [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 TESTING
                                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/evok-nginx.conf" INSTEAD !!!
                                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
                                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) !!!
                                force_immediate_state_changes = False           ; Outputs will return the value they are set to, rather than the value that the device is currently aware of
                                websocket_all_filtered = False                  ; 'All' WebSocket requests will be subject to the filtering set by 'filter'
                                
                                [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
                                
                                ; Below you can find examples for connecting devices over UART; first example is a Neuron extension while the second is a custom third-party device
                                ; Devices sharing a port use the port settings of the first device on that port (baud rate, parity, stop bits)
                                ; !!! Note that device_name has to match a filename in the /etc/hw_definitions directory !!! See /etc/hw_definitions/CUSTOM_MODBUS_DEVICE.yaml for an example
                                
                                [EXTENSION_1]
                                global_id = 2                                   ; Mandatory, REQUIRED TO BE UNIQUE
                                device_name = xG18                              ; Mandatory, must match name of .yaml modbus map file in /etc/hw_definitions
                                modbus_uart_port = /dev/extcomm/0/0             ; Mandatory
                                ;neuron_uart_circuit = 1_01                     ; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/ttyUSB0 or /dev/ttyS0)
                                ;allow_register_access = False                  ; Optional, False default, is mandatory with third-party devices
                                ;address = 1                                    ; Optional, 1 default
                                ;scan_frequency = 10                            ; Optional, 10 default, scanning frequency in [Hz]
                                ;scan_enabled = True                            ; Optional, True default
                                ; Note that the following settings will be inherited by other devices sharing the same port, i.e. /dev/extcomm/0/0
                                ;baud_rate = 19200                              ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
                                ;parity = N                                     ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
                                ;stop_bits = 1                                  ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
                                
                                ;[EXTENSION_2]
                                ;global_id = 3                                  ; Mandatory, REQUIRED TO BE UNIQUE
                                ;device_name = CUSTOM MODBUS DEVICE             ; Mandatory, must match name of .yaml modbus map file in /etc/hw_definitions
                                ;modbus_uart_port = /dev/extcomm/0/0            ; Mandatory
                                ;neuron_uart_circuit = 1_01                     ; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/ttyUSB0 or /dev/ttyS0)
                                ;allow_register_access = True                   ; Mandatory with third-party devices
                                ;address = 1                                    ; Optional, 15 default
                                ;scan_frequency = 2                             ; Optional, 1 default, scanning frequency in [Hz]
                                ;scan_enabled = True                            ; Optional, True default
                                
                                [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
                                
                                ; See below for 1Wire extension module configuration
                                ; Example for the 1W-4R/4DI extension module, 1W-8R is almost the same, only with inputs instead of relays
                                ;
                                ; - Map a new 1Wire sensor with the appropriate address, type and interval
                                ; - The syntax can be either SENSOR or 1WDEVICE
                                ; - Setting the correct reading interval is crucial to achieve ideal performance; the 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
                                

                                Please, verify that the configuration is the same. If it still doesn't work, can you please stop the evok and run it manually? It will show more information about the error.

                                systemctl stop evok
                                /opt/evok/bin/python /opt/evok/lib/python2.7/site-packages/evok/evok.py
                                1 Reply Last reply Reply Quote 0
                                • S
                                  Stoeffel last edited by

                                  Hello Martin
                                  I checked again the evok.conf
                                  I have exactly the same settings as you.
                                  Here the output:

                                  user@sps:~ $ sudo /opt/evok/bin/python /opt/evok/lib/python2.7/site-packages/evok/evok.py
                                  [I 210721 21:36:07 config:73] eprom: UniPi Neuron L503 version: 1.0 serial: 0x62
                                  [I 210721 21:36:07 evok:1894] Starting using config file /etc/evok.conf
                                  /opt/evok/lib/python2.7/site-packages/evok/config.py:96: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
                                    self.definitions += [yaml.load(yfile)]
                                  [I 210721 21:36:07 config:97] YAML Definition loaded: xS10.yaml, type: 3, definition count 0
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: xS30.yaml, type: 3, definition count 1
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: IAQ.yaml, type: 3, definition count 2
                                  /opt/evok/lib/python2.7/site-packages/evok/config.py:103: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
                                    self.neuron_definition = yaml.load(yfile)
                                  [I 210721 21:36:08 config:104] YAML Definition loaded: /etc/hw_definitions/BuiltIn/L503.yaml, type: UniPiBuiltIn
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: xS40.yaml, type: 3, definition count 3
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: xG18.yaml, type: 3, definition count 4
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: xS51.yaml, type: 3, definition count 5
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: xS50.yaml, type: 3, definition count 6
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: CUSTOM_MODBUS_DEVICE.yaml, type: 3, definition count 7
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: xS11.yaml, type: 3, definition count 8
                                  [I 210721 21:36:08 config:97] YAML Definition loaded: evok-alias.yaml, type: 2, definition count 0
                                  [I 210721 21:36:08 evok:1964] HTTP server listening on port: 8080
                                  [I 210721 21:36:09 modbusclient_tornado:128] SPI client started
                                  [I 210721 21:36:09 modbusclient_rs485:347] UART client started
                                  [I 210721 21:36:09 neuron:334] Reading the UART board on Modbus address 2
                                  [I 210721 21:36:09 owclient:445] Entering OWW loop with PID 2074
                                  [I 210721 21:36:09 modbusclient_rs485:347] UART client started
                                  [I 210721 21:36:09 neuron:334] Reading the UART board on Modbus address 3
                                  [I 210721 21:36:09 modbusclient_rs485:347] UART client started
                                  [I 210721 21:36:09 neuron:334] Reading the UART board on Modbus address 4
                                  [I 210721 21:36:09 modbusclient_rs485:347] UART client started
                                  [I 210721 21:36:09 neuron:334] Reading the UART board on Modbus address 1
                                  [I 210721 21:36:09 neuron:215] Reading SPI boards
                                  [C 210721 21:36:09 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 285076EB09000092
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 2830A9D309000034
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 283278D5090000C0
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 28CA66EB09000090
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 281EA6EA09000025
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 2801BF790B0000F3
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 2891EBEA090000EE
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 28097AD30900005F
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 28492EEB090000F4
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 28D92ED409000097
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 2885FFD3090000D1
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 2895EBD40900006F
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 289D6AD509000047
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 28BD9ED309000041
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 289391D40900000D
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 284B90D309000023
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 2877B5EB090000CD
                                  [D 210721 21:36:11 owclient:335] New sensor DS18B20 - 280FB2EB090000A5
                                  [C 210721 21:36:18 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:19 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:21 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:21 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:21 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:21 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [E 210721 21:36:21 modbusclient_rs485:259]   Unrequested message: <modbusclient_rs485.AsyncErrorResponse object at 0x75f5b510>
                                  [D 210721 21:36:21 neuron:97] device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:21 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:21 sync:383] cleanup recv buffer before send: 
                                  [C 210721 21:36:22 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:22 sync:383] cleanup recv buffer before send: 0x31
                                  [C 210721 21:36:22 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:22 sync:383] cleanup recv buffer before send: 
                                  [C 210721 21:36:33 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:33 sync:383] cleanup recv buffer before send: 0x0
                                  [C 210721 21:36:43 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:45 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:45 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:45 sync:383] cleanup recv buffer before send: 
                                  [C 210721 21:36:46 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [I 210721 21:36:48 web:2064] 101 GET /ws (127.0.0.1) 6.56ms
                                  [D 210721 21:36:48 evok:162] New WebSocket client connected
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:48 sync:383] cleanup recv buffer before send: 0x0
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:48 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:50 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:51 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:51 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:51 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:51 sync:383] cleanup recv buffer before send: 0x0
                                  [C 210721 21:36:53 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:53 sync:383] cleanup recv buffer before send: 0x0
                                  [C 210721 21:36:53 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:53 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:53 sync:383] cleanup recv buffer before send: 0x80
                                  [C 210721 21:36:53 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:36:54 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:36:54 sync:383] cleanup recv buffer before send: 0x0
                                  [C 210721 21:37:05 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:37:05 sync:383] cleanup recv buffer before send: 
                                  [C 210721 21:37:05 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:37:06 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:37:06 sync:383] cleanup recv buffer before send: 0x2
                                  [C 210721 21:37:14 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:37:14 sync:383] cleanup recv buffer before send: 0x2
                                  [C 210721 21:37:22 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [C 210721 21:37:23 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:37:23 sync:383] cleanup recv buffer before send: 
                                  [C 210721 21:37:35 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:37:35 sync:383] cleanup recv buffer before send: 
                                  [C 210721 21:37:37 modbusclient_rs485:232] SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [W 210721 21:37:37 sync:383] cleanup recv buffer before send: 0x2
                                      Traceback (most recent call last):
                                        File "/opt/evok/local/lib/python2.7/site-packages/tornado/ioloop.py", line 605, in _run_callback
                                          ret = callback()
                                        File "/opt/evok/local/lib/python2.7/site-packages/tornado/stack_context.py", line 277, in null_wrapper
                                          return fn(*args, **kwargs)
                                        File "/opt/evok/lib/python2.7/site-packages/evok/modbusclient_rs485.py", line 162, in _sendAsyncRequest
                                          self.client._send(self.frame)
                                        File "/opt/evok/lib/python2.7/site-packages/evok/modbusclient_rs485.py", line 263, in _send
                                          super(AsyncModbusSerialClient, self)._send(request)
                                        File "/opt/evok/local/lib/python2.7/site-packages/pymodbus/client/sync.py", line 381, in _send
                                          result = self.socket.read(waitingbytes)
                                        File "/opt/evok/local/lib/python2.7/site-packages/serial/serialposix.py", line 596, in read
                                          'device reports readiness to read but returned no data '
                                      SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
                                  [E 210721 21:39:38 web:1591] Uncaught exception GET /rest/all (127.0.0.1)
                                      HTTPServerRequest(protocol='http', host='192.168.1.70:80', method='GET', uri='/rest/all', version='HTTP/1.0', remote_ip='127.0.0.1', headers={'Sec-Gpc': '1', 'Accept-Language': 'de-CH', 'Accept-Encoding': 'gzip, deflate', 'Host': '192.168.1.70:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                      Traceback (most recent call last):
                                        File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1510, in _execute
                                          result = method(*self.path_args, **self.path_kwargs)
                                        File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in get
                                          result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                        File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in <lambda>
                                          result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1655, in full
                                          'value': (self.regvalue()),
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1593, in <lambda>
                                          self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                          raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                      Exception: No cached value of register 8 on unit 1 - read error
                                  [E 210721 21:39:38 web:2064] 500 GET /rest/all (127.0.0.1) 44.95ms
                                  [E 210721 21:39:42 web:1591] Uncaught exception GET /rest/all (::1)
                                      HTTPServerRequest(protocol='http', host='192.168.1.70:80', method='GET', uri='/rest/all', version='HTTP/1.0', remote_ip='::1', headers={'Sec-Gpc': '1', 'Accept-Language': 'de-CH', 'Accept-Encoding': 'gzip, deflate', 'Host': '192.168.1.70:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                      Traceback (most recent call last):
                                        File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1510, in _execute
                                          result = method(*self.path_args, **self.path_kwargs)
                                        File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in get
                                          result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                        File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in <lambda>
                                          result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1655, in full
                                          'value': (self.regvalue()),
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1593, in <lambda>
                                          self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                          raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                      Exception: No cached value of register 8 on unit 1 - read error
                                  [E 210721 21:39:42 web:2064] 500 GET /rest/all (::1) 15.39ms
                                  [E 210721 21:39:50 web:1591] Uncaught exception GET /json/all (127.0.0.1)
                                      HTTPServerRequest(protocol='http', host='192.168.1.70:80', method='GET', uri='/json/all', version='HTTP/1.0', remote_ip='127.0.0.1', headers={'Sec-Gpc': '1', 'Accept-Language': 'de-CH', 'Accept-Encoding': 'gzip, deflate', 'Host': '192.168.1.70:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                      Traceback (most recent call last):
                                        File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1512, in _execute
                                          result = yield result
                                        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 307, in wrapper
                                          yielded = next(result)
                                        File "/opt/evok/local/lib/python2.7/site-packages/tornado_json/schema.py", line 160, in _wrapper
                                          output = rh_method(self, *args, **kwargs)
                                        File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1540, in get
                                          result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                        File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1540, in <lambda>
                                          result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1655, in full
                                          'value': (self.regvalue()),
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1593, in <lambda>
                                          self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                        File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                          raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                      Exception: No cached value of register 8 on unit 1 - read error
                                  [E 210721 21:39:50 web:2064] 500 GET /json/all (127.0.0.1) 23.83ms
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    martin_triska administrators last edited by

                                    Hello @Stoeffel ,

                                    it seems that you access the serial (RS485) line from multiple applications which confuses Evok. Can you try to disable other processes potentially working with HW and leave running Evok only?

                                    1 Reply Last reply Reply Quote 0
                                    • Y
                                      yish last edited by

                                      My L403 just arrived yesterday and I’m trying to connect the xG18 and having the same issues with Stefan.

                                      I was able to connect in node-red over modbus RTU directly.

                                      However when I try to access through Evok (different SD card with the same base OS image: https://kb.unipi.technology/_media/files:software:os-images:neuron-node-red_image-20210426.2.zip), I get the exact same error message as Stefan.

                                      unipi@L403-sn141:/etc$ sudo /opt/evok/bin/python /opt/evok/lib/python2.7/site-packages/evok/evok.py
                                      [I 210723 07:07:45 config:73] eprom: UniPi Neuron L403 version: 0.1 serial: 0x8d
                                      [I 210723 07:07:45 evok:1894] Starting using config file /etc/evok.conf
                                      /opt/evok/lib/python2.7/site-packages/evok/config.py:96: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
                                        self.definitions += [yaml.load(yfile)]
                                      [I 210723 07:07:45 config:97] YAML Definition loaded: xS10.yaml, type: 3, definition count 0
                                      [I 210723 07:07:45 config:97] YAML Definition loaded: xS51.yaml, type: 3, definition count 1
                                      [I 210723 07:07:45 config:97] YAML Definition loaded: IAQ.yaml, type: 3, definition count 2
                                      [I 210723 07:07:45 config:97] YAML Definition loaded: xG18.yaml, type: 3, definition count 3
                                      [I 210723 07:07:45 config:97] YAML Definition loaded: xS30.yaml, type: 3, definition count 4
                                      [I 210723 07:07:45 config:97] YAML Definition loaded: CUSTOM_MODBUS_DEVICE.yaml, type: 3, definition count 5
                                      [I 210723 07:07:46 config:97] YAML Definition loaded: xS40.yaml, type: 3, definition count 6
                                      [I 210723 07:07:46 config:97] YAML Definition loaded: xS50.yaml, type: 3, definition count 7
                                      [I 210723 07:07:46 config:97] YAML Definition loaded: xS11.yaml, type: 3, definition count 8
                                      /opt/evok/lib/python2.7/site-packages/evok/config.py:103: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
                                        self.neuron_definition = yaml.load(yfile)
                                      [I 210723 07:07:46 config:104] YAML Definition loaded: /etc/hw_definitions/BuiltIn/L403.yaml, type: UniPiBuiltIn
                                      [I 210723 07:07:46 config:97] YAML Definition loaded: evok-alias.yaml, type: 2, definition count 0
                                      [I 210723 07:07:46 evok:1964] HTTP server listening on port: 8080
                                      [I 210723 07:07:46 modbusclient_tornado:128] SPI client started
                                      [I 210723 07:07:46 modbusclient_rs485:347] UART client started
                                      [I 210723 07:07:46 neuron:334] Reading the UART board on Modbus address 1
                                      [I 210723 07:07:46 neuron:215] Reading SPI boards
                                      [I 210723 07:07:46 owclient:445] Entering OWW loop with PID 1414
                                      [I 210723 07:07:47 config:390] Alias loaded: <neuron.Relay object at 0x76244cf0> al_lights_kitchen
                                      [I 210723 07:07:47 config:390] Alias loaded: <neuron.Relay object at 0x762653d0> al_lights_bedroom
                                      [I 210723 07:07:48 web:2064] 101 GET /ws (127.0.0.1) 5.50ms
                                      [D 210723 07:07:48 evok:162] New WebSocket client connected
                                      [I 210723 07:07:52 config:390] Alias loaded: <neuron.Relay object at 0x76244cf0> al_lights_kitchen
                                      [I 210723 07:07:52 config:390] Alias loaded: <neuron.Relay object at 0x762653d0> al_lights_bedroom
                                      [E 210723 07:08:02 web:1591] Uncaught exception GET /json/all (::1)
                                          HTTPServerRequest(protocol='http', host='l403-sn141.local:80', method='GET', uri='/json/all', version='HTTP/1.0', remote_ip='::1', headers={'Accept-Language': 'en-us', 'Accept-Encoding': 'gzip, deflate', 'Host': 'l403-sn141.local:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.3 Safari/605.1.15', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                          Traceback (most recent call last):
                                            File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1512, in _execute
                                              result = yield result
                                            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 307, in wrapper
                                              yielded = next(result)
                                            File "/opt/evok/local/lib/python2.7/site-packages/tornado_json/schema.py", line 160, in _wrapper
                                              output = rh_method(self, *args, **kwargs)
                                            File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1540, in get
                                              result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                            File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1540, in <lambda>
                                              result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                            File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1654, in full
                                              'value': (self.regvalue()),
                                            File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1592, in <lambda>
                                              self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                            File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                              raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                          Exception: No cached value of register 8 on unit 1 - read error
                                      [E 210723 07:08:02 web:2064] 500 GET /json/all (::1) 28.64ms
                                      
                                      

                                      Did an apt update and install to the latest evok version (2.4.10) to no avail.

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

                                        Hello @yish,
                                        the image doesn't have the latest evok. Please, proceed with apt update && apt upgrade, then reboot the PLC and try again.

                                        Have a nice weekend,
                                        Martin

                                        1 Reply Last reply Reply Quote 0
                                        • Y
                                          yish last edited by

                                          @Martin-Kudláček said in After installation of a xG18 extention I get a Server Error 500 for the Rest Json:

                                          Updated, Rebooted and same error:

                                          root@L403-sn141:/home/unipi# systemctl stop evok
                                          root@L403-sn141:/home/unipi# /opt/evok/bin/python /opt/evok/lib/python2.7/site-packages/evok/evok.py
                                          [I 210723 14:58:18 config:73] eprom: UniPi Neuron L403 version: 0.1 serial: 0x8d
                                          [I 210723 14:58:18 evok:1894] Starting using config file /etc/evok.conf
                                          /opt/evok/lib/python2.7/site-packages/evok/config.py:96: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
                                            self.definitions += [yaml.load(yfile)]
                                          [I 210723 14:58:18 config:97] YAML Definition loaded: xS10.yaml, type: 3, definition count 0
                                          [I 210723 14:58:18 config:97] YAML Definition loaded: xS51.yaml, type: 3, definition count 1
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: IAQ.yaml, type: 3, definition count 2
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: xG18.yaml, type: 3, definition count 3
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: xS30.yaml, type: 3, definition count 4
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: CUSTOM_MODBUS_DEVICE.yaml, type: 3, definition count 5
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: xS40.yaml, type: 3, definition count 6
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: xS50.yaml, type: 3, definition count 7
                                          [I 210723 14:58:19 config:97] YAML Definition loaded: xS11.yaml, type: 3, definition count 8
                                          /opt/evok/lib/python2.7/site-packages/evok/config.py:103: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
                                            self.neuron_definition = yaml.load(yfile)
                                          [I 210723 14:58:20 config:104] YAML Definition loaded: /etc/hw_definitions/BuiltIn/L403.yaml, type: UniPiBuiltIn
                                          [I 210723 14:58:20 config:97] YAML Definition loaded: evok-alias.yaml, type: 2, definition count 0
                                          [I 210723 14:58:20 evok:1964] HTTP server listening on port: 8080
                                          [I 210723 14:58:20 modbusclient_tornado:128] SPI client started
                                          [I 210723 14:58:20 modbusclient_rs485:347] UART client started
                                          [I 210723 14:58:20 neuron:334] Reading the UART board on Modbus address 1
                                          [I 210723 14:58:20 neuron:215] Reading SPI boards
                                          [I 210723 14:58:20 owclient:445] Entering OWW loop with PID 1412
                                          [I 210723 14:58:20 config:390] Alias loaded: <neuron.Relay object at 0x761f6db0> al_lights_kitchen
                                          [I 210723 14:58:20 config:390] Alias loaded: <neuron.Relay object at 0x76217510> al_lights_bedroom
                                          [I 210723 14:58:20 web:2064] 101 GET /ws (::1) 6.23ms
                                          [D 210723 14:58:20 evok:162] New WebSocket client connected
                                          [I 210723 14:58:20 web:2064] 200 GET /rest/all (::1) 15.25ms
                                          [I 210723 14:58:21 web:2064] 101 GET /ws (127.0.0.1) 3.41ms
                                          [D 210723 14:58:21 evok:162] New WebSocket client connected
                                          [I 210723 14:58:26 config:390] Alias loaded: <neuron.Relay object at 0x761f6db0> al_lights_kitchen
                                          [I 210723 14:58:26 config:390] Alias loaded: <neuron.Relay object at 0x76217510> al_lights_bedroom
                                          [E 210723 14:58:26 web:1591] Uncaught exception GET /json/all (::1)
                                              HTTPServerRequest(protocol='http', host='l403-sn141.local:80', method='GET', uri='/json/all', version='HTTP/1.0', remote_ip='::1', headers={'Accept-Language': 'en-us', 'Accept-Encoding': 'gzip, deflate', 'Host': 'l403-sn141.local:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.3 Safari/605.1.15', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                              Traceback (most recent call last):
                                                File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1512, in _execute
                                                  result = yield result
                                                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 307, in wrapper
                                                  yielded = next(result)
                                                File "/opt/evok/local/lib/python2.7/site-packages/tornado_json/schema.py", line 160, in _wrapper
                                                  output = rh_method(self, *args, **kwargs)
                                                File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1540, in get
                                                  result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                                File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1540, in <lambda>
                                                  result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1654, in full
                                                  'value': (self.regvalue()),
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1592, in <lambda>
                                                  self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                                  raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                              Exception: No cached value of register 8 on unit 1 - read error
                                          [E 210723 14:58:26 web:2064] 500 GET /json/all (::1) 26.74ms
                                          [D 210723 14:58:31 evok:259] Skipping WS message: {u'cmd': u'all'} (No cached value of register 8 on unit 1 - read error)
                                          [E 210723 14:58:33 web:1591] Uncaught exception GET /rest/all (::1)
                                              HTTPServerRequest(protocol='http', host='l403-sn141.local:80', method='GET', uri='/rest/all', version='HTTP/1.0', remote_ip='::1', headers={'Accept-Language': 'en-us', 'Accept-Encoding': 'gzip, deflate', 'Host': 'l403-sn141.local:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.3 Safari/605.1.15', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                              Traceback (most recent call last):
                                                File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1510, in _execute
                                                  result = method(*self.path_args, **self.path_kwargs)
                                                File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in get
                                                  result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                                File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in <lambda>
                                                  result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1654, in full
                                                  'value': (self.regvalue()),
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1592, in <lambda>
                                                  self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                                  raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                              Exception: No cached value of register 8 on unit 1 - read error
                                          [E 210723 14:58:33 web:2064] 500 GET /rest/all (::1) 11.47ms
                                          [E 210723 14:58:33 web:1591] Uncaught exception GET /rest/all (::1)
                                              HTTPServerRequest(protocol='http', host='l403-sn141.local:80', method='GET', uri='/rest/all', version='HTTP/1.0', remote_ip='::1', headers={'Accept-Language': 'en-us', 'Accept-Encoding': 'gzip, deflate', 'Host': 'l403-sn141.local:80', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.3 Safari/605.1.15', 'Connection': 'close', 'Upgrade-Insecure-Requests': '1'})
                                              Traceback (most recent call last):
                                                File "/opt/evok/local/lib/python2.7/site-packages/tornado/web.py", line 1510, in _execute
                                                  result = method(*self.path_args, **self.path_kwargs)
                                                File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in get
                                                  result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                                File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 1591, in <lambda>
                                                  result += map(lambda dev: dev.full(), Devices.by_int(UNIT_REGISTER))
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1654, in full
                                                  'value': (self.regvalue()),
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 1592, in <lambda>
                                                  self.regvalue = lambda: (self.arm.neuron.modbus_cache_map.get_register(1, self.valreg, unit=self.arm.modbus_address, is_input=_is_iput)[0] * self.factor) + self.offset
                                                File "/opt/evok/lib/python2.7/site-packages/evok/neuron.py", line 55, in get_register
                                                  raise Exception('No cached value of register %d on unit %d - read error' % (counter, unit))
                                              Exception: No cached value of register 8 on unit 1 - read error
                                          [E 210723 14:58:33 web:2064] 500 GET /rest/all (::1) 11.42ms
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Stoeffel last edited by

                                            Hello Martin

                                            I hope I have solved the problem now. My Modbus and Json/Rest have been running error-free for 24 hours.
                                            I have done the following:

                                            • Update EVOK to 2.4.10
                                            • Deactivated the Modbus device in FHEM
                                            • The Modbus is now only addressed via the Neuron Device in FHEM.

                                            The access to the Modbus is realised with Fhem on the one hand via the Device Neuron and on the other hand via the Device Modbus. If both are installed, there will probably be conflicts which cause EVOK to crash. In any case, it was possible to get the system running again for a while by restarting EVOK.

                                            After deactivating the Modbus device in Fhem, I no longer had any error messages in EVOK. However, after 2 hours, the Modbus hung up again. Then I updated EVOK to 2.4.10 and rebooted everything. Since then, the system has been running error-free for 24 hours.
                                            I will get back a response to you in a week again.

                                            Kind regards Stefan

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