Observers

From AMTech WikiDocs
Revision as of 11:50, 10 March 2016 by Amarrero (Talk | contribs) (Observers' API)

Jump to: navigation, search

Things' observers

As seen before, it is possible to navigate among the things with the platform (see Tree navigator). The things will be organized by type and they can be filtered according to some regular expression on their name and/or description (see Quick filter).

We introduced the notion of Observer to allow to associate things of different types: for instance, to be able to retrieve the trucks and the clients of a company at the same time which allows to show them together in the map. As shown below, observers make also possible to filter with criteria on other fields than can be numerical, string, boolean and datetime.

More advanced constraints are available on the location and proximity area fields of the things. It is also possible to define criteria on aggregations of the things' snapshots.

Observers creation and loading

First thing to do is to open the observer's editor:

  • Navigate to things and then click on the observer button ObserverEditorButton.png at the bottom of the window.
The observer editor will appear over the navigator with its own menu bar on top of the page and another menu in the right side.
When there is no observer loaded, the editor menu will look like
EmptyObserverEditor.png
  • Click on NewObserverBtn.png to create a new observer and select its name in the opened dialog:
CreateObserverDlg.png
or just open an existing one by clicking on OpenObserverBtn.png and selecting it in the opened window
SelectObserver.png
  • Finally, the observer editor top menu will appear
ObserverEditorMenu.png

Deletion and unloading

Click on ObserverDeleteBtn.png to delete the currently loaded observer or just unload it by using the ObserverUnloadBtn.png. The editor will return to its initial state: EmptyObserverEditor.png

Also, if the observer was executed, and thus the things filtered, the editor will return to the list of collections of entities.

Adding/Removing entity types

In order to show things of different types at the same time you must load or create an observer. The thing types can be chosen with the button ObserverEntityTypeBtn.png and once a type is selected the menu in the right will be updated

 For instance, let us suppose we want to see all the Trucks and the endCustomers of a company. We click on the button once to select type Truck and once to select  endCustomers.Then you can save the observer by clicking on button ObserverSaveBtn.png and the observer editor will look like this
 Observer with trucks and endCustomers
 Execute the observer with button ObserverExecuteBtn.png and the list of things will contain all the trucks and endCustomers the user has access to.
 List of trucks and endCustomers after executing an observer

Allowed criteria

Numerical fields

DateTime fields

String fields

Boolean fields

Location

Aggregation functions

Activity observers

Follower's observers

Observers API

https://<dapurl>/amtech/observersexec/<observeruri>[?params]

Available params:

  • observation:
  • resourceStatusFilter:
  • limit:
  • noOlderThan:
  • offsetId:
  • offsetDate:
  • tenant:
  • includeCount:

Target things

targetthings "[{\"thingType\":\"/amtech/linkeddata/types/composite/entity/truck\",\"thingsId\":[\"truck888\"], proximityarea}]" It allows to establish relations between an observation and things instances grouped by type including a proximity area. It offers a tool to resolve thing type instances. From client to server: It can be configured to used by observer to returns just target things instances. The proximityarea is used at the observation enrichment to assigned target things instances with a location. From server to client: Allows to send observations to specific instances. Example m2mBridge leverages this functionality to implement centralized management and send observations.