"This accessory is not supported by the Home app"
Closed this issue · 5 comments
Hey there, using your plugin with a nodemcu project that I currently control with Siri + IFTTT.
Unfortunately, iOS says it doesn't support the accessory. I have the latest node, and homebridge running and here's the config file:
{
"bridge": {
"name": "Raspberry Homebridge",
"username": "CC:22::CE:30",
"port":,
"pin": "011-15-"
},
"accessories": [
{
"accessory": "HttpGarageDoorController",
"name": "Garage Door",
"doorOperationSeconds":5,
"httpHost": "mockbin.org",
"httpPort": 80,
"httpSsl": false,
"httpRequestTimeoutMilliseconds": 10000,
"apiConfig":
{
"apiType": "Generic",
"doorOpenMethod": "GET",
"doorOpenUrl": "/bin/66ae3fa1-5254-4568-b21f-22fbce7f310",
"doorOpenSuccessContent": "",
"doorCloseMethod": "GET",
"doorCloseUrl": "/bin/66ae3fa1-5254-4568-b21f-22fbce7f310",
"doorCloseSuccessContent": ""
}
}
]
}
Is there something I'm doing wrong?
Is there any error output from HomeBridge, particularly when starting HomeBridge where it loads your config and the module?
tail -f /var/log/syslog
Just this:
Oct 08 16:21:18 raspberrypi homebridge[9347]: [10/8/2017, 4:21:18 PM] [Garage Door] ERROR - Missing or invalid configuration field 'doorOperationSeconds' when 'doorStateUrl' is not set
Looked at your code, the doorOperationSeconds
field belongs inside the config.apiConfig
section. Moved it there and it works now! The docs need to reflect this..
Also, heads up, SSL didn't work for me with the following error:
Oct 8 18:49:02 raspberrypi homebridge[9582]: [10/8/2017, 6:49:02 PM] [Garage Door] Received request to operate the Garage Door: OPEN (currently: CLOSED, target: CLOSED)
Oct 8 18:49:02 raspberrypi homebridge[9582]: [10/8/2017, 6:49:02 PM] [Garage Door] ERROR in setDoorTargetState() - An error occurred during the HTTP request: Invalid protocol: httpssl:
I set the httpssl flag to true. Should I have changed the port?
You've found a couple of bugs in this new release, which I'll need to fix.
With the first one, I suspect the docs are actually right but the code is wrong.
With the second one, the line url = (this.httpSsl ? "httpSsl" : "http")
needs to be url = (this.httpSsl ? "https" : "http")
(and you would need to set the port to 443).