Contributing
How to report problems, propose changes and add support for more devices.
Tinkerbus is early and welcomes help, in particular from people with KNX devices and installations the author does not have.
The repository
The source lives on git.tinkerbus.org. A written contribution process does not exist yet. Until it does, you can reach the maintainer at [email protected].
Report a problem
Useful reports contain:
- what you did and what you expected,
- the version (commit hash) and platform,
- for bus problems, the output of the command line tool and, if it is safe to share, a capture
(
tsharkoutput thatknxcapcan decode), - for project problems, what is special about the project, and a reduced example if you can make one. Do not post project files of customers or passwords.
Support another device
The most valuable contribution is a verified mask or device family. A new mask needs:
- a reference download of a device of that family, recorded with
tsharkand decoded withknxcap -fixture; - a plan builder in
internal/downloadwhose output equals the fixture (see thecapture_*_test.gofiles); - a run on a real device with
knxprogram, first without-write, with the result noted.
Build and test
See Build and Testing. Run go test ./... before sending a change.
Code style
- Go code is formatted with
gofmt. The comments in the tree explain why rather than what, and say where a rule was observed rather than guessed. - Where the behaviour of a device or of ETS is not known, the code states what is established and what is missing, and
does not guess.
internal/falcon/secureis an example. - Changes to anything that sends to the bus or writes a device need a test, and a note about what hardware it was run on.
Licence
The licence has not been chosen yet. Ask in your first change or report before you contribute code, so that terms are settled. See Legal.