-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HDanywhere] Add support for new line of matrices & updated the documentation #1883
Conversation
@kgoderis, thanks for your PR! By analyzing the history of the files in this pull request, we identified @kaikreuzer and @svilenvul to be potential reviewers. |
|
||
This binding integrates with [HDanywhere](http://www.hdanywhere.co.uk) HDMI matrices. | ||
|
||
HDanywhereis a manufacturer of multiroom/distributed audio/video equipment. This binding supports their V3 of the Multiroom+ HDMI matrix running firmware V1.2(20131222), as well as the newer MHUB series of matrices. These matrices support the highest HD resolutions, including 1080p 3D & 4K, use a single Cat5e/6/7 wiring structure with reliable performance up to 100m, have IR passback to allow you to select and control what you watch from every room and are fully compatible with universal remote controls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HDanywhere is
|
||
HDanywhereis a manufacturer of multiroom/distributed audio/video equipment. This binding supports their V3 of the Multiroom+ HDMI matrix running firmware V1.2(20131222), as well as the newer MHUB series of matrices. These matrices support the highest HD resolutions, including 1080p 3D & 4K, use a single Cat5e/6/7 wiring structure with reliable performance up to 100m, have IR passback to allow you to select and control what you watch from every room and are fully compatible with universal remote controls | ||
|
||
The matrixes can be controlled by either UDP/IP and/or Serial connections, but due to the lack of feedback on the actual state of the HDMI matrix when using those methods, this binding operates by controlling the built-in webserver of the matrix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
matrices
|
||
## Discovery | ||
|
||
The binding does not support a discovery feature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
feature.
|
||
## Thing Configuration | ||
|
||
Each thing requires the IP address of the matrix, and the interval in between status updates that are fetched from the matrix. Additionally, the *multiroomplus* has an additional required parameter 'ports' to specify the number of physical ports (e.g. 4x4, 8x8,...) of the matrix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
matrix.
| port8 | Number | The number of the input port that is connected to the output port 8 | | ||
|
||
|
||
## Binding Configuration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate of existing section above.
<implementation class="org.openhab.binding.hdanywhere.internal.HDanywhereHandlerFactory"/> | ||
|
||
<reference bind="setItemChannelLinkRegistry" cardinality="1..1" interface="org.eclipse.smarthome.core.thing.link.ItemChannelLinkRegistry" name="ItemChannelLinkRegistry" policy="static" unbind="unsetItemChannelLinkRegistry"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So bindings are allowed to use the ItemChannelLinkRegistry now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@watou ;-) I see no reason why they would not be allowed to do so, do you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't say that I know enough to have a fully informed opinion, but with that huge caveat, no I don't know of a reason! ;-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it is not, see here.
I guess Karel wants to work around the fact that eclipse-archived/smarthome#595 isn't yet implemented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same reason it's now used in KNX 2.0 binding?
here the idea is to overrule whatever is set by means of the AutoUpdate binding, eg the binding will report back the actual state of a Channel, and does not need the runtime to update the Item
… On 13 Feb 2017, at 10:21, John Cocula ***@***.***> wrote:
@watou commented on this pull request.
In addons/binding/org.openhab.binding.hdanywhere/OSGI-INF/HDanywhereHandlerFactory.xml:
> <implementation class="org.openhab.binding.hdanywhere.internal.HDanywhereHandlerFactory"/>
-
+ <reference bind="setItemChannelLinkRegistry" cardinality="1..1" interface="org.eclipse.smarthome.core.thing.link.ItemChannelLinkRegistry" name="ItemChannelLinkRegistry" policy="static" unbind="unsetItemChannelLinkRegistry"/>
Same reason it's now used in KNX 2.0 binding?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
The list of bundles reads as list of suggestive bundles to use, and not as an exhaustive list, at least to me it does
@kaikreuzer Shall we proceed with the workaround until the disable feature is provided?
…Sent from my iPhone
On 13 Feb 2017, at 10:09, Kai Kreuzer ***@***.***> wrote:
@kaikreuzer commented on this pull request.
In addons/binding/org.openhab.binding.hdanywhere/OSGI-INF/HDanywhereHandlerFactory.xml:
> <implementation class="org.openhab.binding.hdanywhere.internal.HDanywhereHandlerFactory"/>
-
+ <reference bind="setItemChannelLinkRegistry" cardinality="1..1" interface="org.eclipse.smarthome.core.thing.link.ItemChannelLinkRegistry" name="ItemChannelLinkRegistry" policy="static" unbind="unsetItemChannelLinkRegistry"/>
No, it is not, see here.
I guess Karel wants to work around the fact that eclipse-archived/smarthome#595 isn't yet implemented.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
No, I don't think so. What is the issue with having the state update event? Your binding can still send the "final" state itself as soon as it can provide it? That's how it works for almost all bindings. |
The fact that you have 2 updates; and when it does not update it would indicate that there is some kind of problem with the device, instead of going unnoticed.
… On 13 Feb 2017, at 18:15, Kai Kreuzer ***@***.***> wrote:
@kaikreuzer Shall we proceed with the workaround until the disable feature is provided?
No, I don't think so. What is the issue with having the state update event? Your binding can still send the "final" state itself as soon as it can provide it? That's how it works for almost all bindings.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
That's absolutely fine and just the way it is designed. Consider the first update to be the "optimistic, but quick guess" and the second as the "definitive, but slow update". |
ec8307a
to
735b416
Compare
@kaikreuzer done with the small fixes + auto-update revert. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, just some very small remarks.
String response = HttpUtil.executeUrl(httpMethod, url, httpHeaders, stream, | ||
"application/x-www-form-urlencoded; charset=UTF-8", timeout); | ||
} catch (IOException e) { | ||
logger.error("Communication with device failed: {}", e); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you set the ThingStatus to OFFLINE with an according message and reduce the logging to debug?
org.apache.commons.lang, | ||
org.eclipse.smarthome.config.core, | ||
org.eclipse.smarthome.core.autoupdate, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this line can be removed again
org.eclipse.smarthome.core.library.types, | ||
org.eclipse.smarthome.core.thing, | ||
org.eclipse.smarthome.core.thing.binding, | ||
org.eclipse.smarthome.core.thing.link, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dito
Signed-off-by: Karel Goderis <[email protected]>
735b416
to
de0451b
Compare
@kaikreuzer done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
…b#1883) Signed-off-by: Karel Goderis <[email protected]>
* Fix wrong Location_Indoor_Floor_SecondFloor translation * Remove redundant whitespace chars Signed-off-by: Wouter Born <[email protected]>
Signed-off-by: Karel Goderis [email protected]