WEBGET anyone?

Efried

Active Member
Hi,
before doing the winter programming of the WC family working in the house, I'm thinking about the best suited system architecture.
My favourite would be a server sided HTML-control page, where all WC's could retrieve their settings stored in UROM via WEBGET.
Otherwhise I have to set UROMs at all the WC's manually which should communicate (winter) or not (summer) with each other!
thanks
 
If you have winter and summer setting already, you can set those default in your PLC program, so that UROM only used for manually adjust up and down.
 
CAI_Support said:
If you have winter and summer setting already, you can set those default in your PLC program, so that UROM only used for manually adjust up and down.
 
 
Sorry I quite don't understand. Of course I could change the logic automatically depending on some Temperature for Winter and summer, preferably  a temperature average over one day. But there is more to set over external HTML pages. So I don't see a way around WEBGET. The existing WEBSET though is also usable but with a little more pain.
 
Are you planning to let server retrieve settings on WC, or do you plan to let WC to retrieve from server?
If you plan to get all the values from WC, your server can get /api/status.xml and parsing tags on that page to get all the values.
If your server wants to set the UROM from remote, you can do that from your server without any PLC involvement.
When setting UROM value, please make sure not over do it, since UROM stored in EEPROM, has life span of < 100,000 times write cycle.
 
CAI_Support said:
Are you planning to let server retrieve settings on WC, or do you plan to let WC to retrieve from server?
If you plan to get all the values from WC, your server can get /api/status.xml and parsing tags on that page to get all the values.
If your server wants to set the UROM from remote, you can do that from your server without any PLC involvement.
When setting UROM value, please make sure not over do it, since UROM stored in EEPROM, has life span of < 100,000 times write cycle.
 
Hello, I do have experience with all kinds of WC usage. For the sake of a clean system architecture and lean code I simply would appreciate a command like WEBEGET VARx URLy. I certainly don't want to open the firewall to this weakly secured email account data stored on the WC, and I think the deployment is tedious if you need to communicate the IP address of the WC to the server. Come on boys you may do better, offering a self configuring swarm of WCs managed over a single HTML page, please!
 
The Rest interface is used by UDI for their ISY HA boxes, A small subset could be implemented to keep some standardisation.

http://wiki.universal-devices.com/index.php?title=ISY_Developers:API:REST_Interface

 
Sorry I can't use the forum link option. This unenabled forum software hangs everytime an edit option is used other than the code one used. None of the administrators seems to care.
 
Efried,
 
Sorry for not fully understand what you mean on the new command requirement.  Currently, WEBSET can query server and read back value from server. During WEBSET, WC board sends its own board name and MAC address, so that server can identify which board is this, thus feedback command as reply.  You can send in a number as your predefined question, then server provides an answer only your own PLC understand. 
 
If you want to pre-configure a bunch boards, please check out LarsK's utility that can copy from one board to many.  Basically, his utility reads from one master board, then it can send in to all other boards the same configuration.
 
Hope this helps.
 
CAI_Support said:
Efried,
 
Sorry for not fully understand what you mean on the new command requirement.  Currently, WEBSET can query server and read back value from server. During WEBSET, WC board sends its own board name and MAC address, so that server can identify which board is this, thus feedback command as reply.  You can send in a number as your predefined question, then server provides an answer only your own PLC understand. 
 
If you want to pre-configure a bunch boards, please check out LarsK's utility that can copy from one board to many.  Basically, his utility reads from one master board, then it can send in to all other boards the same configuration.
 
Hope this helps.
Hello CAI_support,
 
sorry no my problem is not solved by a replication tool. I need to manage communication between WCs and between WC and server side scripts. In the best case.
The hint to RESTful system architecture is perfect, I was just writing it in non IT style.
thanks
 
LarrylLix said:
The Rest interface is used by UDI for their ISY HA boxes, A small subset could be implemented to keep some standardisation.

http://wiki.universal-devices.com/index.php?title=ISY_Developers:API:REST_Interface

 
Sorry I can't use the forum link option. This unenabled forum software hangs everytime an edit option is used other than the code one used. None of the administrators seems to care.
Here it is for your convenience:
 
http://wiki.universal-devices.com/index.php?title=ISY_Developers:API:REST_Interface
 
The link to REST is perfect. The WC management tools should enumerate the services available at the WCs. Then I can write the server sided script addressing them.
Or vice verse - a computer aided software engineering tool could write code in stubs to be uploaded to the WCs, implementing data transfer via WEBSET and data retrieval via WEBGET back and forth...
Unfortunately the services explorer should be in the Intranet, because we do not want opening the firewall for accessing the WCs from the server, won't we? Then this server should use WEBSET uploading the consolidated info to the server or use WEBGET retrieving parameters to be used for controlling the WCs. This server might be replaced by software, showing the overview of the physical and functional architecture, since every WC may access the outside server.
The aim is having a consolidated map of all actions.  Now I only have PLC, which does not explain a word. It would be really helpful if we could add comments/real names to the VARs/URLs etc. just to be stored away separately on the WC- I'm pretty sure that the WC32 has plenty of void resources capable of being more verbose ;-).
 
