Meeting Minutes === :::spoiler Document Usage This document is used for all minutes of the WoT CG. After the meeting, the contents will be copied to the GitHub with a PR. === ###### tags: `Meetup` :::spoiler Document Usage This document is used for all minutes of the WoT CG. After the meeting, the contents will be copied to GitHub with a PR. For one week, changes can be requested and then the PR will be merged. After the PR is merged, the content here can be deleted. Document Access: - Everyone has read and commenting access - Cristiano Aguzzi and Ege Korkan can edit the document - Other people can request write access for a meeting - The scribe of the meeting will have write access <!-- Do not change this spoiler container when writing an instance document --> <!-- See for list of emojis --> ::: :::info :date: **Date:** 22 February 2024 ### :bust_in_silhouette: Participants <!-- This list will copied over from the meeting tool --> - Ege Korkan - Cristiano Aguzzi - Ben Francis ### :scroll: Agenda - News from the CG - Introduction of the Speaker - Presentation - Q&A - Discussion :writing_hand: **Scribe:** Ege :computer: **Intro Slides:** ::: ### Introduction Ege: Welcome 14th meeting! We will have a short news section and then we are going to give the floor to Ben presentatio about smart building. ### News Ege: New meetups planned scheduled for March 7, from a previous attender. Next in the cue will be a meetup from Deutsche Telekom about Matter and WoT. Ege: feel free to propose a theme for a next Meetup. Just ping us on discord. #### Speaker Introduction Ege: Ben is wellknown in the community. He is a IE in WoT WG, founder of Krellian and WebThings project and he worked with Mozilla and Google. ### Presentation Ben: Hello everyone! Ben: Businesses side. Businesses are wating money on underutilised and ineffiencent buildings. There is a serious potential for energy saving. Ben: however, usually buildings are monitored with different technologies and it hard to get a choesive view. Ben: Krellian is building a hub to bring everything togheter and get an overall view of building usage. Ben: The core of the Hub is WebThings, stated in Mozilla and now sponsored by Krellian. Ben: currently in the UI of WebThings getway you can control your devices and build a rule engine. Ben: it works great for homes but not for smart buildings. For example does not have a great support for logging. The gateway also feature an add ons marketplace. *Ben shows software architecture of the Gateway* Ben: Plugins can be build with different languages. Ben: The gataway is now a Thing Description 1.1 producer. Ben: On top of this technology there is Krellian cloud. *Ben shows software architecture of Krellian cloud* Ben: Hosted on AWS and stores data on MongoDB. Used as a Timeseries db and structure data like Thing Descriptions. Ben: in Krellian cloud you can add devices by adding URLs of Thing Descriptions. It supports authentication and security bootstraping. OAuth2.0 is limted but it will be improved in the future. Ben: Once you added a bunch of devices you can view its properties and create a building. And monitor multiple of them. You have a google map like view of the buildings. With this map you can place the devices in the real world. Ben: after this setup you can add analytics (which uses advanced features of mongoDB). Krellian solution is W3C compliant. Ben: Lessons learnt and next step Ben: WoT is a powerful tool for consolidating mult-vendor building managment systems. Ben: Neither SSE nor Webhooks scale well enough for this use case. Webhooks does not work in mobile scenarios. Every event is a separate HTTP connection there is not built-in rate limit, which can cause DDoS. On the other end we have SSE that is an upgrade of a HTTP connection Ben: the downside of this is that it force you to have a connection for each affordance. Sadly, you can't have an unlimited connections. This not scale well in browsers (max 6) but it also does not scale well in the backend. Neither of this solutions scale well. The solution is WebSockets. Ben: WebSockets are great but they are not well sopported in TDs. I created a community group with the aim of creating a protocol for the devices. I create a proposal for a websocket subprotocol. Ben: JSONPath is limited. My use case required complex queries. Ben: there is no JSON-LD support and you can filter for values in array. Ben: I created a new proposal for how Profiles and Binding templates can work togheter. Ben: next steps: full OAuth2 implematation and a production distribution of WebThings Gateway. Ben: on the cloud side a richer UI for Things and analitics visulazation. Soon Krellian will release Krellian Hub. Also avaible for consulting. ### Q&A Michael: Thank you very much, I like the expirience of building a MVP. Autopolling feature for discovery it might be intresting. Related to this issue how dinamic should the TD be. Geolocation should be in the TD or in a property (i.e. a vehicle ) how often? Geolocation will be deal with in the next TD release. Ben: good points, TD should be fairly static metadata but sometimes they change. In buildings for example position is fairly static. In tracking vehicles this should be. Micheal: we can use the link in the TD. Just an idea. Cris: SSE can't be used to observeAll or subscribeAll events? Ben: Right some use cases can work but sometimes you want to selectively subscribe to just a number set of events. Cris: about polling positions, is going to hard to handle authorization of a third party service, isn't it? Ben: Yes, but with Webthings gateway it is easier because one gateway handles a whole building and you can fine tuning access policies with the token. Koster: Any chance to integrate non-web protocols with BACNet or Modbus protocol bindings? Ben: Currently not planned. We bridge devices using plugins and web standard protocols Ege: In SIMENS we usually have devices where the number of affordances is huge. In some cases there might be cases where Modbus TDs might be used to easy the bridging old equipment to the web. Farshid: I was wondering if you have done some comparisons with MQTT and Websockets. Ben: No, MQTT it is definitely better for this use case. It's lacking semantics. I'm not there yet. Webthings is exposing both Websockets and HTTP, but if Websockets does not scale well enough I can switch to mqtt. Cris: Any comment on JSONPath? we considered using a tagging system Ben: I didn't went into detail on that but I like the JSONPath approach. Michael: We are looking for a required mechanism. We are going to indetify common usecases and define some well-known queries. We can also pre-expand prefixes before storing. Luca: Regarding protocols, one problem with MQTT (or any protocol that requires with a central broker) is one single point of failure of the broker. Anything else is better. Doing manipulation over JSON, JSONPath has a bunch of problems, XML counter part is better. Something that works verywell is JSONPointer. In the non-standard world there are libraries that are very good and have everything that we need. For a commercial solution might be good. Have you evaluated them? Ben: I got some prototypes, but I implemented my own custom filter. Ege: when you place the TDs where the location is stored? Ben: in the TD the gateway do that too. Ege: How is location calculated? Ben: they are placed with the floormap as reference system. Ege: There are weird posistion systems out there. How to do plan to support them? Ben: currently we suport x,y and floor number. William: Location and position are two differnt concepts. Hello, I'm founder of Capcom analytica. We understand Modbus and Profinet systems we dealt with this system a lot. How do I change everything into a standardized protocol ? I used capware server owned by PTC. Ege: There were some discussions on the Discord server. Cris: is pretty good for describing location and postion. Michael: We need a modular approach with differnt level of abstractions (not really go into details). The problem is that there are a tons of different standards but none of them tick all the boxes. We have been looking at different standards. Josh: about Matter, have you expirenced point of contacts with WoT Ben: there as a downstream fork of Webthings gateway where they create a bridge for Matter. I think we can just bridge it, but I really want to know more what is the best way to operate with matter. Josh: Matter could benifit of the inclusion of WoT stuff. Yes both standards are competitors, in the home automation though Matter loose. For hobbiets devices, which don't need the rigour of commercial devices, it could be a nice playgroud where WoT wins. Ben: for DIY WoT would win for sure. There are open source library implementation of Matter. Matter is really good in lowpower networks. You could describe Matter using a TD. However, Matter has its own TDs. But we can use Matter at local network and bridge with WoT to the cloud. Ege: Binding approach is good but there are also other people working on it. The gateway approach might also work. Matter binding is not good in all places (it has a lot of out band information). The benifits: programming expirience for sure is true. Complicated devices or scenarios might be hard to describe with Matter. Ben: Matter has comotized the hardware. Josh: schemas in matter are fixed, and in order to do something you have to wait for a new publication. What about if you want to build a composite device? how matter would work? Ben: maybe with a zigbee cluster you can combine them. Farshid: you can extend the schema but it is very free. Koster: They feel to have a full stack solution for the problem. It is a philosophical problem in the integrate them with application. Ben: matter didn't really delivered but the fact that two big giants got an agreement is an achivement. ## :ballot_box_with_check: Resolutions ## :exclamation: Action Items ## :envelope_with_arrow: Feedbacks - The standard thinks that actions are short running. ## Presentation Summary