Hi Peter, Yes, there might be reasons to be more specific when doing control, but for making implementations as easy as possible it would be very good if the types where the same and as few as possible.
I would go for something like: int double (or float) boolean datetime string both for querying (323) and for control (325). Then of course when having a desired room temperature in C that is a double the code that checks that the values are correct will need to check that this room temperature is between +5.0 and +30.0 or so. Is there also ways to express these "limits" too? Or is there a need for the controlling entity to know what it is doing by knowing that this is in fact a room temperature and not a oven temperature. Best regards -- Joakim Eriksson, SICS Peter Waher skrev 2014-01-14 15:38:
Hello Joakim Thank you for your mail. I'll try to respond to your question: Hi, I am working on testing out the new XEP's for Internet of Things and Sensor networks by mapping a Heat pump connected over serial into these XEP's in a embedded PC. I have already made some registers readable over XEP-323 so that seems good, but why is there such a difference between reading out values and setting values? Assuming that there is a desired room temperature would be read it would be something like: ... <numeric name='DesiredRoomTemperature' momentary='true' value='21.0' unit='°C'/> ... and to set would be (XEP-325): ... <double name='DesiredRoomTemperature' value='22.0'/> ... I can understand omitting unit and momentary but why not keeping the same tag-names (e.g. <numeric> or <double> in both)? The reason here is because the control extension (XEP-0325) is more detailed when it comes to format and validation. For instance, it contains 3 numeric types: int, long and double. Handling integers is easier in control applications, but not suitable for all control parameters, as is the case in your example. The integer types are meant to be used for say simple analog outputs and the like. The sensor data extension (XEP-0323) is less interested in formats and validation, and uses only one element to convey all numeric field values. It also transmits meta data about the value not applicable in the control case. I’ve been unable to update the site with the most recent versions of the extensions you mention. I’ve attached them instead. There are some minor changes documented in the revision histories of each one. Best regards, Peter Waher
