{"id":40345209,"url":"https://github.com/dyrkin/tasmota-exporter","last_synced_at":"2026-01-20T09:08:01.500Z","repository":{"id":47319999,"uuid":"516041424","full_name":"dyrkin/tasmota-exporter","owner":"dyrkin","description":"A Prometheus exporter for Tasmota-enabled devices","archived":false,"fork":false,"pushed_at":"2024-02-16T15:23:22.000Z","size":807,"stargazers_count":33,"open_issues_count":3,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-15T21:51:49.150Z","etag":null,"topics":["docker","docker-compose","exporter","grafana","iot","mqtt","prometheus","prometheus-exporter","tasmota"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dyrkin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-07-20T15:43:16.000Z","updated_at":"2024-10-24T06:48:18.000Z","dependencies_parsed_at":"2023-11-16T15:41:21.622Z","dependency_job_id":"3db706ee-78c8-409e-8ab7-f5a1a8c21cd3","html_url":"https://github.com/dyrkin/tasmota-exporter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dyrkin/tasmota-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyrkin%2Ftasmota-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyrkin%2Ftasmota-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyrkin%2Ftasmota-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyrkin%2Ftasmota-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dyrkin","download_url":"https://codeload.github.com/dyrkin/tasmota-exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyrkin%2Ftasmota-exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28599875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T08:51:33.170Z","status":"ssl_error","status_checked_at":"2026-01-20T08:51:10.855Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","docker-compose","exporter","grafana","iot","mqtt","prometheus","prometheus-exporter","tasmota"],"created_at":"2026-01-20T09:07:56.457Z","updated_at":"2026-01-20T09:08:01.483Z","avatar_url":"https://github.com/dyrkin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tasmota Prometheus Exporter\n\n[![Build Status](https://drone.rdome.net/api/badges/dyrkin/tasmota-exporter/status.svg?branch=master)](https://drone.rdome.net/dyrkin/tasmota-exporter)\n[![Docker Hub](https://img.shields.io/badge/image-latest-blue.svg?logo=docker\u0026style=flat)](https://hub.docker.com/r/eugenezadyra/tasmota-exporter/tags/)\n\nA Prometheus exporter for [Tasmota-enabled](https://tasmota.github.io/docs) devices.  \nIt subscribes to the topics `tele/+/+` and `stat/++` to which Tasmota devices send their updates.\n\n![Grafana dashboard](grafana/dashboard.png)\n\nGrafana dashboard is [available here](grafana/dashboard.json) on the GitHub repository.\n\n## Prerequisites\n\n* [Go](https://go.dev/doc/)\n\n## Installation\n\n### Build from the source code\n\nYou can pull the latest version of the source code and build it using the command line:\n\n```bash\ngo mod download\ngo build -o tasmota-exporter ./cmd\nchmod +x tasmota-exporter\n```\n\nBefore running the application, you have to define the following environment variables:\n```yaml\nMQTT_HOSTNAME: #optional. default is localhost\nMQTT_PORT: #optional. default is 1883\nMQTT_USERNAME: #optional. default is empty\nMQTT_PASSWORD: #optional. default is empty\nMQTT_CLIENT_ID: #optional. default is prometheus_tasmota_exporter\nMQTT_TOPICS: #optional. default is \"tele/+/+, stat/+/+\". If you are using deeper topics, you can set as \"tele/#, stat/#\"\nPROMETHEUS_EXPORTER_PORT: #optional. Default is 9092. This is listening port.\nREMOVE_WHEN_INACTIVE_MINUTES: #optional. Default is 1. If the device is inactive for more than 1 minute, it will be removed from the list of active devices\nSTATUS_UPDATE_SECONDS: #optional. Default is 5. This is how often a status update will be requested\nLOG_LEVEL: #optional. default is info. Severity level for log output. Possible values: debug, info, warn, error\n```\n\nYou could also put the variables in a .env file and do the following:\n```\nsource .env\nexport $(cut -d= -f1 .env)\n```\n\nThen run it using:\n```bash\n./tasmota-exporter\n```\n\n\n### Using Docker\n\nThe exporter is also available as a [Docker image](https://hub.docker.com/r/eugenezadyra/tasmota-exporter/tags).\nYou can run it using the following example and pass configuration environment variables:\n\n```bash\ndocker run \\\n  -e 'MQTT_HOSTNAME=192.168.1.10' \\\n  -e 'MQTT_PORT=1883' \\\n  -e 'MQTT_USERNAME=user' \\\n  -e 'MQTT_PASSWORD=password' \\\n  -e 'PROMETHEUS_EXPORTER_PORT=9092' \\\n  -p 9092:9092 \\\n  --restart unless-stopped \\\n  --name tasmota-exporter \\\n  eugenezadyra/tasmota-exporter:latest\n```\n\n### Using docker-compose\n\nYou can run it using docker-compose and the [template](compose/docker-compose.yml):\n\n```yaml\nversion: '3.4'\nservices:\n  tasmota-exporter:\n    image: eugenezadyra/tasmota-exporter:latest\n    environment:\n      MQTT_HOSTNAME: 192.168.1.10\n      MQTT_PORT: 1883\n      MQTT_USERNAME: user\n      MQTT_PASSWORD: password\n      PROMETHEUS_EXPORTER_PORT: 9092\n    ports:\n      - '9092:9092'\n    restart: unless-stopped\n```\n\n```bash\n#run in the background\ndocker-compose up -d\n#update to the latest version and restart\ndocker-compose pull\ndocker-compose restart\n```\n\nOnce the exporter is running, you also have to update your `prometheus.yml` configuration to let it scrape the exporter:\n\n```yaml\nscrape_configs:\n  - job_name:       'tasmota'\n    scrape_interval: 5s\n    static_configs:\n      - targets: ['metrics.home:9092']\n```\n\n**!** ***Note:*** _Available metrics may vary by device_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyrkin%2Ftasmota-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyrkin%2Ftasmota-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyrkin%2Ftasmota-exporter/lists"}