Closed VeniceNerd closed 7 years ago
This is just a device type that isn't yet mapped in the base ISY library. See here
You can modify that file and add it to your own installation. You can also open an issue over at the ISY page to have that device type permanently added.
Ah I see. Now when you say "ISY library" do you mean the ISY Homebridge plugin one or are you actually talking about the Universal Devices ISY library? Because the ISY994 actually recognizes the device. I can control it from my ISY. It just doesn't show up in Homebridge.
And when you say "open an issue" over at the ISY page, didn't I already do that here? Or are you talking about the Universal Devices website?
Thanks!
You have to add your devices to the JSON file. The max limit is 100.
Jeff
Sent from my iPhone
On Feb 3, 2017, at 8:04 PM, VeniceNerd notifications@github.com wrote:
Ah I see. Now when you say "ISY library" do you mean the ISY Homebridge plugin one or are you actually talking about the Universal Devices ISY library? Because the ISY994 actually recognizes the device. I can control it from my ISY. It just doesn't show up in Homebridge.
And when you say "open an issue" over at the ISY page, didn't I already do that here? Or are you talking about the Universal Devices website?
Thanks!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
@fahrvergnuugen looked into this a bit more. Couple of questions:
where on my mac will I find that isydevicetypes.json? Tried a spotlight search but couldn't find it.
where do I find this string "type": "1.0.51.0" for the device I want to add? I know where to get the name and other parameters but not sure what that number stands for or where I'd get it.
what HomeKit "deviceType" s does the ISY-JS support? I'd love to add the open/close module as some sort of "blinds" device but not sure if the ISY-JS supports those. Otherwise I'd probably add it as an "outlet".
@VeniceNerd
/usr/local/lib/node_modules
on my machine, so have a look there. You should find homebridge-isy-js
there, and inside that folder you will find node_modules/isy-js/
. So on my machine, the isydevicetypes.json file's full path is: /usr/local/lib/node_modules/homebridge-isy-js/node_modules/isy-js/isydevicetypes.json
isydevicetypes.json
file is a mapping between ISY insteon types and homekit devicetypes. Homekit has a fixed set of devices in it's API and rodtoll has written the code to wire them together. So I suppose the real question is - what kinds of device types does homebridge-isy-js support? I think the answer is:
@fahrvergnuugen
Oh that's very helpful! Found the json and was also able to spit out the XML file. Here is the readout for one of the devices:
<node flag="128">
<address>3B 48 B3 1</address>
<name>Window Shutter Right</name>
<parent type="3">27213</parent>
<type>14.1.72.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>3B 48 B3 1</pnode>
<ELK_ID>K07</ELK_ID>
<property id="ST" value="255" formatted="On" uom="on/off"/>
</node>
And here is how it shows up on my ISY:
From those I'd guess I'd need to make the following entry to the isydevicetypes.json:
{ "type": "14.1.72.0", "address": "", "name": "(2444-22) Micro Module Open/Close v.48", "deviceType": "Outlet", "connectionType": "Insteon Wired", "batteryOperated": false }
Is that correct? Not sure if I'd need to add anything in the "address" part, though? I see some entries have a "1" there?
Some insteon devices have more than one circuit in them (like the i/o link and fan controllers) and therefore it publishes more than one device address. The Address field in isydevicetypes.json file is there to filter them and set those up as separate homekit device types if necessary.
In your case you should just leave it blank.
The "Name" should be the type of insteon device it is, e.g. (2444-222) Insteon Micro Open/Close Module
, not the user defined name you gave it in your ISY.
It worked! I'll also report the correct string over at the other forum for inclusion. :)
@fahrvergnuugen do you know how complicated it would be to add support for the “public.hap.service.window-covering” HomeKit Service to the base ISY library? I have been running my Micro Open/Close Module as a outlet for the past year and that works fine but I’d really love for my shutter to be identified as windows coverings in HomeKit. It would make using them with Siri so much easier.
Would love to hear your thoughts on how complicated you think this would be...
I'll look into it when I get some free time. Are you using node-red by any chance? If so, you could solve this problem with the mqtt homebridge plugin + node-red...
@fahrvergnuugen awesome! I assume it shouldn’t be “too” difficult. I already added the Micro Open/Close module in isydevicetypes.json but currently have the “deviceType” set to “outlet”.
So really all we would need to figure out is where the plugin translates it’s internal “outlet” deviceType to the HomeKit “public.hap.service.outlet”.
Then we could duplicate that entry and create a new internal device “window-covering” and map it to “public.hap.service.window-covering”.
I assume the “public.hap.service.outlet” is close enough to “public.hap.service.window-covering” to make this fairly straight forward?
Would probably be even simpler if the ISY plugin already has garage door openers defined and we could just take that device and duplicate it to a window covering since they have the same characteristics:
You mentioned the plugin already has support for garage doors but I didn’t see it in the json file.
Oh and I don’t know what mqtt homebridge plugin or node-red are. What do they do?
So far all the devices I have added to my ISY994i automatically show up in my Homebridge. However, I just added 4 "Insteon Micro Open/Close Modules" to my ISY994i and they will not show up in Homebridge.
The only way to get them into Homebridge, currently, is to add a scene, add the device to the scene, and then add that scene in the config.json.
I wouldn't even mind this workaround but there seems to be a further complication with this: if I do not also add a "Keypad" button to the scene the device status will be updated in HomeKit when triggered on the ISY but the commands triggered in HomeKit will not be sent back to the ISY.
If I add a physical Keypad button to the scene the communication works both ways.
Here is my example set up:
Three of my shutters are in the master bedroom. I have one scene that will close/open all three. That scene also has a button assigned so that I can open/close them from my Insteon Keypad. This scene works great. Then I have a scene for just the two window shutters and one more scene for just the door shutter. Neither of those two scenes have a button assigned since I only want to control them with HomeKit. However, these do not execute.
So I am finding two bugs at the moment:
Would love to get those issues resolved if possible. Let me know if I can do anything to help!
Thanks,
Philipp