cheers
 
WEBSET can do REST to UDI boxes.
To be able to communicating with servers outside firewall without opening a firewall, WEBSET can send out from within firewall, as well as getting answer back from server side.  To help manage large number of boards, we also send to server hostname and unique MAC address in each WEBSET call.  Server CGI code can see them and identify that.
 
It is up to user to make a list of commands that his server can understand sending to the server, and expect server will send back a command or number for WC boards to react.  For example, if you have 100 status report need to send to server, you can send in first WEBSET to tell server what next WEBSET is about. if commands list is from 0 to 254, that is one byte, you can have byte 0 as your command ID, byte 1 is a special number to identify that is a command, byte 2 is complement  of the command byte, byte 3 is repeat of byte 1, etc.  Your server can understand what your command is and sending sequence is.  No matter how many variables you want to send and get from server.
 
This method is working on both WC8 and WC32.  
 
On WC32, in addition to WEBSET, it also has http POST, that can send in large amount data in one call. That is working in current firmware. If you want to send large amount data, we would recommend to do that.  If you want to change that, please let us discuss on how that should be changed to best fit for everyone.  The POST implementation was based on one of the earlier users recommendation, they even setup a server for us to test that one call can send in all the data.
 
CAI_Support said:
WEBSET can do REST to UDI boxes.
To be able to communicating with servers outside firewall without opening a firewall, WEBSET can send out from within firewall, as well as getting answer back from server side.  To help manage large number of boards, we also send to server hostname and unique MAC address in each WEBSET call.  Server CGI code can see them and identify that.
 
It is up to user to make a list of commands that his server can understand sending to the server, and expect server will send back a command or number for WC boards to react.  For example, if you have 100 status report need to send to server, you can send in first WEBSET to tell server what next WEBSET is about. if commands list is from 0 to 254, that is one byte, you can have byte 0 as your command ID, byte 1 is a special number to identify that is a command, byte 2 is complement  of the command byte, byte 3 is repeat of byte 1, etc.  Your server can understand what your command is and sending sequence is.  No matter how many variables you want to send and get from server.
 
This method is working on both WC8 and WC32.  
 
I understand, you will prefer being a hardware supplier ;-)
 
CAI_Support said:
On WC32, in addition to WEBSET, it also has http POST, that can send in large amount data in one call. That is working in current firmware. If you want to send large amount data, we would recommend to do that.  If you want to change that, please let us discuss on how that should be changed to best fit for everyone.  The POST implementation was based on one of the earlier users recommendation, they even setup a server for us to test that one call can send in all the data.
 
That is gorgeous, I hate those error prone value stapling and decoding operation transmitting multiple temperatures via one WEBSET call. I did however not find POST, reading the documentation I got when buying the WC32.  Is is public?
 
We have not sold WC32 through resellers yet, only sold through direct to companies doing their own development based on WC32.  Currently, we are developing with Ross an IO board for WC32.  Hope that IO board can be done soon, then we will start sell WC32 through resellers.
 
WC32 does not have PHY inside, so that it does not take much current or generate much heat itself. We do not add heatsink to it because of low heat. The CPU is rated to work from -40C to +105C.
 
CAI_Support said:
We have not sold WC32 through resellers yet, only sold through direct to companies doing their own development based on WC32.  Currently, we are developing with Ross an IO board for WC32.  Hope that IO board can be done soon, then we will start sell WC32 through resellers.
 
WC32 does not have PHY inside, so that it does not take much current or generate much heat itself. We do not add heatsink to it because of low heat. The CPU is rated to work from -40C to +105C.
 
 
Hope you will offer a piggy back board capable of serving multiple sensor types- transducer coils, thermocouples etc..
otherwise the 1 wire path is open https://learn.adafruit.com/adafruit-1-wire-thermocouple-amplifier-max31850k
But coming back to the topic, I still believe WEBGET would be easing our work, was well as the new WEBPOST you had described.
 
The thermal couple part you mentioned MAX31855 is supported on SPI bus, you can download 3.2.18d4 firmware that has SPI support to talk to that chip for some times already.
 
WEBSET is using GET, which is designed to work with UDI box to set one value at a time.
If you want to send more value, POST should be used instead of GET.  That is the way security expert would tell you.
For adding support for new features, please do let us know more details, so that we can understand exactly what you need.
Without exact needs in detail, we could not estimate the feasibility.
 
If you want to use thermal couple on SPI bus, this version supporting 3.3V is recommended, because both WC8 and WC32 SPI bus can operate on 3.3V.
 
Code:
http://www.ebay.com/itm/400768770338
 
Back
Top