evok not working



  • From the dmesg output It does look like the FW update happened.

    Could you try it in Google Chrome? We recently had some compatibility issues with IE/Edge, which should be fixed in the GitHub master branch, but the fixes are not yet distributed on our images.

    Otherwise everything on the dmesg output looks fine.



  • Thanks for the hint, but as I use primarily Linux I tried it with Firefox first, but now I also checked it with Chrome:
    0_1522254308908_Screenshot from 2018-03-28 18-23-49.png

    The result is the same :(



  • Wait - which image are you using? There should be three tabs on the panel. Two tabs were only present in the legacy EVOK 1.1 version, which does not support the Neuron module.

    If you haven't could you try this with our latest image?

    This is what the website looks like in the latest version if EVOK cannot connect: (note the spinning wheels on the right)
    alt text



  • It is the UniPi-Mervis-OS-2017-08-28_v1.3, as this is the last non-beta Mervis image :)

    However I also realized that this evok is quite out-dated and the used evok-neuron.cfg doesn't contain any HW related configuration, so I think this image is simple broken.
    I managed to install a newer evok version by hand and that seems working, and I also managed to use modbus TCP to reach the inputs and outputs.

    So, everything seems fine, but this image looks too old.

    Thanks for your support :D



  • Ahh - That is the Mervis IDE image! - It only has a very, very old version of EVOK installed - which is used solely as a Modbus server, which is necessary for the UniPi 1.1 to work with Mervis. Depending on whether you need Mervis or not, you may wish to use the Open Source image instead.

    The reason why Mervis doesn't include EVOK by default is that Mervis works by continually monitoring and reconfiguring the device according to its internal rules, which means that external control of the devices is not possible with it without danger of potential conflicts!

    Including it would also raise security concerns if EVOK is left unsecured (some users may not be aware of its existence), as Mervis follows industrial standards for process automation which include certain guarantees, guarantees which could be broken with full EVOK active.

    Of course you can still do so, but you have to take it into account in your Mervis programs. Which is why it's left as an option for expert users who can do it manually.

    e: expanded my answer slightly



  • @tomas_knot Thanks, a lot it makes sense. I'll then definitely move to the opensource image, as my main platform will be the modbus over TCP or RS485, I just wanted to also try the Mervis, but then I will use a different SD card for that.



  • @majorcsa

    Nothing wrong at all with trying out the Mervis IDE! It includes its own web interface, as well as an optional cloud database, and is compliant with the IEC standard 61131.

    In fact it is built from the ground up to specifically be standard compliant, which unfortunately means that it is not possible to connect to it via a simple API. It does support a number of protocols though, some of which (Modbus and perhaps SSCP) can be used to communicate with the Mervis runtime from external applications.



  • Hello, I have UNIPI 1.x version. I have installed fresh OS Stretch, installed last released verion of Evok 2.0.3a as in description on GitHub. There were issue with Tornado, I was not able to run it. Then I made again new fresh install of Rasbian and install Evok 2.0.3. It gives me this error when run it manually:

    sudo python /opt/evok/evok.py
    Traceback (most recent call last):
    File "/opt/evok/evok.py", line 37, in <module>
    import config
    File "/opt/evok/config.py", line 5, in <module>
    import neuron
    File "/opt/evok/neuron.py", line 12, in <module>
    from modbusclient_tornado import ModbusClientProtocol, StartClient
    File "/opt/evok/modbusclient_tornado.py", line 14, in <module>
    from tornado.concurrent import TracebackFuture
    ImportError: cannot import name TracebackFuture.

    During installation I have noticed this error:

    modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.80-v7+/modules.dep.bin'
    modprobe: FATAL: Module i2c-dev not found in directory /lib/modules/4.9.80-v7+
    Hit:1 http://archive.raspberrypi.org/debian stretch InRelease
    Get:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease [15.0 kB]
    Get:3 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages [11.7 MB]

    Then I have uninstalled Evok 2.0.3 (btw. command in documentation on GitHub doesnt work as the script missed permissions to run. I was able to run in only under sudo su and add permission. Can you also fix it in documentation?)

    As a last one I have installed master version as in documentation on https://evok-4.api-docs.io/1.04/ and it works. But I am missing some functionality as use Alias for devices.

    Does it means that https://evok-4.api-docs.io/1.04/ is domunetation for 1.04 version?

    Can you some how fix messy documentation and help me to install newer version of Evok?



  • The error is from using Tornado 5.0 (EVOK 2.0.3 rather than 2.0.3a); but I have personally tested the installation procedure on Github yesterday, and it installs Tornado 4. Is it possible that you may have misread somehow?

    Installation process for the 2.0 EVOK version
    In order to install EVOK on Neuron you will need an SD card with a standard Raspbian Jessie or Raspbian Stretch image. It is also necessary to enable SSH on the image by creating an empty file named "ssh" in the boot partition of your SD card (the partition should be visible on all systems which support FAT16, which includes Windows, Linux and OSX among others).
    
    To install EVOK itself first connect to your Neuron using SSH (there is a large number of clients you can use, for windows we recommend using PUTTY). The default username for Raspbian is "pi" and the default password is "raspberry". After you connect to your Neuron execute the following commands:
    
    sudo su
    wget https://github.com/UniPiTechnology/evok/archive/v2.0.3a.zip
    unzip v2.0.3a.zip
    cd evok-2.0.3a
    bash install-evok.sh
    
    

    Further the uninstallation instructions explicitly call for using sudo, i.e. root privileges.

    Could you describe in more detail what issues with the alias functionality are you experiencing, perhaps in another topic?

    edit:
    I believe that the v2.0.3 release is listed above v2.0.3a on Github. This is due to unfortunate ordering which Github uses in its versioning system. Release v2.0.3 will indeed produce the error you are reporting. Please follow the installation instructions exactly to avoid similar mishaps in the future.

    edit2:
    I understand the problem with the unistallation script now. It appears that the execute flag gets cleared when using the bulk download from GitHub. I will fix this in the instructions by forcing explicit sudo su as with the installation script. It still remains the case that the instructions call for using v2.0.3a.



  • My installation flow attemts were

    1. OS Stretch -> NodeRed -> Evok v2.0.3a(with some Tornado error, that socket was occupied) -> I spend time to investigate what can be on port 80 or 8080, but I did not find it
    2. new OS Stretch -> Evok v2.0.3 (I thought it is higher than v2.0.3a) -> error as described above -> uninstall Evok v2.0.3 -> try install Evok Master as described in documentation on https://evok-4.api-docs.io/1.04/ (this worked) -> NodeRed

    Now everything is working but in this master version I am not able to set Alias as I have error (Operation failed with the following error: set() got an unexpected keyword argument 'alias')

    • How can I update Evok? Do I need to uninstall and install new version?
    • Is it possible to add information in the Evok Web which version is installed? Or is there any other way how to find it?


    1. occurs when EVOK is already running in the background, usually when the EVOK service is not stopped before running it manually.

    Are you able to set the alias via the web GUI? That uses the same method. Note that you have to follow some naming conventions (alias has to be in the form 'al_[custom string]', with no url-invalid characters)



  • There was some issue with my comment, so I have fixed.

    1. After installaition I have tried Web GUI and it was empty, I have tried to stop it and run it manually as described in documentation.

    NO, I cant change it in web GUI.



  • Thank you for restoring your comment, we weren't able to do so ourselves.

    Could you mention which device are you trying to rename? Apologies for the trouble you are having.

    edit: I believe the issue may be with node-red here. Just to clarify - you are setting the alias via it? You should be able to set the alias via the JSON/HTTP API (as per documentation), but WebSocket API (which is used by node-red) does not support setting aliases, or indeed many other properties (as per documentation, though it is somewhat sparse regarding websocket).

    More specifically only this section of documentation pertains WebSocket: https://evok-4.api-docs.io/1.04/aggjmsqrwmypnmorz/websocket (aptly named websocket)

    You should be able to rename the device in node-red itself however



  • Hello, no I am using Evok Web GUI:

    0_1523010758752_Výstřižek.PNG

    Maybe it is because I am using now some master version and in newer it is fixed.

    How can I find out what version I am using? Is there any command?

    How can I upgrade to newer version?



  • The master version should in fact be the newest, though it's possible it may have some teething issues which releases should not. I can confirm I have tested the latest release, but I will test the master version as well.

    You can see which version you have by using "git status" in the folder where you have checked out the Master branch. If the version is very old it may be best to make a new install with 2.0.3a instead.

    edit: The request should be sent to /rest/relay/1_01 instead of 1. The website you have looks almost entirely wrong - am I right to assume you have UniPi Neuron?

    This is what the website should look like now, note the "1.01" names for circuits. This is on the latest Master:
    0_1523016291180_alias_setting.png



  • In this case I am running this on UNIPI 1.1. But I have also Neuron and it works fine.

    I have not checked out git. I have used this instructions from https://evok-4.api-docs.io/1.04/ :

    sudo su
    wget https://github.com/UniPiTechnology/evok/archive/master.zip
    unzip master.zip
    cd evok-master
    bash install-evok.sh


  • Ahh I was assuming you are using Neuron; with the UniPi 1.1 you need to rename the inputs and outputs in the "evok.conf" configuration file; using aliases with the UniPi 1.1 is not supported as the various subdevices are fundamentally different devices. Whereas for Neuron they are, well, subdevices, which are communicated with via Modbus handles. And it is these handles which are renamed with the alias.

    I can have a look if we can implement the aliases for UniPi 1.1 as well, but as of right now it's not possible. We should remove the alias-setting option for UniPi 1.1 from the web inteface.

    As for the instructions, they will indeed get you the latest Master version.