-
Looking at the Point models, i see that "lastKnownValue" is now set at the root model. In REC3.3, I thought it was nice that the value's type was enforced at the last logic inherited model. For example, the BinaryState Capability set the I'm curious the thoughts around storing floats and boolean as string. We had been exploring created BACNetScheduleSetpoint extensions, that were able to capture a more complex |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 6 replies
-
We (REC tech committee) see the value of more explicit semantics for It is a little challenging because we want to be compliant with Brick data, and in Brick, Point.lastKnownValue is untyped and allows any datatype filler (we're only using string in DTDL models since DTDL does not allow Properties with such undefined schemas, and since string is therefore the most generic option available to us). Consequntly, valid Brick graphs might become invalid REC-DTDL graphs. Probably the best solution is to make upstream Brick more explicit on this, in which case REC can follow suit. I'll discuss with them and see if this is an option. |
Beta Was this translation helpful? Give feedback.
-
We had a discussion with the Brick colleagues yesterday, and they are in agreement that this could be made more explicit in upstream Brick also. We're together with them working on a solution that should land withing a couple of weeks or so. However, it should be noted that Brick wants to be descriptive rather than prescriptive: there is simply too much variation in buildings all around the world to be too strict about this. So we'll probably end up with the extremely obvious cases being fully covered (e.g., Temperature is always numeric) but cases where there may be variation in the wild (e.g., positions of valves or such) will remain open-ended (strings in DTDL, untyped in SHACL). Semantic types and units are also under consideration for the DTDL version, with roughly similar time frames. |
Beta Was this translation helpful? Give feedback.
-
Latest update: PR #159 contains values on sensors. Next step is to get it on the other Point subclasses as well. For now, this is not upstream in Brick, they were evaluating other options for representing this, so it is a little fluid still. |
Beta Was this translation helpful? Give feedback.
-
Additional update: PR #159 used object schemas for lastKnownValue, which prevented the use of semantic types for that value. Now looking into a DTDL Component-based solution instead, for more expressive semantics. |
Beta Was this translation helpful? Give feedback.
We had a discussion with the Brick colleagues yesterday, and they are in agreement that this could be made more explicit in upstream Brick also. We're together with them working on a solution that should land withing a couple of weeks or so. However, it should be noted that Brick wants to be descriptive rather than prescriptive: there is simply too much variation in buildings all around the world to be too strict about this. So we'll probably end up with the extremely obvious cases being fully covered (e.g., Temperature is always numeric) but cases where there may be variation in the wild (e.g., positions of valves or such) will remain open-ended (strings in DTDL, untyped in SHACL).
Seman…