-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XBOS Interface Development #1
Comments
We may want to change names to include the The additional namespacing would reduce ambiguity |
No idea what just happened |
So. Was going to say. Do you have objections to specifying the units in the interfaces? I would prefer SI units, but any fixed units would be preferable to none |
The units in the interface name, e.g. If an interface name has many types in its exposed signals/slots (e.g. thermostat would have temperature, humidity, HVAC state), how would we include that all in the interface name? Or, more concretely, what would that look like for the Venstar bulk-struct?
|
No I mean in the definition of the interface, not in the names |
Oh, so the definition of the interface itself would include that information, rather than it being in-band? I could see that working; obvious next question is if there are any other timeseries tags that would need to be applied at the terminals, but couldn't also be solved in the same way. This is an issue if you see a device that publishes
and you want to label the origins of |
@jhkolb @immesys Initial versions of some basic XBOS interfaces have been added to https://github.com/SoftwareDefinedBuildings/XBOS/tree/master/interfaces . Please review when you have a chance? |
Looks like a good start! Maybe I'm missing something, but is the plan to define only monitoring interfaces for now? What about actuation? |
For now, yes, as that's the most immediate task, but its worth discussing here too There are a couple of related outstanding issues:
Thoughts? |
The discussion at this week's meeting would imply that we publish status information under one large struct, right? Publishing to a I also like the idea of having a separate slot for different actuation commands because of the implications for permissions, although this is now asymmetric with our approach to signals. |
Yes, I think we've decided that we're going to have drivers publish structs (under a single signal in our current interface versions). Regarding the asymmetry, I think we could make the case that we will more likely want to limit the kinds of actuations performed than the data collected. It doesn't make a whole lot of sense to grant access to consume the temperature of the thermostat but not its setpoint (or alternatively the state of a light but not its brightness). Splitting the state publishing on interfaces or instantiations of interfaces forces a slightly coarser permissions structure, but I think this makes it more manageable. However, it may be the case that we want to allow actuation of heating/cooling setpoints, but not allow direct actuation of the thermostat's HVAC state (whether its calling for heat/cool) |
Okay I took a stab at doing this interface decomposition with some examples where we have multiple different slots with different levels of granularity (e.g. a "setpoints" slot for a thermostat vs a "full" actuation slot) https://github.com/SoftwareDefinedBuildings/XBOS/blob/master/interfaces/xbos_thermostat.yaml Its not 100% swagger compliant, but we're getting at a different flavor of interfaces anyway, so I think that's alright. |
Updated Indoor_data and outdoor_temperature service to pymortar
Document an initial set of standard interfaces for device and service drivers
An initial set of interfaces to develop:
The text was updated successfully, but these errors were encountered: