homebridge-meraki-control
Version:
Homebridge plugin to control Meraki devices.
96 lines (87 loc) • 7.1 kB
Markdown
<p align="center">
<a href="https://github.com/grzegorz914/homebridge-meraki-control"><img src="https://raw.githubusercontent.com/grzegorz914/homebridge-meraki-control/main/graphics/meraki.png" width="640"></a>
</p>
<span align="center">
# Homebridge Meraki Control
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
[](https://www.npmjs.com/package/homebridge-meraki-control)
[](https://www.npmjs.com/package/homebridge-meraki-control)
[](https://www.npmjs.com/package/homebridge-meraki-control)
[](https://github.com/grzegorz914/homebridge-meraki-control/pulls)
[](https://github.com/grzegorz914/homebridge-meraki-control/issues)
Homebridge plugin for Meraki Dashboard and Devices control using RESTFull API.
</span>
## Package Requirements
| Package | Installation | Role | Required |
| --- | --- | --- | --- |
| [Homebridge](https://github.com/homebridge/homebridge) | [Homebridge Wiki](https://github.com/homebridge/homebridge/wiki) | HomeKit Bridge | Required |
| [Config UI X](https://github.com/homebridge/homebridge-config-ui-x) | [Config UI X Wiki](https://github.com/homebridge/homebridge-config-ui-x/wiki) | Homebridge Web User Interface | Recommended |
| [Meraki Control](https://www.npmjs.com/package/homebridge-meraki-control) | [Plug-In Wiki](https://github.com/grzegorz914/homebridge-meraki-control/wiki) | Homebridge Plug-In | Required |
## About The Plugin
* Dashboard:
* Expose `Clients` filtered by *Mac Address*.
* Apply policy `Normal, Whitelisted, Group Policy` / `Blocked` for clients.
* Enable/Disable prefix `C.` for `Clients` name displayed in HomeKit.app.
* Expose Contact Sensors in HomeKit app for exposed `Clients`.
* Access Points:
* Switch `ON/OFF SSIDs` in the organisation.
* Enable/Disable prefix `W.` for `SSIDs` name displayed in HomeKit.app.
* Hide `Unconfigured SSIDs` networks, if the name contain word *Unconfigured*.
* Hide `SSIDs` filtered by network *Name*.
* Expose Contact Sensors in HomeKit app for exposed `SSIDs`.
* Switches:
* Switch `ON/OFF` ports.
* Switch `ON/OFF` POE+ ports.
* Enable/Disable prefix `Port Number` for `Ports` name displayed in HomeKit.app.
* Hide `Uplink` ports, if the port name contain word *Uplink*.
* Hide `Ports` filtered by port *Name*.
* Expose Contact Sensors in HomeKit app for exposed `Ports`.
* Siri can be used to switch ON/OFF SSIDs, Policy, Ports.
* Home automations and shortcuts can be used for all functions.
## Configuration
* Run this plugin as a [Child Bridge](https://github.com/homebridge/homebridge/wiki/Child-Bridges) (Highly Recommended), this prevent crash Homebridge if plugin crashes.
* Install and use [Homebridge Config UI X](https://github.com/homebridge/homebridge-config-ui-x/wiki) to configure this plugin.
* The `sample-config.json` can be edited and used as an alternative.
* Be sure to always make a backup copy of your config.json file before making any changes to it.
<p align="center">
<a href="https://github.com/grzegorz914/homebridge-meraki-control"><img src="https://raw.githubusercontent.com/grzegorz914/homebridge-meraki-control/main/graphics/ustawienia.png" width="840"></a>
</p>
| Key | Description |
| --- | --- |
| `name` | Here set the accessory *Name* to be displayed in *Homebridge/HomeKit*. |
| `host` | Here set the *API Path* like `https://n123.meraki.com`, do not use `https://api.meraki.com`. |
| `disableAccessory` | If enabled, the accessory will be disabled. |
| `apiKey` | Here set the *X-Cisco-Meraki-API-Key*. |
| `organizationId` | Here set the *Organization Id*. |
| `networkId` | Here set the *Network Id*. |
| `dashboardClientsControl` | This option *Enable/Disable* dashboard clients control. |
| `enablePrefixForClientName` | This option enable prefix `C.` for *Client* name displayed in HomeKit app. |
| `enableSonsorClients` | This option expose Contact Sensor in HomeKit app for all exposed Clients. |
| `dashboardClientsPolicy.name` | Here set the *Name* to be displayed in the the *Homebridge/HomeKit* for this Client. |
| `dashboardClientsPolicy.mac` | Here set the *Client Mac Address* which You want expose to the *Homebridge/HomeKit*. |
| `dashboardClientsPolicy.type` | Here choice the policy *Type* to be appiled for this Client. |
| `dashboardClientsPolicy.mode` | Here *Activate/Deactivate* this Client control. |
| `accessPointsControl` | This option *Enable/Disable* control of Access Points. |
| `hideUnconfiguredSsids` | If enabled, all *Unconfigured SSIDs* will be hidden and not exposed to the *Homebridge/HomeKit*, the name of this `SSID` must start with `Unconfigured`. |
| `enablePrefixForSsidsName` | This option enable prefix `W.` for *SSIDs* name displayed in HomeKit app. |
| `hideSsids.name` | Here set *SSID Name* which You want hide and not expose to the *Homebridge/HomeKit*. |
| `hideSsids.mode` | Here *Activate/Deactivate* this SSID control. |
| `enableSonsorSsids` | This option expose Contact Sensor in HomeKit app for all exposed SSIDs. |
| `switchesControl` | This option *Enable/Disable* control of Switches. |
| `switches.name` | Here set the *Name* for this Switch. |
| `switches.serialNumber` | Here set the *Serial Number* for this Switch. |
| `switches.hideUplinkPorts` | If enabled, all *Uplink* ports will be hidden and not exposed to the *Homebridge/HomeKit*, the name of this `Port` must start with `Uplink`. |
| `switches.enablePrefixForPortName` | This option enable prefix `Port Number` for *Port* name displayed in HomeKit app. |
| `switches.enablePoePortsControl` | This option enable POE control for controled ports. |
| `switches.enableSensorPorts` | This option enable POE control for controled ports. |
| `switches.mode` | Here *Activate/Deactivate* this Swich control. |
| `switches.hidePorts` | Array of hidden Ports. |
| `switches.hidePorts.name` | Here set *Port Name* which You want hide and not expose to the *Homebridge/HomeKit*. |
| `switches.hidePorts.mode` | Here *Activate/Deactivate* this Port control. |
| `refreshInterval` | Here set the data refresh time in seconds. |
| `disableLogDeviceInfo` | If enabled, add ability to disable log device info by every connections device to the network. |
| `disableLogInfo` | If enabled, disable log info, all values and state will not be displayed in Homebridge log console. |
| `disableLogSuccess` | If enabled, disable logging device success. |
| `disableLogWarn` | If enabled, disable logging device warnings. |
| `disableLogError` | If enabled, disable logging device error. |
| `enableDebugMode` | If enabled, deep log will be present in homebridge console. |