You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+46-62Lines changed: 46 additions & 62 deletions
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,52 @@ repository into their database.
19
19
The goal of this repository is to provide an open-source database of LoRaWAN
20
20
device-profiles that can be freely imported.
21
21
22
+
## Adding a new device-profile
23
+
24
+
### Fork and clone
25
+
26
+
* Create a fork of this repository (if not done already).
27
+
* Clone your local fork to your computer.
28
+
29
+
### Starting the web-interface
30
+
31
+
* Please make sure that you have Docker Compose installed.
32
+
* In the root of this repository, execute `docker compose up`.
33
+
* Once `Starting server, bind: 0.0.0.0:8090` appears, open the web-interface in your browser by navigating to [http://localhost:8090](http://localhost:8090).
34
+
35
+
### Add Vendor(s)
36
+
37
+
* In the left menu, click the _Add vendor_ button.
38
+
* Fill in the form and click _Submit_.
39
+
40
+
### Add profile(s)
41
+
42
+
* Select a vendor in the left menu (if no vendor is selected).
43
+
* Click _Profiles_ in the left menu.
44
+
* Click the _Create profile_ button.
45
+
* Fill in the form and click _Submit_.
46
+
47
+
### Add codec(s)
48
+
49
+
* Select a vendor in the left menu (if no vendor is selected).
50
+
* Click _Codecs_ in the left menu.
51
+
* Click the _Create codec_ button.
52
+
* Fill in the form, before clicking _Submit_ it is a good idea to click _Run codec tests_.
53
+
54
+
### Add device(s)
55
+
56
+
* Select a vendor in the left menu (if no vendor is selected).
57
+
* Click _Devices_ in the left menu.
58
+
* Click the _Create device_ button.
59
+
* Fill in the form and add at least one firmware version by clicking the _Add firmware version_ button.
60
+
* For each firmware version you can select one or multiple profiles and optionally a codec.
61
+
62
+
### Create pull-request
63
+
64
+
Once you have added the vendor(s), profile(s), codec(s) and device(s) you wish
65
+
to add to this repository you must commit the changes using `git`, push these
66
+
to your fork of this repository and create a pull-request in GitHub.
67
+
22
68
## Structure
23
69
24
70
Example structure for an `example-vendor` with an `example` device:
@@ -65,68 +111,6 @@ configuration.
65
111
This directory contains the profiles. These profiles can be used by one
66
112
or multiple devices. The profile also defines the region.
67
113
68
-
## Adding a new device-profile
69
-
70
-
In summary, these are the steps to create a new device-profile.
71
-
72
-
1.**Add a new vendor directory in `vendors/`.** This directory should be
73
-
lower-cased, and spaces must be replaced by `-`. For example for
74
-
_My Vendor_ you would create a directory `vendors/my-vendor/`.
75
-
76
-
2.**Create `vendor.toml` file.** Inside the directory created in the previous
77
-
step, create a `vendor.toml` file (e.g. `vendors/my-vendor/vendor.toml`).
78
-
Please use `vendors/example-vendor/vendor.toml` as an example. Under `devices`
79
-
you want to refer to the devices (that you will add in the next steps).
80
-
If you have a temperature and a humidity sensor device (thus two devices),
81
-
your `devices` configuration could look like:
82
-
`devices = ["temperature.toml", "humidity.toml"]`
83
-
84
-
3.**Create device file(s).** In this step you need to create a file for each
85
-
device that you configured in the previous step under `devices`. To
86
-
continue with the previous example, you would create two files:
87
-
*`vendors/my-vendor/devices/temperature.toml`
88
-
*`vendors/my-vendor/devices/humidity.toml`
89
-
You can use `vendors/example-vendor/devices/example.toml` as an example.
90
-
For each firmware version (if there are multiple), make sure to also
91
-
configure the `profiles` and `codec` options (if you provide a payload)
92
-
codec. For example your `temperature.toml` device configuration could
93
-
contain `profiles= ["temperature-eu868.toml", "temperature-us915.toml"]` and
94
-
`codec = "temperature.js"` if there a a codec for this device.
95
-
96
-
4.**Create profile file(s).** In this step you need to create a file for
97
-
each profile that you configured in the previous step for your device(s).
98
-
To continue with the previous example, you would create:
0 commit comments