- Shall we take into account XML or XML Schema (see issues below)
- TD issue #139
- SAP guidelines for XML
- NPM Libraries
- MOST of the libs support one-way only, we need bi-directional
| Servient = require("@node-wot/core").Servient; | |
| OPCUAClientFactory = require("@node-wot/binding-opcua").OPCUAClientFactory; | |
| const thingDescription = { | |
| "@context": "https://www.w3.org/2019/wot/td/v1", | |
| "@type": ["Thing"], | |
| securityDefinitions: { nosec_sc: { scheme: "nosec" } }, | |
| security: "nosec_sc", | |
| title: "servient", | |
| properties: { |
| import javafx.application.Application; | |
| import javafx.beans.binding.Bindings; | |
| import javafx.beans.property.ReadOnlyBooleanProperty; | |
| import javafx.beans.property.ReadOnlyBooleanWrapper; | |
| import javafx.beans.property.SimpleStringProperty; | |
| import javafx.beans.property.StringProperty; | |
| import javafx.collections.FXCollections; | |
| import javafx.collections.ObservableList; | |
| import javafx.scene.Scene; | |
| import javafx.scene.control.*; |
| npm install @node-wot/core | |
| npm install @node-wot/binding-opcua | |
| npm install @node-wot/binding-http | |
| # Demo | |
| ## 1. Open counter website | |
| Open http://plugfest.thingweb.io/examples/counter.html and listen on change events. | |
| Note: Doing so the counter value will be updated in the UI once "someone" changes the value |
| // demo-opcua1.js | |
| Servient = require("@node-wot/core").Servient; | |
| OPCUAClientFactory = require("@node-wot/binding-opcua").OPCUAClientFactory; | |
| const thingDescription = { | |
| "@context": "https://www.w3.org/2019/wot/td/v1", | |
| "@type": ["Thing"], | |
| securityDefinitions: { nosec_sc: { scheme: "nosec" } }, | |
| security: "nosec_sc", | |
| title: "servient", |
| // demo-opcua1.ts | |
| import { Servient } from "@node-wot/core"; | |
| import { OPCUAClientFactory } from "@node-wot/binding-opcua"; | |
| const thingDescription : WoT.ThingDescription = { | |
| "@context": "https://www.w3.org/2019/wot/td/v1", | |
| "@type": ["Thing"], | |
| securityDefinitions: { nosec_sc: { scheme: "nosec" } }, | |
| security: "nosec_sc", | |
| title: "servient", |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset='utf-8' /> | |
| <title> | |
| Dynamically switch between timezones - Demos | FullCalendar | |
| </title> |
| /******************************************************************************** | |
| * Copyright (c) 2022 Contributors to the Eclipse Foundation | |
| * | |
| * See the NOTICE file(s) distributed with this work for additional | |
| * information regarding copyright ownership. | |
| * | |
| * This program and the accompanying materials are made available under the | |
| * terms of the Eclipse Public License v. 2.0 which is available at | |
| * http://www.eclipse.org/legal/epl-2.0, or the W3C Software Notice and | |
| * Document License (2015-05-13) which is available at |
| import WoTImpl from '../../src/wot-impl'; | |
| import { ThingDescription as ThingDescriptionSchema } from './thing-description'; | |
| declare module "wot-typescript-definitions" { | |
| /** | |
| * Dictionary that represents the constraints for discovering Things as key-value pairs. | |
| */ | |
| export interface ThingFilter { |
| // example-client.js | |
| Servient = require("@node-wot/core").Servient | |
| HttpClientFactory = require("@node-wot/binding-http").HttpClientFactory | |
| Helpers = require("@node-wot/core").Helpers | |
| // create Servient and add HTTP binding | |
| let servient = new Servient(); | |
| servient.addCredentials({ | |
| "urn:dev:wot:org:eclipse:thingweb:my-example-secure": { |