-
-
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
[mycroft] Initial contribution #11040
[mycroft] Initial contribution #11040
Conversation
d8c1dd7
to
4691317
Compare
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.
Thank you VERY much for contributing this binding.
I myself am still waiting for my Mark II...
However, its nice to see openHAB support for it. I just stumbled across your PR and since you had to wait for a while already, I thought I can help you in getting it merged.
Usually before I go deeper in the code, I have a look at the general idea on how it is implemented. Hence, I left my first comments all on the README file, so you can have a look at them and we can discuss them or you can directly address them if you do not have further questions.
So far the overall approach looks quite good which is why I only had some minor comments.
Once we agree how things should be implemented, I will go through the code and see if there are things which I can help you to improve as well.
Thanks for helping out on the review here @t2000! I'll happily be the second reviewer with the merge rights afterwards. 😄 |
Many thanks to you, @t2000 and @kaikreuzer, for taking the time to review this binding. I'm happy to see it could be of some use to you, and I hope the situation at Mycroft will be resolved soon for the mark II to go to market and to your mailboxes ! |
706cfc8
to
fefa134
Compare
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 found some time and went through your code.
The overall quality of the code looks quite good, so I only have some minor comments.
Please have a look and address them in separate commits or just reply to my comment if anything is unclear.
...enhab.binding.mycroft/src/main/java/org/openhab/binding/mycroft/internal/MycroftActions.java
Outdated
Show resolved
Hide resolved
...enhab.binding.mycroft/src/main/java/org/openhab/binding/mycroft/internal/MycroftHandler.java
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/binding/binding.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
44df6b5
to
c8ff528
Compare
Apart from that last question: #11040 (comment) I am fine with that MR now. Thank you very much for your efforts so far! |
Thanks for your answers, could you please |
c8ff528
to
0bca9f4
Compare
Rebase done :) |
@dalgwen Thank you very much for your contribution. Unfortunately I am not one of the maintainers, but I am sure that your code is now in a pretty good state to be merged ;) @kaikreuzer Since you have already volunteered to have a look at this PR: The stage is yours. I am almost sure that you will find some more tiny glitches, because you always do. :-) So please have a look at this PR, thanks. |
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 for the contribution @dalgwen, it looks really good, I only have minor remarks, but nothing serious.
I am almost sure that you will find some more tiny glitches, because you always do.
I am always trying not to be too picky, but I somehow cannot help it - I end up with quite some list of further comments. 😉 But thanks for your review, @t2000, much appreciated!
|
||
## Supported Things | ||
|
||
The only thing managed by this binding is a Mycroft instance. |
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.
Can you name directly the thing type id here?
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 also elaborate what an "instance" exactly could be (hardware / software)?
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 didn't find a more suited world to describe "a Mycroft" (as you guessed, the world should encompass the hardware version, and the picroft version, and every kind of Mycroft running on any computer ?)
Do you have something in mind, or should I just go for a brief description behind "instance" ? I think will put a description, tell me if you'd rather something else.
"The only thing managed by this binding is a Mycroft instance. (e.g. Mark I/II, Picroft, or any other variant)"
<channel id="speak" typeId="speak-channel"/> | ||
<channel id="utterance" typeId="utterance-channel"/> | ||
<channel id="player" typeId="player-channel"/> | ||
<!-- <channel id="volume" typeId="volume-channel"/> --> |
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.
<!-- <channel id="volume" typeId="volume-channel"/> --> | |
<!-- <channel id="volume" typeId="system.volume"/> --> |
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.
Done
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.mycroft/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus. Signed-off-by: Gwendal ROULLEAU <[email protected]>
Signed-off-by: Gwendal ROULLEAU <[email protected]>
Signed-off-by: Gwendal ROULLEAU <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
2c5c865
to
c00f286
Compare
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
…el types Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Delete the duck channel Workaround for Mycroft bad management of volume. Signed-off-by: Gwendal Roulleau <[email protected]>
c00f286
to
684149f
Compare
Unless I missed something or the build failed, I think I dealt with all the comments 🎉 |
Signed-off-by: Gwendal Roulleau <[email protected]>
Signed-off-by: Gwendal Roulleau <[email protected]>
Thanks for your updates!
I would say so, yes - thanks for your detailed explanation from which it seems as if this channel will be useful. |
Signed-off-by: Gwendal Roulleau <[email protected]>
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, looks all wonderful to me now. 😄
@t2000 Do you want to have a last look before merging?
@kaikreuzer I had a brief look on the latest changes. LGTM. @dalgwen Thank you for your efforts and implementing the volume hack. I am waiting for my Mark II to arrive, so I can finally test it (even though it doesn't look as cute as when it was originally announced and thus my gf doesn't like the look of it anymore...). |
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.
LGTM
Please create a subsequent PR to add the default translation properties file. |
I take this opportunity : Thank you for thinking about thing like that, and keeping the project clean ! |
And finally, you could add your binding's logo to the openHAB website. See https://www.openhab.org/docs/developer/bindings/#add-your-binding-s-logo-to-the-openhab-website |
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus. Signed-off-by: Gwendal Roulleau <[email protected]>
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus. Signed-off-by: Gwendal Roulleau <[email protected]>
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus. Signed-off-by: Gwendal Roulleau <[email protected]> Signed-off-by: Nick Waterton <[email protected]>
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus. Signed-off-by: Gwendal Roulleau <[email protected]>
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus. Signed-off-by: Gwendal Roulleau <[email protected]> Signed-off-by: Andras Uhrin <[email protected]>
[mycroft] Initial Contribution
"Mycroft is the world’s leading open source voice assistant. It is private by default and completely customizable."
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus.
Possibilies include :
Here a link to the forum thread I opened.
Here a link to the JAR builded against 3.2.0
fixes #11033
Signed-off-by: Gwendal ROULLEAU [email protected]