sends data to opensensemap.org
Interface to the opensense map service . Use it to send data to opensense map .
- Meta
- Type definitions
- Global Functions
- prepare
- Class OpensenseMap
- Parameters
- Methods
- getSubscriptions
- handleMessage
| | |
| --- | --- |
| File | index.js |
| Abstract | Interface to the opensense map service . Use it to send data to opensense map . |
| Author | Volker Böhm |
| Copyright | Copyright ( c ) 2020 Volker Böhm |
| License | This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose . |
| Name | Type | Description |
| ---- | ---- | ------- |
| name | string | name of the sensor | |
| unit | string | unit of the sensor | |
| topic | string | topic the sensor is matched to | |
| id | string | opensensmap unique id | |
prepare (config, opensenseMap) => {OpensenseMap}
Prepares the object
#### prepare Parameters
| Name | Type | Attribute | Default | Description |
| ---------- | ------------ | ------------ | ------------ | ----------------- |
| config | Object | | | automation configuration | |
| opensenseMap | OpensenseMap | optional | null | existing automation class | |
#### prepare returns
| Type | Description |
| ---- | ----------- |
| OpensenseMap | the prepared automation object |
new OpensenseMap(config)
Creates a class with the ability to publish information to the opensensemap service
``javascript`
const config =
{
"station" : "your station name (optional)",
"id" : "your station id",
"host": "ingress.opensensemap.org",
"port": 443,
"sensors": [{
"name": "temperature",
"uint": "°C",
"topic" : "topic/used/for/the/sensor",
"id": "your sensor id"
}]
}
const opensenseMap = new Opensensemap(config)
let result = await opensensemap.publish(
new Message('topic/used/for/the/sensor', 2.61, 'test value' }
)
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| config | Object | configuration ( sensors , . . . ) | |
#### config properties
| Name | Type | Attribute | Default | Description |
| ---------- | ------------ | ------------ | ------------ | ----------------- |
| station | string | optional | | name of the station | |id
| | string | | | sensebox id ( provided by open sens map ) | |host
| | string | | | host of open sense map | |port
| | port | optional | 443 | portnumer of open sense map ( usually 443 ) | |sensors
| | Sensors | | | opensensemap sensor configuration | |
#### getSubscriptions
getSubscriptions () => {Array.
Gets the subscriptions for the service
##### getSubscriptions returns
| Type | Description |
| ---- | ----------- |
| Array. | array of subscriptions |
#### handleMessage
async handleMessage (message)
Publishes a value to opensensemap ( you need an account to do this ) Publish data provided as Message to opensensemap . You need an account on opensensemap . org The message topic is mapped to the sensor id provided in the config object . The message value it the value to publish
##### handleMessage Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| message | Message | the data to publish on the opensensemap | |
#### message properties
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| topic | string | the topic is used to select the sensor id from config | |value
| | number` | the value to publish to the sensor | |