{"id":20008198,"url":"https://github.com/kirbo/ruuvitag-parser","last_synced_at":"2026-06-08T08:32:17.820Z","repository":{"id":42622486,"uuid":"405023912","full_name":"Kirbo/ruuvitag-parser","owner":"Kirbo","description":"This is a mirror repository. Please contribute here: https://gitlab.com/kirbo/ruuvitag-parser","archived":false,"fork":false,"pushed_at":"2023-01-09T12:48:07.000Z","size":359,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T01:31:02.200Z","etag":null,"topics":["parser","ruuvitag","ruuvitag-sensor","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"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/Kirbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-10T09:19:49.000Z","updated_at":"2022-08-30T10:26:01.000Z","dependencies_parsed_at":"2023-02-08T11:45:16.198Z","dependency_job_id":null,"html_url":"https://github.com/Kirbo/ruuvitag-parser","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/Kirbo/ruuvitag-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kirbo%2Fruuvitag-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kirbo%2Fruuvitag-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kirbo%2Fruuvitag-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kirbo%2Fruuvitag-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kirbo","download_url":"https://codeload.github.com/Kirbo/ruuvitag-parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kirbo%2Fruuvitag-parser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34055249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["parser","ruuvitag","ruuvitag-sensor","typescript"],"created_at":"2024-11-13T07:08:50.348Z","updated_at":"2026-06-08T08:32:17.802Z","avatar_url":"https://github.com/Kirbo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RuuviTag Parser\n\n![latest version](https://img.shields.io/npm/v/ruuvitag-parser?label=version)\n![last commit](https://img.shields.io/github/last-commit/kirbo/ruuvitag-parser.svg)\n![pipeline status](https://img.shields.io/gitlab/pipeline/kirbo/ruuvitag-parser/master)\n![coverage report](https://img.shields.io/gitlab/coverage/kirbo/ruuvitag-parser/master)\n![downloads total](https://img.shields.io/npm/dt/ruuvitag-parser)\n\nThis repository is heavily influenced/inspired by [pakastin/node-ruuvitag](https://github.com/pakastin/node-ruuvitag),\nwhich I also took as a base and did some heavy refactoring, as well as converting the old JavaScript files\ninto TypeScript.\n\n**!! This repository is still a work in progress !!**\n\nThis module only handles the parsing. It wont scan the sensors or any other shenanigans.\n\n\n## Usage examples\n\n### Parse Dataformat v3 and v5\nJust to parse the data, use like this:\n```typescript\nimport { parseData } from 'ruuvitag-parser'\n\nconst jsonData = parseData(dataFromRuuvitag)\n```\n\n### Parse Dataformat v2 and v4\nJust to parse the data, use like this:\n```typescript\nimport { parseUrl } from 'ruuvitag-parser'\n\nconst jsonData = parseUrl(dataFromRuuvitag)\n```\n\n### Parse Eddystone URL\n```typescript\nimport { parseEddystone } from 'ruuvitag-parser'\n\nconst url = parseEddystone(eddystoneUrlBuffer)\n```\n\n\nFew examples can be found from [integration tests](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts):\n- [Import `parseData`](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L1)\n- [Parse v2 data](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L129)\n- [Parse v3 data](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L144)\n- [Parse v3 data](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L171)\n- [Parse v5 data](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L192)\n- [Parse MQTT message](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L233)\n- [Parse Eddystone URL](https://gitlab.com/kirbo/ruuvitag-parser/-/blob/master/tests/ruuvitag-parser.integration.test.ts#L281)\n\n## Contribute\n\nThis repository is being developed in [GitLab](https://gitlab.com/kirbo/ruuvitag-parser).\nCI/CD Pipeline can be [found here](https://gitlab.com/kirbo/ruuvitag-parser/-/pipelines).\n\nCI/CD Pipeline uses [go-semantic-release](https://github.com/go-semantic-release/semantic-release) for automated\nreleases. Because of this, developers should follow [these instructions](https://www.conventionalcommits.org/en/v1.0.0/#examples)\nfor commit message formatting.\n\nThe commits are being analyzed with [this extension](https://github.com/go-semantic-release/commit-analyzer-cz#how-the-commit-messages-are-analyzed)\nand it requires developers to format commit messages in certain way.\n\nRead more about:\n- [Semantic Versioning (SemVer)](https://semver.org/#semantic-versioning-200)\n- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary)\n\n### Cheat Sheets\n- [Kapeli.com](https://kapeli.com/cheat_sheets/Conventional_Commits.docset/Contents/Resources/Documents/index)\n- [cheatography.com](https://cheatography.com/albelop/cheat-sheets/conventional-commits/)\n- [megamorf.gitlab.io](https://megamorf.gitlab.io/cheat-sheets/conventional-commits/)\n\nThe [GitHub repository](https://github.com/kirbo/ruuvitag-parser) is only a mirror from GitLab.\nPlease make Merge Requests in [GitLab](https://gitlab.com/kirbo/ruuvitag-parser/-/merge_requests).\n\n\n## Releases / Changes\n\nReleases and \"changelogs\" can be [found here](https://gitlab.com/kirbo/ruuvitag-parser/-/tags).\nEach releases description contains the changes that the version includes, e.g.: [v0.2.14](https://gitlab.com/kirbo/ruuvitag-parser/-/tags/v0.2.14).\n\n\n## Links\n\n- [GitLab repository](https://gitlab.com/kirbo/ruuvitag-parser) - this is where the development happens.\n- [GitHub repository](https://github.com/kirbo/ruuvitag-parser) - this is only mirroring the GitLab repository.\n- [npm package](https://www.npmjs.com/package/ruuvitag-parser) - published npm package.\n\n\n## License\n\nMIT License\n\nCopyright (c) 2021 Kimmo Saari\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"),\nto deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkirbo%2Fruuvitag-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkirbo%2Fruuvitag-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkirbo%2Fruuvitag-parser/lists"}