{"id":21371486,"url":"https://github.com/chirpstack/lorawan-device-profiles","last_synced_at":"2025-07-13T07:31:24.311Z","repository":{"id":256178846,"uuid":"849557446","full_name":"chirpstack/lorawan-device-profiles","owner":"chirpstack","description":"LoRaWAN device-profile repository.","archived":false,"fork":false,"pushed_at":"2024-11-19T15:46:27.000Z","size":164,"stargazers_count":3,"open_issues_count":4,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-19T16:38:31.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.chirpstack.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chirpstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-29T20:04:43.000Z","updated_at":"2024-11-19T15:46:32.000Z","dependencies_parsed_at":"2024-09-09T12:40:59.297Z","dependency_job_id":"893775e8-59ad-43a3-b8b7-d7457bae072d","html_url":"https://github.com/chirpstack/lorawan-device-profiles","commit_stats":null,"previous_names":["chirpstack/lorawan-device-profiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Florawan-device-profiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Florawan-device-profiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Florawan-device-profiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Florawan-device-profiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chirpstack","download_url":"https://codeload.github.com/chirpstack/lorawan-device-profiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225862809,"owners_count":17535998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T08:13:38.273Z","updated_at":"2024-11-22T08:13:38.828Z","avatar_url":"https://github.com/chirpstack.png","language":"JavaScript","readme":"# LoRaWAN(R) device-profiles\n\nThis repository contains device-profiles for LoRaWAN devices grouped by\nvendor. A device-profile contains important information about the capabilities\nof the device. For example which LoRaWAN mac-version has been implemented,\nwhich regions are supported, if the device supports Class-B or Class-C, etc...\nThe aim is to build a complete list of LoRaWAN device-profiles that then can\nbe imported by ChirpStack or potentially any other LNS.\n\n## Why not use the TTN lorawan-devices repository?\n\nUnfortuantely the [https://github.com/thethingsnetwork/lorawan-devices](https://github.com/thethingsnetwork/lorawan-devices)\nrepository can no longer be used as a whole. The open-source license has been\nremoved and users are not allowed to _extract and/or reuse the Device Repositoryas\nas a whole or a substantial part of its content_.\nThis prevents ChirpStack users (and other LNS providers) from importing this\nrepository into their database.\n\nThe goal of this repository is to provide an open-source database of LoRaWAN\ndevice-profiles that can be freely imported.\n\n## Adding a new device-profile\n\n### Fork and clone\n\n* Create a fork of this repository (if not done already).\n* Clone your local fork to your computer.\n\n### Starting the web-interface\n\n* Please make sure that you have Docker Compose installed.\n* In the root of this repository, execute `docker compose up`.\n* 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).\n\n### Add Vendor(s)\n\n* In the left menu, click the _Add vendor_ button.\n* Fill in the form and click _Submit_.\n\n### Add profile(s)\n\n* Select a vendor in the left menu (if no vendor is selected).\n* Click _Profiles_ in the left menu.\n* Click the _Add profile_ menu entry.\n* Fill in the form and click _Submit_.\n\n### Add codec(s)\n\n* Select a vendor in the left menu (if no vendor is selected).\n* Click _Codecs_ in the left menu.\n* Click the _Add codec_ menu entry.\n* Fill in the form, before clicking _Submit_ it is a good idea to click _Run codec tests_.\n\n### Add device(s)\n\n* Select a vendor in the left menu (if no vendor is selected).\n* Click _Devices_ in the left menu.\n* Click the _Add device_ menu entry.\n* Fill in the form and add at least one firmware version by clicking the _Add firmware version_ button.\n    * For each firmware version you can select one or multiple profiles and optionally a codec.\n\n### Update vendor\n\n* Select a vendor in the left menu (if no vendor is selected).\n* Click _Update vendor_ in the left menu.\n* Update the vendor by selecting the devices that you added in the previous step.\n* Click _Submit_.\n\n### Create pull-request\n\nOnce you have added the vendor(s), profile(s), codec(s) and device(s) you wish\nto add to this repository you must commit the changes using `git`, push these\nto your fork of this repository and create a pull-request in GitHub.\n\n## Structure\n\nExample structure for an `example-vendor` with an `example` device:\n\n```\nvendors/\n└── example-vendor\n    ├── codecs\n    │   ├── example.js\n    │   ├── test_decode_example.json\n    │   └── test_encode_example.json\n    ├── devices\n    │   └── example.toml\n    ├── profiles\n    │   └── example-EU868.toml\n    └── vendor.toml\n```\n\nPlease take a look at the `vendors/example-vendor` example documented\nconfiguration files.\n\n### `vendors/example-vendor`\n\nThis is the root of the example vendor. It must contain a `vendor.toml`\nfile. This `vendor.toml`.\n\n### `vendors/example-vendor/codecs`\n\nThis directory contains the payload codecs. Codecs can be used by one or\nmultiple devices. E.g. some vendors have a generic payload codec.\n\nEach codec is expected to have tests for encoding and decoding. If the\ncodec filename is `example.js`, then you should create two test-files\ncalled `test_decode_example.json` (thus + `test_decode_` prefix and `.json`\nextension) and `test_encode_example.json`.\n\n### `vendors/example-vendor/devices`\n\nThis directory contains the devices. Each device will have its own `.toml`\nconfiguration.\n\n### `vendors/example-vendor/profiles`\n\nThis directory contains the profiles. These profiles can be used by one\nor multiple devices. The profile also defines the region.\n\n## License\n\nThis repository is distributed under the MIT license. See also `LICENSE`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchirpstack%2Florawan-device-profiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchirpstack%2Florawan-device-profiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchirpstack%2Florawan-device-profiles/lists"}