Skip to content

Commit

Permalink
Merge pull request #141 from w3c/ege-meetup14
Browse files Browse the repository at this point in the history
Meetup 14 Resources
  • Loading branch information
egekorkan authored Mar 12, 2024
2 parents 2a5fe01 + 5a597dc commit b9724c1
Show file tree
Hide file tree
Showing 4 changed files with 207 additions and 0 deletions.
207 changes: 207 additions & 0 deletions Minutes/2024/2024_02_22-minutes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
Meeting Minutes
===

:date: **Date:** 22 February 2024

### :bust_in_silhouette: Participants

<!-- This list will copied over from the meeting tool -->
- Ege Korkan
- Cristiano Aguzzi
- Ben Francis
- Jürgen Pannosch
- Leonhard Esterbauer
- Christian Winkler
- Josh Cohen
- Sandro Kock
- Thomas Wehr
- Michael Mccool
- William Fish
- Farshid Tavakolizadeh
- Kunihiko Toumura
- Michael Koster
- Daniel Peintner
- York Schmidtke
- Jan Romann
- Alexander Schmidt
- Salvatore Cataldi
- Samuele Burattini
- Luca Barbato
- Christian Paul

### :scroll: Agenda

- News from the CG
- Introduction of the Speaker
- Presentation
- Q&A
- Discussion


:writing_hand: **Scribe:** Ege

:computer: **Intro Slides:** https://docs.google.com/presentation/d/1gz5SQmVnOVMZdzN2rziaQBp8ES_gO7XP96hBvZZ28Sc/edit?usp=sharing

:::

### 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 SIEMENS 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 identify common use cases 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 ver well 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 floor map as reference system.

Ege: There are weird position systems out there. How to do plan to support them?

Ben: currently we support x,y and floor number.

William: Location and position are two different concepts. Hello, I'm founder of Manulytica. We understand Modbus and Profinet systems we dealt with this system a lot. How do I change everything into a standardized protocol ? I used Kepware server owned by PTC.

Ege: There were some discussions on the Discord server.

Cris: Schema.org is pretty good for describing location and position.

Michael: We need a modular approach with different 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 experienced 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 benefit of the inclusion of WoT stuff. Yes both standards are competitors, in the home automation though Matter loose. For hobbyist devices, which don't need the rigour of commercial devices, it could be a nice playground where WoT wins.

Ben: for DIY WoT would win for sure. There are open source library implementation of Matter. Matter is really good in low power 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 benefits: programming experience for sure is true. Complicated devices or scenarios might be hard to describe with Matter.

Ben: Matter has commoditized 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 achievement.


## :ballot_box_with_check: Resolutions


## :exclamation: Action Items


## :envelope_with_arrow: Feedbacks

- The standard thinks that actions are short running.

## Presentation Summary

Binary file not shown.
Binary file not shown.

0 comments on commit b9724c1

Please sign in to comment.