Current state monitoring with esphome

This commit is contained in:
Moritz Graf
2022-10-31 17:00:57 +01:00
parent 57f870d4f8
commit d0caae5515
5 changed files with 253 additions and 83 deletions
+57 -66
View File
@@ -9,20 +9,72 @@ Various links:
## devices
| esp host | sensor name | mac |
|---------------|-------------|-------------------|
| muc_kitchen | outside | A4:C1:38:D5:9C:BD |
| muc_kitchen | kitchen | A4:C1:38:AA:5F:9E |
| muc_kitchen | bathroom | A4:C1:38:98:BA:CC |
For credentials see repective esphome config file in subdirectory `./config`.
| esp host | sensor name | mac | IP |
|---------------|-------------|-------------------|-----------------|
| muc-kitchen | outside | A4:C1:38:D5:9C:BD | 192.168.178.200 |
| muc-kitchen | kitchen | A4:C1:38:AA:5F:9E | 192.168.178.200 |
| muc-kitchen | bathroom | A4:C1:38:98:BA:CC | 192.168.178.200 |
| muc-living | outside | A4:C1:38:04:1A:70 | 192.168.178.201 |
| muc-living | living | A4:C1:38:01:90:9A | 192.168.178.201 |
| muc-living | sleeping | A4:C1:38:CF:6D:2E | 192.168.178.201 |
| rgbg-living | living | A4:C1:38:E1:36:C0 | |
| rgbg-living | outside | A4:C1:38:9B:18:D0 | |
| rgbg-living | outside-flora | A4:C1:38:67:44:95 | |
| rgbg-living | krasser-kaktus | A4:C1:38:67:42:34 | |
## setup
### esphome
Setup is based on [this guide](https://esphome.io/guides/getting_started_command_line.html).
```sh
brew install esphome
# wizard to create new devices
esphome wizard muc-kitchen.secret.yml
# flash to device
# -hold boot button to enable flashing on esps
esphome run ./config/muc-kitchen.secret.yml
esphome run ./config/muc-living.secret.yml
```
### custom firmware for hygrometers
To flash a custom firmware for this sensor.
* Android handy, go to [this page](https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html).
* Flash firmware.
To test everything, check this YouTube Video and use the app "nRF Connect for mobile".
### dyndns-muc
See file `dyndns-muc.moritzgraf.secret`.
TODO: Not sure why the respective update URL does not work.
### prometheus
Metrics are provided on `/metrics` link see in config file.
## no longer relevant
Switched from MQTT to prometheus exporter setup.
### MQTT testing
To test MQTT a cli can be used. See [hivemq install instructions](https://hivemq.github.io/mqtt-cli/docs/installation/#homebrew).
```sh
mqtt sub -h moritzgraf.de -p 30024 --user sender -pw <password> -t demo
############# general mqtt
# get nodeport of mosquitto
kubectl get svc mosquitto -n datalab
# for password see `cat ../k8s/datalab/mosquitto.secret.yml`
@@ -38,64 +90,3 @@ kubectl get svc mosquitto -n datalab
pip install paho-mqtt
python publish.py
```
### custom firmware for hygrometers
To flash a custom firmware for this sensor.
* Android handy, go to [this page](https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html).
* Flash firmware.
To test everything, check this YouTube Video and use the app "nRF Connect for mobile".
### esphome
Setup is based on [this guide](https://esphome.io/guides/getting_started_command_line.html).
```sh
brew install esphome
# wizard to create new devices
esphome wizard muc_kitchen.secret.yml
# flash to device
# -hold boot button to enable flashing on esps
esphome run ./config/muc_kitchen.secret.yml
```
### debug info
```sh
[21:20:43][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-outside Temperature':
[21:20:43][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-outside_temperature/state'
[21:20:43][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-outside Humidity':
[21:20:43][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-outside_humidity/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-outside Battery-Level':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-outside_battery-level/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-outside Battery-Voltage':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-outside_battery-voltage/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-outside Signal':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-outside_signal/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-kitchen Temperature':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-kitchen_temperature/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-kitchen Humidity':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-kitchen_humidity/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-kitchen Battery-Level':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-kitchen_battery-level/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-kitchen Battery-Voltage':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-kitchen_battery-voltage/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-kitchen Signal':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-kitchen_signal/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-bathroom Temperature':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-bathroom_temperature/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-bathroom Humidity':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-bathroom_humidity/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-bathroom Battery-Level':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-bathroom_battery-level/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-bathroom Battery-Voltage':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-bathroom_battery-voltage/state'
[21:20:44][C][mqtt.sensor:027]: MQTT Sensor 'muc_kitchen-bathroom Signal':
[21:20:44][C][mqtt.sensor:031]: State Topic: 'muc_kitchen/sensor/muc_kitchen-bathroom_signal/state'
```