@mangar2/devices

2.0.0 • Public • Published

Abstract

Access device configuration of a json data structure used for a device config file

Contents

Meta

File devices.js
Abstract Access device configuration of a json data structure used for a device config file
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 .

Class Devices

new Devices(config)

Constructs a new device and sets the device configuration

Example

const deviceJson = {
 level0: {
      room1: {
          devices: {
              device1: {
                  'Friendly name': 'Washing machine',
                  topic: 'cellar/washing machine',
                  id: 'Washingmachine',
                  interface: 'zwave'
              }
          }
      }
  }
const devices = new Devices(deviceJson)
const deviceByTopic = devices('cellar/washing machine')
const deviceByAttribute = devices('id', 'Washingmachine')

Devices Parameters

Name Type Description
config object device configuration structure

Devices Methods

attributeToDevices

attributeToDevices (attributeName, attributeValue) => {Array.<object>, undefined}

Maps an attribute to a device

attributeToDevices Parameters
Name Type Description
attributeName string name of the attribute to look foor
attributeValue string value of the attribute
attributeToDevices returns
Type Description
Array.<object>, undefined array of devices with the same value for attributeName

iterate

iterate (attributeName, callback)

private Iterates through all configured devices

iterate Parameters
Name Type Description
attributeName string name of the attribute to look for
callback iterateCallback function called for each topic

topicToDevice

topicToDevice (topic) => {object}

Maps a topic to a device

topicToDevice Parameters
Name Type Description
topic string topic to search for
topicToDevice returns
Type Description
object device info object

Readme

Keywords

Package Sidebar

Install

npm i @mangar2/devices

Weekly Downloads

1

Version

2.0.0

License

LGPL-3.0-or-later

Unpacked Size

11.5 kB

Total Files

5

Last publish

Collaborators

  • mangar2