You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fast forward doc and examples
* add contributing section in README
* allow class_member set only for class member parameters
* add Zenodo link
* Add Node-WoT client example to README (#73)
* add main-next-release to test workflows, & some minor generic updates (#75)
* resolve issue/69 (#76)
---------
Co-authored-by: Patricia Kimmerle <159075491+PFKimmerle@users.noreply.github.com>
Co-authored-by: Marcusfam-RB <71035055+Marcusfam-RB@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,10 @@ This release will contain a lot of new features and improvements so that a versi
25
25
Not finalised:
26
26
- cookie auth & its specification in TD (cookie auth branch)
27
27
28
+
## [v0.2.11] - 2025-04-25
29
+
30
+
- new feature - support for JSON files as backup for property values (use with `db_commit`, `db_persist` and `db_init`). Compatible only with JSON serializable properties.
31
+
28
32
## [v0.2.10] - 2025-04-05
29
33
30
34
- bug fixes to support `class_member` properties to work with `fget`, `fset` and `fdel` methods. While using custom `fget`, `fset` and `fdel` methods for `class_member`s,
@@ -307,22 +310,104 @@ Here one can see the use of `instance_name` and why it turns up in the URL path.
307
310
308
311
##### NOTE - The package is under active development. Contributors welcome, please check CONTRIBUTING.md and the open issues. Some issues can also be independently dealt without much knowledge of this package.
309
312
310
-
-[example repository](https://github.com/VigneshVSV/hololinked-examples) - detailed examples for both clients and servers
311
-
-[helper GUI](https://github.com/VigneshVSV/thing-control-panel) - view & interact with your object's actions, properties and events.
313
+
-[examples repository](https://github.com/hololinked-dev/examples) - detailed examples for both clients and servers
314
+
-[helper GUI](https://github.com/hololinked-dev/thing-control-panel) - view & interact with your object's actions, properties and events.
315
+
-[live demo](https://control-panel.hololinked.dev/#https://examples.hololinked.dev/simulations/oscilloscope/resources/wot-td) - an example of an oscilloscope available for live test
312
316
313
317
See a list of currently supported possibilities while using this package [below](#currently-supported).
314
318
315
319
> You may use a script deployment/automation tool to remote stop and start servers, in an attempt to remotely control your hardware scripts.
316
320
317
-
### A little more about Usage
321
+
### Using APIs and Thing Descriptions
318
322
319
323
The HTTP API may be autogenerated or adjusted by the user. If your plan is to develop a truly networked system, it is recommended to learn more and
320
-
use [Thing Descriptions](https://www.w3.org/TR/wot-thing-description11) to describe your hardware (This is optional and one can still use a classic HTTP client). A Thing Description will be automatically generated if absent as shown in JSON examples above or can be supplied manually. The default end point to fetch thing descriptions are: <br> `http(s)://<host name>/<instance name of the thing>/resources/wot-td` <br>
321
-
If there are errors in generation of Thing Description
322
-
(mostly due to JSON non-complaint types), one could use: <br> `http(s)://<host name>/<instance name of the thing>/resources/wot-td?ignore_errors=true`
324
+
use [Thing Descriptions](https://www.w3.org/TR/wot-thing-description11) to describe your hardware (This is optional and one can still use a classic HTTP client). A Thing Description will be automatically generated if absent as shown in JSON examples above or can be supplied manually. The default end point to fetch thing descriptions are:
If there are errors in generation of Thing Description (mostly due to JSON non-complaint types), use the second endpoint which may generate at least a partial but useful Thing Description.
332
+
333
+
### Consuming Thing Descriptions using node-wot (Javascript)
334
+
335
+
The Thing Descriptions (TDs) can be consumed with Web of Things clients like [node-wot](https://github.com/eclipse-thingweb/node-wot). Suppose an example TD for a device instance named `spectrometer` is available at the following endpoint:
You can see an example [here](https://gitlab.com/hololinked/examples/clients/node-clients/phymotion-controllers-app/-/blob/main/src/App.tsx?ref_type=heads#L77).
Try out the above code snippets with an online example [using thisTD](http://examples.hololinked.net/simulations/spectrometer/resources/wot-td).
400
+
> Note: due to reverse proxy buffering, subscribeEvent may take up to 1 minute to receive data. All other operations work fine.
401
+
402
+
In React, the Thing Description may be fetched inside `useEffect` hook, the client passed via `useContext` hook and the individual operations can be performed in their own callbacks attached to user elements.
- control method execution and property write with a custom finite state machine.
@@ -335,15 +420,11 @@ If there are errors in generation of Thing Description
335
420
- run direct ZMQ-TCP server without HTTP details
336
421
- serve multiple objects with the same HTTP server, run HTTP Server & python object in separate processes or the same process
337
422
338
-
Again, please check examples or the code for explanations. Documentation is being activety improved.
339
-
340
-
### Currently being worked
341
-
342
-
- unit tests coverage
343
-
- separation of HTTP protocol specification like URL path and HTTP verbs from the API of properties, actions and events and move their customization completely to the HTTP server
344
-
- serve multiple things with the same server (unfortunately due to a small oversight it is currently somewhat difficult for end user to serve multiple things with the same server, although its possible. This will be fixed.)
345
-
- improving accuracy of Thing Descriptions
346
-
- cookie credentials for authentication - as a workaround until credentials are supported, use `allowed_clients` argument on HTTP server which restricts access based on remote IP supplied with the HTTP headers. This wont still help you in public networks or modified/non-standard HTTP clients.
347
-
423
+
Again, please check examples or the code forexplanations. Documentation is being actively improved.
348
424
425
+
### Contributing
349
426
427
+
See [organization info](https://github.com/hololinked-dev) for details regarding contributing to this package. There is:
0 commit comments