String tag data not returned in URL call nor to an internally hosted eSync server

We’re having a similar problem as described in Sting Data Label In DataMailbox where API call via URL parameters DO NOT bring back any data from the historical log for a “string” data type tag even though data is in there.

I’ve tried getting it via the /ParamForm?AST_Param=$dtHL$ftT$stL$et_m0$ut$tnLOT_CODE and ParamForm?AST_Param=$dtHL$ftT$st_h24$tnLOT_CODE but it brings back only the header/column definition values and no data values for the fields.

I’ve already done LOGIO to get new data in the tag, and it is there is I download via the eWON web UI file transfers. The same API URL call syntax’s work on this same eWON for every other tag than this 1 “string” data type tag we have defined.

Furthermore, we have an internally hosted eSync server that does NOT get the string tag sent to the MySQL tables and I assume that’s because that version of eSync server we use for internal hosting does not allow the value in “string” data type and thus this is why for string data types, I need to use API call to get the value so I can get moved over to our final reporting database.

I believe a colleague is going to put in a call about this and give you guys the full URLs that we are using, but this is what’s going on.

I don’t fully understand the solution mentioned on Sting Data Label In DataMailbox, and I’m wondering if it’s the solution to this problem for us too.

Questions:

  1. Does the tag names for “string” data types need to follow some standard case sensitivity wise or this “bug” occurs, or what is the deal?
  2. Is there an eSync server version and correlated documentation for reading regarding us hosting an eSync server than can also take the “string” data types from tags?
  • We have most all our eWONs send to our eSycn hosted server MySQL DB that I setup back in the day when Jordan was around, and then we grab the data from there and put it into other reporting DBs and such, and wipe all historical data from the eSync tables that are “x” days old.

I thought we were having a similar problem as the String Data Label In DataMailbox post mentions but I’ve since confirmed that’s not the case.

However, the URL API call does not bring back any data from the historical log for “string” data type tags even though data is in there. The columns definitions with no data is what we get.

I’ve tried getting it via the /ParamForm?AST_Param=$dtHL$ftT$stL$et_m0$ut$tnLOT_CODE and ParamForm?AST_Param=$dtHL$ftT$st_h24$tnLOT_CODE but it brings back only the header/column definition values and no data values for the fields.

I’ve already done LOGIO to get new data in the tag, and it is there is I download via the eWON web UI file transfers. The same API URL call syntax works on this same eWON for every other tag that’s int, bool, float, but this one and only “string” data type tag doesn’t bring back data but column names only.

Furthermore, we have an internally hosted eSync server that does not get the string tag historical value sent to its MySQL tables, and assume that’s because that version of eSync server we use [internal hosting] does not allow “string” data types in the historical tag table. I’m using the URL call to get the value before moving to the final reporting database.

Questions

  1. Do the tag names for “string” data types need to follow some standard case sensitivity wise for it to work, and why does using a tag name with “proper case” cause the problem as mentioned in that other post.

  2. Is there an eSync server version and correlated documentation for reading regarding us hosting an eSync server than can also take the “string” data types from tags?

    • We have most all our eWONs send to our eSycn hosted server MySQL DB that I setup back in the day when Jordan was around, and then we grab the data from there and put it into other reporting DBs and such, and wipe all historical data from the eSync tables that are “x” days old.
  3. What other solution equivalent solution(s) might HMS suggest we use which we should consider using to replace eSync if it’s getting fully deprecated?

    • Since we use it as a middle man server we only need it to have the most recent 30-90 days of data retained and all older records can be purged.Retaining less is possible as well for us, but nice to have some cushion if space is available.

Hi PJ,

Just to make sure, for your string tags, have you already gone through and allocated a section of memory for the string tags to be stored in the Flexy?

Are your calls working if you’re trying to grab tag history of other tag types ie. Int, Bool, Mem?

As for eSync, I’m not sure sure how much support we have for that because it’s moving to end of life soon. I don’t think I’ve seen anybody use it for string tags yet so I might need to look into that.

