Licence agreement and contribution guideline

We are happy that you are interested in contributing to nymea! We’re required to have a signed agreement with everyone who puts effort in the development. It’s the easiest way for you to give us permission to use your contributions. Technically, with this agreement, you’re giving us a licence, but you still own the copyright — so you still have the right to modify your code and use it as you see fit. When you are ready to contribute to nymea, please make sure to have filled in this document and you've sent it to us.

Furthermore, you can find a quick guide on how to contribute here.

Reporting bugs
If you have found a bug in nymea, please create a new issue with the "bug" label in the related repository: If you don't know where the bug occurs, please use the guh-daemon issues link.
Steps to find out whats wrong
  1. In order to find out what's wrong it's very helpful to start the guh daemon in the foreground:

     $ guhd -n

    Now you can follow the debug output of the core and check what's going on. In order to get detailed information about a certain part of guhd it's helpful to use the debug categories. You can find a list of available debug categories with the command

     $ guhd -h

    In order to enable a certain categorie you can start guhd with following command:

     $ guhd -n -d <DebugCategory>
  2. Make sure, there is only one instance of guhd running on your system, otherwise they will block each others ports.

  3. Try to use the guh-cli (which is communicating directly with the JSON-RPC API)

  4. If you have made an upgrade of guh, a plugin configuration might have changed. Try to reset the configurations (see here) and restart the guh daemon.

Coding style

Since guh was written in C++ framework Qt, the coding style was taken over from Qt. The coding style guidelines and instruction can be found here: | Qt coding style | Qt coding conventions