Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toxuin/bobcat-monitor
Bobcat Helium Miner health to MQTT
https://github.com/toxuin/bobcat-monitor
blockchain bobcat helium home-automation iot mqtt
Last synced: 3 days ago
JSON representation
Bobcat Helium Miner health to MQTT
- Host: GitHub
- URL: https://github.com/toxuin/bobcat-monitor
- Owner: toxuin
- License: mit
- Created: 2021-12-04T00:36:19.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2021-12-05T06:46:21.000Z (about 3 years ago)
- Last Synced: 2024-11-16T13:12:51.844Z (2 months ago)
- Topics: blockchain, bobcat, helium, home-automation, iot, mqtt
- Language: Go
- Homepage:
- Size: 13.7 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Bobcat Monitor
Small app to keep tabs on your Bobcat Helium miner's health and integrate it with anything through MQTT.
## What does it do?
It scrapes the status of your miner and posts it to MQTT. Really simple!
It enables many scenarios like
- Trigger a smart Wi-Fi outlet on and off when your miner is stuck offline (thanks, Bobcat!)
- [Ingest data into InfluxDB](https://www.influxdata.com/integration/mqtt-monitoring/) to create pretty graphs
- Send you email/discord/telegram messages when your miner goes too far out of syncNote that none of these scenarios are in scope of this application and have to be implemented by other software components - like [Home Assistant](https://www.home-assistant.io) or [Node-RED](https://nodered.org).
## Running with Docker
You can either use ready-built image or build your own.
`docker run -d -v $PWD/config.yml:/config.yml quay.io/toxuin/bobcat-monitor`
Pre-built image supports x86_64, armv6, armv7, arm64v8, and ppc64le.
Works on:
- Normal computers
- Raspberry pi
- ARM macs
- Many more things!## Configuration
Sample config (config.yml) contains all the possible configuration options, which are pretty self-explanatory.
`debug`: if set to true, will make app more verbose. Helps when troubleshooting issues. Default: false
`bobcatAddress`: that is ip or domain name (if you have one assigned) of your miner. Required.
`intervalSeconds`: how often should this app check on your bobcat? Note that sometimes (for example right after an OTA update) requests can take up to 10 seconds, so setting this too low is not recommended.
`mqtt`: section that has all the parameters of your MQTT broker
`enabled`: setting this to false will disable all the MQTT functionality
`server`: address of your MQTT broker. Required.
`port`: port of your MQTT broker. Will use 1883 if not set.
`username`: username to access your MQTT broker. For anonymous access, leave out of config file.
`password`: well... Password. For anonymous access - leave out of the file.
`clientId`: if your MQTT broker requires client id to be set - set it here. When not specified - will generate one.
`topicRoot`: topic under which all the bobcat-related messages will be posted. Defaults to `bobcat-monitor` when not set.
## Example Payloads
- Normal payload:
```json
{
"status": "Synced",
"gap": 0,
"miner_height": 1125656,
"blockchain_height": 1125656,
"epoch": 29487,
"latency_ms": 686,
"error_count": 0,
"valid": true
}
```- Error (timeout, Bobcat offline, etc)
```json
{
"status": "Error",
"gap": 0,
"miner_height": 0,
"blockchain_height": 0,
"epoch": 0,
"latency_ms": 101,
"error_count": 2,
"valid": false
}
```## Support the author
Please?
HNT: 14dwpLQQ6CkKFFuAnwbBQPUjkcnZeNK6o66zVLkvwvo8eybrUvx
BTC: bc1q84y9cxyeg2940unavvzx2j5r5lngge802jsrav
Thank you!