{"id":41223488,"url":"https://github.com/solectrus/mqtt-collector","last_synced_at":"2026-06-08T07:01:44.768Z","repository":{"id":163869916,"uuid":"613951567","full_name":"solectrus/mqtt-collector","owner":"solectrus","description":"Collect data from MQTT broker and push it to InfluxDB 2 for use with SOLECTRUS","archived":false,"fork":false,"pushed_at":"2026-06-03T14:46:05.000Z","size":872,"stargazers_count":8,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2026-06-03T16:19:08.633Z","etag":null,"topics":["mqtt","photovoltaic","smarthome"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solectrus.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"solectrus","patreon":null,"open_collective":null,"ko_fi":"ledermann","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-03-14T15:39:08.000Z","updated_at":"2026-06-03T15:06:29.000Z","dependencies_parsed_at":"2023-10-14T14:09:58.318Z","dependency_job_id":"27b16840-56d9-4aa2-b130-515086e49c65","html_url":"https://github.com/solectrus/mqtt-collector","commit_stats":{"total_commits":149,"total_committers":5,"mean_commits":29.8,"dds":"0.38926174496644295","last_synced_commit":"62cb6c6ed70832102ef72cd67dafd1f548aeeccb"},"previous_names":["solectrus/mqtt-collector"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/solectrus/mqtt-collector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fmqtt-collector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fmqtt-collector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fmqtt-collector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fmqtt-collector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solectrus","download_url":"https://codeload.github.com/solectrus/mqtt-collector/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fmqtt-collector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34051772,"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":["mqtt","photovoltaic","smarthome"],"created_at":"2026-01-23T00:26:04.018Z","updated_at":"2026-06-08T07:01:44.716Z","avatar_url":"https://github.com/solectrus.png","language":"Ruby","funding_links":["https://github.com/sponsors/solectrus","https://ko-fi.com/ledermann"],"categories":[],"sub_categories":[],"readme":"[![Continuous integration](https://github.com/solectrus/mqtt-collector/actions/workflows/push.yml/badge.svg)](https://github.com/solectrus/mqtt-collector/actions/workflows/push.yml)\n[![Maintainability](https://qlty.sh/gh/solectrus/projects/mqtt-collector/maintainability.svg)](https://qlty.sh/gh/solectrus/projects/mqtt-collector)\n[![wakatime](https://wakatime.com/badge/user/697af4f5-617a-446d-ba58-407e7f3e0243/project/233968fc-9ac5-4c50-952f-ec1a37b3df85.svg)](https://wakatime.com/badge/user/697af4f5-617a-446d-ba58-407e7f3e0243/project/233968fc-9ac5-4c50-952f-ec1a37b3df85)\n[![Code Coverage](https://qlty.sh/gh/solectrus/projects/mqtt-collector/coverage.svg)](https://qlty.sh/gh/solectrus/projects/mqtt-collector)\n\n# MQTT collector\n\nCollect data from MQTT broker and push it to InfluxDB 2. The mappings of MQTT topics to InfluxDB fields and measurements is customizable.\n\nThe main use case is to collect data for SOLECTRUS, but it can be used for other purposes as well, where you want to collect data from MQTT and store it in InfluxDB.\n\nIt has been tested in the following setups:\n\n- [ioBroker](https://www.iobroker.net/) with the integrated MQTT broker and the [SENEC Home 2.1 adapter](https://github.com/nobl/ioBroker.senec)\n- [evcc](https://evcc.io/) with the [senec-home template](https://github.com/evcc-io/evcc/blob/master/templates/definition/meter/senec-home.yaml) and the [HiveMQ MQTT Broker](https://www.hivemq.com/public-mqtt-broker/)\n\nNote: For a SENEC device there is a dedicated [senec-collector](https://github.com/solectrus/senec-collector) available which communicates directly with the SENEC device via its API and does not require a MQTT broker. Also, it is able to collect additional and more accurate data from the SENEC device.\n\n## Requirements\n\n- InfluxDB 2\n- MQTT broker\n- Linux machine with Docker installed\n\n## Getting started\n\n1. Make sure that your MQTT broker and InfluxDB2 database are ready (not subject of this README)\n\n2. Prepare an `.env` file (see `.env.example`)\n\n3. Run the Docker container on your Linux box:\n\n   ```bash\n   docker compose up\n   ```\n\nThe Docker image supports multiple platforms: `linux/amd64`, `linux/arm64`, `linux/arm/v7`\n\n## Development\n\nFor development you need a recent Ruby setup. On a Mac, I recommend [rbenv](https://github.com/rbenv/rbenv).\n\n### Run the app\n\n```bash\nbundle exec app.rb\n```\n\n### Run tests\n\n```bash\nbundle exec rake\n```\n\n### Run linter\n\n```bash\nbundle exec rubocop\n```\n\n## License\n\nCopyright (c) 2023-2026 Georg Ledermann \u003cgeorg@ledermann.dev\u003e and contributors.\\\nInspired by code provided by Sebastian Löb (@loebse) and Michael Heß (@GrimmiMeloni)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolectrus%2Fmqtt-collector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolectrus%2Fmqtt-collector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolectrus%2Fmqtt-collector/lists"}