String tags should be supported in DataMailbox but I’ll look into the other questions with a colleague tomorrow morning and see what I can find out

  1. I’m not configuring the eWONs for the allocated memory nowadays but if you can send me the correlated document or a link that talks about this, I’ll run by my colleague to make sure he’'s aware of it and such. I assume once I read it over I can confirm whether or not that has already been done then.
  2. Yes, all other tags are working just fine, just not the string data type tag bool, int, mem work fine.
  3. I think the eSync table structure for the value will not support string data type but will for float, int, and bool though.
  4. Where do I start my reading regarding the datamailbox and how to use it best for dmsync calls and such in the eWON?
  • I’ve curious to know what to point datamailbox configs to, how to use it to replace current solution with our internally hosted eSync server as the middle man, etc. Whatever starting point docs or whatever you think I should start reading.

Here’s a screen shot of the current mem configuration on this device with the issue…

Based on the image you sent below it looks like you’ve already allocated 10% tag history for string tags so that part should be all set.

Here’s some of the starter information for the DataMailbox Web API, it doesn’t appear that there’s any special requirements for pulling in string tags in DataMailbox so you should be able to use the same calls you would for other tags.

https://developer.ewon.biz/content/dmweb-api

Doesn’t this mean we’d have to send all our tags to the data mailbox server rather than just the one tag that is a string data type though?

We are only having trouble with this one tag out of many others, and we have all the other tags going to and being collected from our internally hosted eSync server.

If we now have to send all tags to the data mailbox servers and cannot also use our internally hosted eSync server any time there is an eWON that is string data type and we need to report on it, then that changes the entire process.

I’m really trying to incorporate an explicit solution into the already working other solution for this one tag, and handle it like an exception.

I’m going to explore the data mailbox and see how we get it going, but in the meantime for this project, I cannot recreate the wheel based on timing constraints.

Let me know if I’m misunderstanding something, but does Talk2M web api calls allow us to get tags that are string data type or not? Will Talk2M api calls ever support this in the future?

In the meantime, can I send just FTP files to the datamailbox and not dmsycn events entirely from the eWON?

We are using these newly supported tag data types, but it sounds like the eWON itself cannot allow downloading directly from it or from it thru M2Web api method, correct?

The data mailbox has a way to store the new string data tags, but eSync server solution that used to be supported is being deprecated?

Brute Force

  1. Can we send from eWON via FTP to HMS hosted FTP server and get from there? Can we send to data mailbox from eWON for single tag only not using data collection or dmsync and just use explicit command to use eWON or even eWON BASIC to upload to HMS hosted server we can FTP download from, etc.?

  2. If #1 is not possible, can you explain the steps and usual syntax for sending a single to a file then to an ftp URL? Can you explain or share doc that guides that from BASIC you do this, from Event Planner you do this, and so forth? I can figure out the technical logic parts, but going here for this and there for that in the GUI is not always clear from post I’ve read.

Unfortunately it’s either 1 or the other for the eSync/Data mailbox situation

The Talk2M API should be able to support strings, I just had a colleague try this with his datamailbox and that seemed to go through without any issue.

I think I may need to look into your brute force method a little more though before I can give a concrete answer on that. I’ll let you know what I find out

Don’t worry about it, I figured it out.

Solution: For “data type” strings, the $dtHS is needed for ‘Data Type Historical String’. All other non-string values is what $dtHL is for Data Type Historical Logs… I was missing this detail, for string tag data types with whatever api eWON calls for https://m2web.talk2m.com/t2mapi/get/<eWON>/rcgi.bin. We’re not using datamailbox explicitly in terms of sending data to it from the eWON, but we do use M2Web and Talk2M api to securely get historical tag values from an eWON via the it’s security.

$dtHS is needed for string data type rather than the example parameters I shared where I was using $dtHL when I first asked the question.

I was simply using the wrong Talk2M or M2Web api (datamailbox api not needed at all) data type per the export block descriptor or whatever syntax format it was called.

I don’t do as much eWON reading nowadays as I used too and the first time messing with string data types.

In any case, I kept digging and I found the answer myself I suppose.

I’ll still read up on the datamailbox api and test it at some point if I get time.

1 Like