HDB++ : problem with egiga2m and hdbpp-viewer
|
|
---|---|
Hello dear all. I want to use the hdb++ system with mysql (not the legacy one). I created a simple device server (tango/test/archive) to do a "push_change_event" and "push_archive_event" on a attribute with a 200 ms period. (push_change_event : 0, 1, 2, 3, 4, 5 ; push_archive_event : 0, 5, 10, 15, 20). I compiled and installed the following projects : "libhdbpp", "libhdbpp-mysql", "hdbpp-es", and "hdbpp-cm". With mysql, I created a database and applied the script "libhdbpp-mysql/etc/create_hdb++_mysql_innodb.sql" on it. I configured and executed the "hdbpp-es" and "hdbpp-cm" device servers. With "hdbpp-configurator" java tool, I managed to configure an attribute to archive. With "libreoffice-base", I found on the "mysql" database that the values are saved as expected (0, 5, 10, 15…). So far, so good. Kudos to the community. But I don't managed to use the "egiga2m" and "hdbpp-viewer" tools. I tried to follow the instructions : "https://github.com/luciozambon/eGiga2m/blob/master/INSTALL.md" and : "https://www.esrf.fr/computing/cs/tango/tango_doc/hdb_viewer/index.html" but without success. The two tools runs well but nothing appears about the database except the attribute name on the hdbpp-viewer tool. I don't know what I did wrong. Please, have you more documentation about these tools ? Best regards, Olivier Neveu |
|
|
---|---|
Hi, Good job on your setup, and happy to hear it worked well! Concerning hdbpp-viewer, if you see the attributes name on the left, it means you're close. Grabbing the data is not automatic, you then have to select the attribute you want to fetch, it will then be displayed on the lower panel, then below the tree view you can select a time range and then you have to click perform search for it to actually grab the data. As it displays the attribute I would expect it to be connected to the database, and since you checked there is data in there, it's hard to understand why it should fail! Are there any errors/warnings from the command line output ? Hope it helps, Cheers, Damien |
|
|
---|---|
Damien Lacoste To select an attribute, you can double-click on the attribute name on the tree or do a right click and then click on "Add" in the right-click menu.
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new. |
|
|
---|---|
Hi Damien and Reynald, thank you very much for your answers. When I click on the "Perform search" button, I get the following message : "HDB getData failed. Failed to get data: Unknown column 'insert_time' in 'field list'" So I looked in the "etc" folder of the "libhdbpp-mysql" repository and I found that only the "create_hdb++_mysql.sql" script had the "insert_time" keyword. But it is specified in this file (https://gitlab.com/tango-controls/hdbpp/donotusebadimport/libhdbpp-mysql/-/blob/master/README.md) that this method is deprecrated. I tested it anyway but it seems that the "hdb++-es" device server don't like the database configured with this script. So thank you again and this is certainly my fault but i'm still stuck. Have you, please, any other ideas ? Best reguards, Olivier Neveu |
|
|
---|---|
Hi Olivier, It seems like you're not the first having this issue. This issue was created a while ago already: https://github.com/tango-controls-hdbpp/hdbpp-viewer/issues/4 It looks like this issue went under the radars of the jhdbviewer developers.
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new. |
|
|
---|---|
It is not your fault, it seems that hdbpp-viewer does not support this version of the schema indeed… We'll have a look at it, but I guess it will take a little time to fix. If you want to keep going, either you use another tool to extract the data from hdb++ (https://gitlab.com/tango-controls/hdbpp/libhdbpp-python for a python example), or if you really want to use the viewer, you can switch to timescaledb as a backend for hdb++. Or you wait and we'll come up with a fix. Sorry about that. |
|
|
---|---|
Ok thank you very much for the information and sorry to the duplicate with the issue on github, I didn't think to look at the repository. We will need to work with timescaledb as well : so this the next step for me. After a discussion with my colleagues, we will not work with egiga2m but I'm curious if you have a tutorial to configure it for hdb++ ? It will maybe help another colleagues since it is in the title of this discussion ? Anyway, thank you again for you responsiveness. Best reguards, Olivier Neveu |
|
|
---|---|
For eGiga2m the default instructions INSTALL.md are about HDB++, there are other data schemas supported, most not HDB and neither Tango related (that's why the repository until now isn't in the Tango tree). Timescaledb isn't supported. For more details please open an issue on the repository |
|
|
---|---|
Hi, thank you for your answer. I'm not an web expert so I don't know if the problem is related to egiga2m (I think not). I installed a "lamp" server on a virtual host (with a working hdbpp installation) and copied egiga2m to the "/var/www/html" folder. I can see the egiga2m webpage from a browser on the same host or with an another host on the same network. egiga2m.png I edited the "lib/service/hdbpp_conf.php" file but that did nothing. So I think that my virtual machine (debian 11) is not properly configured or maybe some packet is missing… I don't know. Best regards, Olivier Neveu |
|
|
---|---|
Olivier Neveu Hi, Did you solve the problem? Anyone added support for that now? |