-
Notifications
You must be signed in to change notification settings - Fork 5.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
Input-plugin for KNX home-automation bus #7048
Conversation
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 think it looks pretty good. I've reviewed it mostly from the perspective of whether or not it looks like typical Go code, and left some comments related to that. They're mostly low priority, but would be nice to have.
I'll get another team member to look it over for any other concerns.
Thanks!
Hi, what is the status of this Plugin? I'd like to push IoT Data from a KNX Bus to Influx cloud. it looks like there is an outstanding review, and also a failing integration test but that hasn't changed since February. |
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.
Looked though the readme and found a typo
@LukasGrebe I'll try to vamp up the code ad now there is potentially another user. :-) I have one request to you as I'm not sure about the config layout. Is this ok for you or can you think of anything better? Especially the grouping in measurements is unusual I guess... :-) |
seems fine to me. maybe two thoughts:
combining 1 and 2 it would be great to have the KNX ids (GA, source) as individual tags in influxDB. eg. a Telegram from Source "1.2.3" to GA "4/5/6" would have 6 tags in Influx:
and 3 tags from the group address
(leaving other group address structures open for future improvements maybe) this would allow arbitrary groupings for measurements in influxDB Queries as any desired data grouping could be achieved though these metadata labels. - but i'm new to influx. maybe this could be achieved with placeholders/partial matching of tag values in influxdb queries? |
i'm missing dpt 7.X - 2-Octet Unsigned Value If i understand vapourismo/knx-go#7 correctly, the |
id love to help with the unsuccessful CI checks.
but i wouldn't know where to start. I'm currently running telegraf on a dev machine, but id love to move it to a docker container on a server machine. Unfortunately i'm not allowed to run custom builds of Telegraf on that mashine, so i'd really appreciate this being part of the official repo. |
cebba3d
to
27ee6d2
Compare
27ee6d2
to
5314351
Compare
@LukasGrebe did my best to make it in time. :-) Will try to get things in time but no promises. If you want to help, I found that some DPTs are missing in the registry of the upstream library, especially in the 14.xxx range... |
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.
You also need to add proper line to LICENSE_OF_DEPENDENCIES.md
(as make check-deps
suggests)
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!
For the sake of completeness: The CI errors are (old) surricata and grok ones not originating from this plugin. |
go kl.listen() | ||
|
||
return nil | ||
} | ||
|
||
func (kl *KNXListener) Stop() { | ||
if kl.client != nil { | ||
kl.client.Close() | ||
} | ||
} |
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.
should there perhaps be a waitGroup used here and wait() called in the Stop() method so that listen() can be allowed to finish what it's doing if it's in the middle of something?
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.
overall lgtm
3930267
to
2724d5b
Compare
!retry-failed |
Co-authored-by: Paweł Żak <pawel.zak.pawel@gmail.com>
Co-authored-by: Paweł Żak <pawel.zak.pawel@gmail.com>
…uoted string format for GA.
2724d5b
to
ea5b502
Compare
!retry-failed |
1 similar comment
!retry-failed |
Required for all PRs:
This pull request adds an input-plugin for the KNX standard used in home and building automation. Using a KNX-IP interface it is possible to wait for messages on that bus and handle them with the full power of telegraf.
As I'm pretty new to golang I like to get comments on the code especially:
I'm aware that some things (especially in knx_helpers.go) belong to the underlying knx-go project. Some things are already on their way but might need time, so bear with me on this end...
Looking forward to suggestions, critics, comments...