homebridge-fiberhome-config

Homebridge Plugin to update Devices configuration from FiberHome Router

Usage no npm install needed!

<script type="module">
  import homebridgeFiberhomeConfig from 'https://cdn.skypack.dev/homebridge-fiberhome-config';
</script>

README

homebridge-fiberhome-config

Description :

Due to lack of DHCP Reservation / Static IP Reservation & enforced AP Isolation on FiberHome Router, it makes homebridge setup for HomeAutomation unstable. After Device reset, FiberHome router assigns the device a new IP Address.

This Plugin tends to fetch newly assigned IP Address from FiberHome Router and updates homebridge configuration to point devices to their correct IP addresses. It uses MAC Address of the device to map HomeKit devices to IP.

Installation :

    $ npm install -g homebridge-fiberhome-config

Usage :

This Plugin creates a switch in HomeKit which is accessible from Home App. You can toggle it and set it on repeat to toggle the switch every x minutes. When Toggled, the switch will fetch all the clients mentioned in config.json e.g. "_Sahil_iPhone": "xx:xx:xx:xx:xx:xx" and will update config.json for homebridge wherever the variable FB_Sahil_iPhone (FB + {VAR_NAME}) is assigned and needs to be constantly updated. The config.json needs to be copied to $HOMEBRIDGE_HOME/config-fiberhome.json for backup purposes.

Sample Config :

{
    "accessories": [
        {
            "accessory": "FiberHome",
            "name": "FiberHome-Network-Updater",
            "routerGateway": "192.168.1.1",
           "macs": {
                "_Sahil_iPhone": "xx:xx:xx:xx:xx:xx",
                "_KitchenLED": "xx:xx:xx:xx:xx:xx",
                "_TVLED": "xx:xx:xx:xx:xx:xx",
                "_LoungeLED": "xx:xx:xx:xx:xx:xx"
            }
        },
        {
            "accessory": "MagicHome",
            "name": "Kitchen LED",
            "ip": "FB_KitchenLED"
        },
        {
            "accessory": "MagicHome",
            "name": "TV LED",
            "ip": "FB_TVLED"
        },
        {
            "accessory": "MagicHome",
            "name": "Sofa LED",
            "ip": "FB_LoungeLED"
        },
         {
            "accessory": "PeoplePlus",
            "name": "Sahil's iPhone",
            "ip": "FB_Sahil_iPhone"
        }
    ]
}

Set disableCache as true to update Unavailable devices to Device Host Unreachable