Skip to content

Plugin Menu Utilities

Colorado Four Wheeler edited this page Apr 3, 2018 · 15 revisions

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

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.


Managing Your Excluded Objects

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.

Excluding Objects

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.

Including Previously Excluded Objects

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.


Advanced Plugin Actions

Rebuild Homebridge Folder

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.

Show Homebridge Log

This Device Action will output the contents of the Homebridge server log for the server selected in the device combobox.

Simulate HomeKit For Server Item

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.

Simulated HomeKit Device Data Dump

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]

Migrate From Homebridge Buddy

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