1.0.24 • Published 3 years ago

homebridge-dynamicapi v1.0.24

Weekly downloads
90
License
Apache-2.0
Repository
github
Last release
3 years ago

npm npm Donate verified-by-homebridge

homebridge-dynamicAPI

This is a Homebridge dynamic platform plugin which exposes remote light, temperature, humidity and garage door accessories through a remote API.

Features:

  • Accessories are dynamically created through remote API when Homebridge is started
  • Control remote accessories through API
  • Support of dynamic updates from accessories to support garage door state monitoring and local garage door / light activation.
  • Support of characteristic polling to improve Home application performance.

Optional Features:

  • HTTPS
  • JSON Web Token Security (Auth0 Tested)
  • Support of Self-Signed Certificate

Install

The plugin can be installed by running the command: sudo npm -g homebridge-dynamicapi

Configuration

The configuration of the plugin can be done via the Homebrige GUI or through the Homebridge configuration file.

{
            "remoteApiDisplayName": "<display name>",
            "remoteApiURL": "https://host:8001/API-Endpoint/",
            "remoteApiRejectInvalidCert": false,
            "remoteApiCharPoll": [
                {
                    "Lightbulb": {
                        "enabled": false,
                        "On": true,
                        "Brightness": true,
                        "ColorTemperature": true,
                        "Hue": true,
                        "Saturation": true
                    },
                    "GarageDoorOpener": {
                        "enabled": false,
                        "CurrentDoorState": true,
                        "ObstructionDetected": true
                    },
                    "TemperatureSensor": {
                        "enabled": false,
                        "CurrentTemperature": true,
                        "StatusActive": true
                    },
                    "HumiditySensor": {
                        "enabled": false,
                        "CurrentRelativeHumidity": true,
                        "StatusActive": true
                    }
                }
            ],
            "remoteApiPollInt": 10,
            "directConnectApiPort": 8001,
            "directConnectApiHttps": false,
            "directConnectApiHttpsCertPath": "/<certificate path>/<certificate>",
            "directConnectApiHttpsKeyPath": "/<private key path>/<private key>",
            "jwt": false,
            "jwtAudience": "https://JWT-API-Application/",
            "jwtIssuer": "https://JWT-Issuer/",
            "jwtClientID": "<JWT Client ID>",
            "jwtClientSecret": "<JWT Client Secret>",
            "platform": "<dynamicAPI>"
        }

DIRECT CONNECT API

  • GET / - Shows all devices registered to Homebridge from this platform

  • PATCH /API/ - Updates characteristic of accessory using the UUID field as the index

REMOTE API

  • GET /API/ - Shows API state
  • GET /API/DEVICES/ - Shows all devices and their current status and characteristics
  • GET /API/DEVICES/{uuid:} - Shows current status and characteristics of device with id = {uuid:}
  • GET /API/DEVICES/{uuid:}/CHARACTERISTICS/ - Shows characteristics of device with id = {uuid:}
  • GET /API/DEVICES/{uuid:}/CHARACTERISTICS/{char:}/ - Shows characteristic {char:} of device with id = {uuid:}

  • PATCH /API/DEVICES/{uuid:} - Updates status and characteristics of device with id = {uuid:}

  • PATCH /API/DEVICES/{uuid:}/CHARACTERISTICS/ - Updates characteristics of device with id = {uuid:}
  • PATCH /API/DEVICES/{uuid:}/CHARACTERISTICS/{char:}/ - Update characteristic {char:} of device with id = {uuid:}

ASSOCIATED REMOTE API IMPLEMENTATION

Please see project https://github.com/IanW6374/Raspberry-Garage for an implementation of the Remote API on the Raspberry Pi platform.

1.0.24

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.23

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.18-beta.0

3 years ago

1.0.17

3 years ago

1.0.17-beta.54

3 years ago

1.0.17-beta.52

3 years ago

1.0.17-beta.51

3 years ago

1.0.17-beta.49

3 years ago

1.0.17-beta.48

3 years ago

1.0.17-beta.47

3 years ago

1.0.17-beta.50

3 years ago

1.0.17-beta.46

3 years ago

1.0.17-beta.45

3 years ago

1.0.17-beta.44

3 years ago

1.0.17-beta.43

3 years ago

1.0.17-beta.42

3 years ago

1.0.17-beta.41

3 years ago

1.0.17-beta.40

3 years ago

1.0.17-beta.38

3 years ago

1.0.17-beta.37

3 years ago

1.0.17-beta.36

3 years ago

1.0.17-beta.35

3 years ago

1.0.17-beta.34

3 years ago

1.0.17-beta.33

3 years ago

1.0.17-beta.32

3 years ago

1.0.17-beta.31

3 years ago

1.0.17-beta.39

3 years ago

1.0.17-beta.30

3 years ago

1.0.17-beta.29

3 years ago

1.0.17-beta.28

3 years ago

1.0.17-beta.27

3 years ago

1.0.17-beta.25

3 years ago

1.0.17-beta.24

3 years ago

1.0.17-beta.23

3 years ago

1.0.17-beta.22

3 years ago

1.0.17-beta.21

3 years ago

1.0.17-beta.20

3 years ago

1.0.17-beta.16

3 years ago

1.0.17-beta.15

3 years ago

1.0.17-beta.14

3 years ago

1.0.17-beta.19

3 years ago

1.0.17-beta.18

3 years ago

1.0.17-beta.17

3 years ago

1.0.17-beta.5

3 years ago

1.0.17-beta.7

3 years ago

1.0.17-beta.6

3 years ago

1.0.17-beta.9

3 years ago

1.0.17-beta.8

3 years ago

1.0.17-beta.13

3 years ago

1.0.17-beta.12

3 years ago

1.0.17-beta.11

3 years ago

1.0.17-beta.10

3 years ago

1.0.17-beta.1

3 years ago

1.0.17-beta.0

3 years ago

1.0.17-beta.3

3 years ago

1.0.17-beta.2

3 years ago

1.0.17-beta.4

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12-beta.5

3 years ago

1.0.12-beta.4

3 years ago

1.0.11

3 years ago

1.0.12-beta.3

3 years ago

1.0.12-beta.2

3 years ago

1.0.12-beta.1

3 years ago

1.0.13-beta.0

3 years ago

1.0.12-beta.0

3 years ago

1.0.12

3 years ago

1.0.10-beta.29

3 years ago

1.0.10-beta.27

3 years ago

1.0.10-beta.28

3 years ago

1.0.10-beta.36

3 years ago

1.0.10-beta.25

3 years ago

1.0.10

3 years ago

1.0.10-beta.26

3 years ago

1.0.10-beta.34

3 years ago

1.0.10-beta.23

3 years ago

1.0.10-beta.35

3 years ago

1.0.10-beta.24

3 years ago

1.0.10-beta.32

3 years ago

1.0.10-beta.33

3 years ago

1.0.10-beta.22

3 years ago

1.0.10-beta.30

3 years ago

1.0.10-beta.31

3 years ago

1.0.10-beta.21

3 years ago

1.0.10-beta.20

3 years ago

1.0.10-beta.19

3 years ago

1.0.10-beta.18

3 years ago

1.0.10-beta.17

3 years ago