-
Notifications
You must be signed in to change notification settings - Fork 13
Plugin Menu Utilities
In addition to the functions that the server provides, there are also additional functions available to you on the plugin menu that help you to manage your HomeKit Bridge plugin.
Index:
- Move Items Between Servers
- Managing Excluded Objects
- Advanced Plugin Actions: Migrate From Homebridge Buddy
Because you can run multiple servers you may find yourself needing to move an object between two servers and this utility helps you do that easily without the need for you to recreate your object on the new server and delete it from the old one.
The use of this function is fairly self explanatory, you select a source and destination server and the list of items on the source are presented so you can select which objects you wish to move, then click Execute when done.
If the destination server already references the object you want to move then it will be noted on the list as being Unmovable and it will remain on the source server. If the destination server already has an object with the same name as an object you are moving then the list will note Will Rename and that object will have Copy (or Copy 2, Copy 3, etc) added to the end of its name to differentiate it from the other device(s) bearing that name.
If you have a large Indigo device library or a lot of devices that you just never want to use with HomeKit then this feature allows you to tag any of your devices or action groups as excluded so they never show up in any HomeKit Bridge dialog for sending to HomeKit. Likewise you can use this feature to show objects that you have previously excluded.
You can exclude objects in two ways. One is from the server configuration using the Delete and Exclude command on the Include list and the other is to select them here.
Start by selecting the object type you wish to exclude and the list below it will show you the objects that are not yet excluded. Using standard Mac list controls you can select as many items on the list that you want to exclude and then click Hide These Items. You will now see your excluded items below.
Using standard Mac list controls select as many objects as you want and click Include These Items to have them appear in HomeKit Bridge dialogs again. You can use the sort dropdown to change if you want to see them by their Indigo name or by their Indigo type first and then their Indigo name.
If the Homebridge folder becomes corrupt it may be necessary to rebuild the server folder structure and this utility will do just that. If your server won't start for unknown reasons then you can try this to resolve the problem. The only loss in doing this are the historic Homebridge logs, you may want to view the logs first in case there is another problem that is preventing your server from operating properly.
Under normal operation you should see the following in your Homebridge folder (assuming a server ID of 1369872168
):
accessories (FOLDER)
com.webdeck.homebridge.1369872168.plist
config.json
homebridge.log (ONLY IF THE SERVER HAS SUCCESSFULLY TRIED TO START)
persist (FOLDER)
If you do not then that may indicate that there is a problem that requires this utility.
This Device Action will output the contents of the Homebridge server log for the server selected in the device combobox.
This Device Action will report precisely what is being sent to HomeKit if it were sent right now. It differs from the simulator (below) in that the simulator is a "what if" test while this tests the actual configuration of your item on the server it's connected to.
This Plugin Action will allow you to see how HomeKit will see your selected device when it is acting as a particular HomeKit device. This can be a very good diagnostic tool to figure out why your device may not be working properly as the information that will be sent to your log is essentially what HomeKit will see, so if the values are incorrect in this utility they will be incorrect in HomeKit as well.
- Device: The Indigo device to simulate
- HomeKit Type: What you want this device to be in HomeKit
- Invert On/Off: So you can see what happens if you invert the On/Off state (requires the device has On/Off ability natively)
- Include device data dump: This will output the full device data as well as the simulation data, this may be handy when reporting and issue where it's unclear why a device may be reporting to HomeKit incorrectly
Once you set the options and select Execute Action you should see something similar to the following (note the instructions for what to select if you are copy and pasting to Git or the forums, this is important to make sure the information is posted in a way that is easily read):
HomeKit Bridge Simulating HomeKit values for TV
--- SIMULATION COPY-AND-PASTE INSTRUCTIONS ---
If pasting to Git copy BETWEEN [code] and [/code] and paste to Git,
if pasting to the forums, copy INCLUDING [code] AND [/code] and paste
to the forum.
--- COPY FROM BELOW THIS LINE, NOT ABOVE ---
[code]
##### DEVICE DATA DUMP #####
address :
batteryLevel : None
buttonGroupCount : 0
configured : True
description : Virtual device
deviceTypeId : pseudoRelay
displayStateId : onOffState
displayStateImageSel : PowerOff
displayStateValRaw : False
displayStateValUi : off
enabled : True
energyAccumBaseTime : None
energyAccumTimeDelta : None
energyAccumTotal : None
energyCurLevel : None
errorState :
folderId : 1243417866
globalProps : MetaProps : (dict)
com.perceptiveautomation.indigoplugin.devicecollection : (dict)
doToggle : false (bool)
executionType : actionGroup (string)
offActionGroup : 1077979551 (string)
onActionGroup : 1077979551 (string)
statusRequestActionGroup : (string)
statusVariable : 1877112539 (string)
supportsStatusRequest : true (bool)
toggleActionGroup : (string)
id : 1625450171
lastChanged : 2018-04-02 22:58:22
lastSuccessfulComm : 2018-04-02 22:58:22
ledStates : []
model : Virtual On/Off Device
name : TV
onState : False
ownerProps : com.perceptiveautomation.indigoplugin.devicecollection : (dict)
doToggle : false (bool)
executionType : actionGroup (string)
offActionGroup : 1077979551 (string)
onActionGroup : 1077979551 (string)
statusRequestActionGroup : (string)
statusVariable : 1877112539 (string)
supportsStatusRequest : true (bool)
toggleActionGroup : (string)
pluginId : com.perceptiveautomation.indigoplugin.devicecollection
pluginProps : com.eps.indigoplugin.homekit-bridge : (dict)
protocol : Plugin
remoteDisplay : True
states : States : (dict)
onOffState : off (on/off bool)
subModel :
supportsAllLightsOnOff : False
supportsAllOff : False
supportsStatusRequest : True
version : None
##### DEVICE SIMULATION DATA #####
Service :
alias : TV
model :
subModel :
indigoType : indigo.RelayDevice
pluginType : indigo.RelayDevice.com.perceptiveautomation.indigoplugin.devicecollection.pseudoRelay
type : Switch
desc : Switch
objId : 1625450171
serverId : 1369872168
invertOnState : False
convertFahrenheit : False
required : (List)
On : False
optional : (List)
native : True
requiresPlugin : (List)
actions : (List)
Action : (HomeKitAction)
Characteristic : On
When : equal
Value : False (bool)
Value2 : 0 (bool)
Command : device.turnOff
Arguments : [1625450171]
monitors : {1625450171: 'attr_onState'}
Action : (HomeKitAction)
Characteristic : On
When : equal
Value : True (bool)
Value2 : 0 (bool)
Command : device.turnOn
Arguments : [1625450171]
monitors : {1625450171: 'attr_onState'}
loadOptional : False
characterDict : (Dict)
On : False
[/code]
This Plugin Action allows for a simple one-click migration for users of Homebridge-Indigo and Homebridge Buddy. This will read in all devices you have configured directly on the server as well as any Wrapper or Alias devices that are attached to the server and create a HomeKit Bridge server with all of the same devices defined as the same alias names and same device types.
This action will run automatically when you start HomeKit Bridge the first time if you do not have any HomeKit Bridge servers and have Homebridge Buddy servers in your Indigo or a Homebridge-Indigo configuration in your home folder.
This will always create a folder called HomeKit Bridge in Indigo and any servers created using this migration method will appear there.
It should be noted that Homebridge Buddy Alias devices will not migrate since their function is negated by this plugin. The alias devices will appear in the plugin just as they did in Homebridge Buddy except the plugin will reference the native device rather than the alias. Once migrated you can remove your alias devices safely.
Once the migration has completed feel free to edit the server to change device types or alias names on the migrated items.
HomeKit Bridge Migrating from Homebridge Buddy and Homebridge-Indigo to HomeKit Bridge...
HomeKit Bridge Migrating found Homebridge-Indigo configuration
HomeKit Bridge adding 'Armoir' as a lightbulb
HomeKit Bridge adding 'Back Curtains' as a window covering
HomeKit Bridge adding 'Bar' as a lightbulb
HomeKit Bridge adding 'Bedroom Curtains' as a window covering
HomeKit Bridge adding 'Bedroom Deck' as a lightbulb
HomeKit Bridge adding 'Christmas' as a switch
HomeKit Bridge adding 'Curtains' as a window covering
HomeKit Bridge adding 'Entryway' as a lightbulb
HomeKit Bridge adding 'Fireplace' as a lightbulb
HomeKit Bridge adding 'Front Door' as a lock
HomeKit Bridge adding 'Garage Door' as a garage door opener
HomeKit Bridge adding 'Hallway' as a switch
HomeKit Bridge adding 'Kitchen Light' as a lightbulb
HomeKit Bridge adding 'Main Deck' as a lightbulb
HomeKit Bridge adding 'Media Server' as a switch
...
HomeKit Bridge Migrating Homebridge Buddy server 'Homebridge Wife Server'
HomeKit Bridge adding 'Fireplace' as a lightbulb
HomeKit Bridge adding 'Front Door' as a lock
HomeKit Bridge adding 'Garage Door' as a garage door opener
HomeKit Bridge adding 'Hallway' as a switch
HomeKit Bridge adding 'Kitchen Echo' as a lightbulb
HomeKit Bridge adding 'Kitchen Light' as a lightbulb
HomeKit Bridge adding 'Main Deck' as a lightbulb
HomeKit Bridge adding 'Media Server' as a switch
HomeKit Bridge adding 'My Mail' as a switch
HomeKit Bridge adding 'Office Apple TV' as a lightbulb
HomeKit Bridge adding 'Office Echo' as a lightbulb
HomeKit Bridge adding 'Porch' as a switch
HomeKit Bridge adding 'Rec Room Apple TV' as a lightbulb
HomeKit Bridge adding 'Side Curtains' as a window covering
HomeKit Bridge adding 'Side Deck' as a lightbulb
HomeKit Bridge adding 'Sleeping' as a lightbulb
HomeKit Bridge adding 'Sunset' as a lightbulb
HomeKit Bridge adding 'Theater Lamp' as a lightbulb
HomeKit Bridge adding 'TV' as a switch
...
HomeKit Bridge Migrating Homebridge Buddy server 'Homebridge Server'
HomeKit Bridge adding 'Vanity' as a lightbulb
HomeKit Bridge adding 'Wolf Switch' as a switch
HomeKit Bridge adding 'Bathroom Fan' as a switch
HomeKit Bridge adding 'Bedroom Entry' as a lightbulb
HomeKit Bridge adding 'Ceiling' as a switch
HomeKit Bridge adding 'Couch Floor' as a lightbulb
HomeKit Bridge adding 'Couch Table' as a lightbulb
HomeKit Bridge adding 'Desk' as a switch
HomeKit Bridge adding 'Dinner Table' as a lightbulb
HomeKit Bridge adding 'Office' as a switch
HomeKit Bridge adding 'Laundry' as a lightbulb
HomeKit Bridge adding 'Master Bath Fan' as a switch
HomeKit Bridge adding 'Motion Bedroom' as a motion sensor
HomeKit Bridge adding 'Motion Office' as a motion sensor
HomeKit Bridge adding 'Motion Guest Suite' as a motion sensor
HomeKit Bridge adding 'Motion Kitchen' as a motion sensor
HomeKit Bridge adding 'Motion TV' as a motion sensor
HomeKit Bridge adding 'Nightstand' as a lightbulb
HomeKit Bridge adding 'Sofa' as a switch
...
HomeKit Bridge Homebridge Buddy migration has completed, you will find any servers that were created in a folder called 'HomeKit Bridge' in your devices.
You'll notice some devices may have a suffix in parenthesis, this indicates that it's type was determined by something other than the original configuration:
- assumed: No type was specified and the plugin couldn't determine the type but it supports being this type
- autodetected: No type was specified and the plugin determined that the HomeKit type should be this
You will also see an additional statement below any devices that normally may detect as a particular HomeKit type but that HomeKit type is not yet fully implemented in HomeKit or Homebridge:
normally 'Kitchen Echo Dot' would be a Speaker but that is not yet supported
HomeKit Bridge for Indigo Copyright (c) 2018 Colorado4Wheeler
HomeKit Indigo Version 2 Homebridge Script Copyright (c) 2018 Webdeck
Indigo Copyright (c) Perceptive Automation
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.