{"id":27004264,"url":"https://github.com/cyberscoper/ecowitt-elevator-narodmon","last_synced_at":"2026-03-10T14:04:46.105Z","repository":{"id":258444138,"uuid":"873937742","full_name":"CyberScoper/ecowitt-elevator-narodmon","owner":"CyberScoper","description":"🚀 Python script to send Ecowitt weather station data to Narodmon for public monitoring. 🌦️📡","archived":false,"fork":false,"pushed_at":"2025-03-26T13:31:07.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-24T11:04:58.605Z","etag":null,"topics":["ecowitt","ecowitt-devices","weather-forecast","weather-station"],"latest_commit_sha":null,"homepage":"https://meteonow.eu/","language":"Python","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/CyberScoper.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":"2024-10-17T01:20:16.000Z","updated_at":"2025-04-03T23:56:20.000Z","dependencies_parsed_at":"2025-03-26T14:41:50.791Z","dependency_job_id":null,"html_url":"https://github.com/CyberScoper/ecowitt-elevator-narodmon","commit_stats":null,"previous_names":["cyberscopetoday/ecowitt-elevator-narodmon","cyberscoper/ecowitt-elevator-narodmon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CyberScoper/ecowitt-elevator-narodmon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberScoper%2Fecowitt-elevator-narodmon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberScoper%2Fecowitt-elevator-narodmon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberScoper%2Fecowitt-elevator-narodmon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberScoper%2Fecowitt-elevator-narodmon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CyberScoper","download_url":"https://codeload.github.com/CyberScoper/ecowitt-elevator-narodmon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberScoper%2Fecowitt-elevator-narodmon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30336108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T12:41:07.687Z","status":"ssl_error","status_checked_at":"2026-03-10T12:41:06.728Z","response_time":106,"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":["ecowitt","ecowitt-devices","weather-forecast","weather-station"],"created_at":"2025-04-04T06:15:43.012Z","updated_at":"2026-03-10T14:04:46.087Z","avatar_url":"https://github.com/CyberScoper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌦️ Ecowitt to Narodmon Data Sender\n\n[![CodeFactor](https://www.codefactor.io/repository/github/CyberScoper/ecowitt-elevator-narodmon/badge)](https://www.codefactor.io/repository/github/CyberScoper/ecowitt-elevator-narodmon)\n\nThis Python script collects weather data from an Ecowitt weather station and sends it to Narodmon, a popular public monitoring service. The script periodically queries the Ecowitt API, extracts all available weather data, and sends it to Narodmon for visualization and tracking.\n\n## ✨ Features\n\n- 📊 Collects data from an Ecowitt weather station using its API.\n- 📡 Sends weather data such as temperature, humidity, pressure, wind speed, gust, direction, rainfall rate, solar radiation, and UV index to Narodmon.\n- 🔄 Designed to run continuously, sending updates every 5 minutes.\n- 🐛 Simple logging to console for debug purposes.\n\n## 📋 Requirements\n\n- 🐍 Python 3.7 or higher\n- 🌦️ Ecowitt weather station with API access enabled\n- 📡 Narodmon account to monitor and share weather data\n\n## 🚀 Installation\n\n1. Clone this repository:\n\n   ```bash\n   git clone https://github.com/CyberScoper/ecowitt-elevator-narodmon.git\n   cd ecowitt-elevator-narodmon\n   ```\n\n2. Create a virtual environment:\n\n   ```bash\n   python3 -m venv venv\n   ```\n\n3. Activate the virtual environment:\n\n   - On Linux/macOS:\n     ```bash\n     source venv/bin/activate\n     ```\n   - On Windows:\n     ```cmd\n     venv\\Scripts\\activate\n     ```\n\n4. Install the required Python packages:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## ⚙️ Usage\n\n1. Update the configuration parameters in `bot.py`:\n\n   - Set your Ecowitt API credentials:\n     - `ecowitt_application_key`\n     - `ecowitt_api_key`\n     - `ecowitt_mac`\n   \n   - Set your Narodmon device MAC address:\n     - `narodmon_device_mac`\n\n2. Run the script:\n\n   ```bash\n   python bot.py\n   ```\n\n3. Optionally, run the script as a service:\n\n   Create a systemd service unit file as follows to run the script as a background service (e.g., `/etc/systemd/system/ecowitttonarodmon.service`):\n\n   ```ini\n   [Unit]\n   Description=Ecowitt to Narodmon Data Sender\n   After=network.target\n\n   [Service]\n   User=root\n   WorkingDirectory=/home/server/ecowitttonarodmon\n   ExecStart=/home/server/ecowitttonarodmon/venv/bin/python /home/server/ecowitttonarodmon/bot.py\n   Restart=always\n   RestartSec=5\n   Environment=\"PYTHONPATH=/home/server/ecowitttonarodmon/venv/bin/python\"\n   StandardOutput=file:/var/log/ecowitttonarodmon.log\n   StandardError=file:/var/log/ecowitttonarodmon.log\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n   Then enable and start the service:\n\n   ```bash\n   sudo systemctl daemon-reload\n   sudo systemctl enable ecowitttonarodmon.service\n   sudo systemctl start ecowitttonarodmon.service\n   ```\n\n## 🔧 Configuration Parameters\n\n- `ecowitt_application_key`: Your Ecowitt application key.\n- `ecowitt_api_key`: Your Ecowitt API key.\n- `ecowitt_mac`: MAC address of the Ecowitt weather station.\n- `narodmon_device_mac`: MAC address of your Narodmon device.\n\n## 📜 Logs\n\nLogs will be stored at `/var/log/ecowitttonarodmon.log`. You can check them with:\n\n```bash\ncat /var/log/ecowitttonarodmon.log\n```\n\n## 🤝 Contributing\n\nFeel free to submit pull requests, open issues, and suggest features. Contributions are always welcome! 🙌\n\n## 📄 License\n\nThis project is licensed under the MIT License.\n\n## 🙏 Acknowledgements\n\n- 🌦️ Ecowitt for providing their weather station API.\n- 📡 Narodmon for enabling public data monitoring.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberscoper%2Fecowitt-elevator-narodmon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyberscoper%2Fecowitt-elevator-narodmon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberscoper%2Fecowitt-elevator-narodmon/lists"}