- make sure we call run() before checking for errors, we will miss status update otherwise and lock the sensor class in the error state that it cannot recover from
- set error flag only when either bsec or bme680 report an error. ensure we show any issues reported by the library via the debug log
ref. https://gitter.im/tinkerman-cat/espurna?at=5f63a955c1d1a53705abcbe3
TODO: add custom error messages through virtual method?
Also, a minor fix to the sensors test when using 1m and 2m boards
- (experimental) provide generic way to read magnitude values
- expose /api/metrics with values formatted specifically for prometheus, with relay and sensor data
- small tweaks to sensor init
Example config:
```
scrape_configs:
- job_name: 'espurna'
metrics_path: '/api/metrics'
params:
apikey: ['apikeyapikey']
static_configs:
- targets: ['espurna-blabla.lan:80']
```
Where ESPurna side has
```
apiKey => "apikeyapikey"
apiEnabled => "1"
```
Add support for BME680 using libalgobsec proprietary algorithms for precise Indoor Air Quality (IAQ) measurement. Unlike traditional CO2 sensors - and good ones are expensive - it measures nearly all VOCs compounds in the air (plus other gases) and compensates those measurements with its built-in temperature and humidity sensors to determine indoor air quality.
Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
Add new V3.0 version of PZEM004T, not tested. Default to factory default address 0xf8, configurable through pzemv30Addr 8-bit number
Add 'frequency' measurement & 'hz' unit
Add pz.address that configures address
Implemented energy reset
Right now we only support a single device. No way to test this properly (mostly, how exactly we need to connect this stuff), so left as not implemented.
* ADC_VCC is not macro
* In esp.h ADC_VCC and ADC_TOUT is not macro, so define macro.
* ADC_VCC and ADC_TOUT fixes in utils.ino and sensors.h
* Adding support for I2C temperature and humidity sensor HDC1080 / 831R
* Added HDC1080 to test\build\sensor.h and arduino.h
* added brackets
* Revert ADC_MODE_VALUE to initial values
* Eof newline
* Eof newline
Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
* Sensors: refactor configuration
- move sensor implementaion to the .ino,
remove dependency undef / define from sensor files
- update test/build/sensor.h from SENSOR_SUPPORT
- allow to change sensor config variables externally
- `#include <...>` for global headers and libraries,
fix relative path for math library
* add missing sns <-> i2c dependency
* ledrelay should return relay_none as default
* rollback to original test header
* include debug header when requested (relative)
- fix hardware.h weird encoding (todo: is there a git-attribute for
this to be peristent?)
- sort and add missing support and hw entries to the arduino.h
- force thermostat to depend on sensors to avoid confusing linker error
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Updated copyright string
* Buffer from 6 bytes to 8 bytes
Current gcc-4 does not mark this as warning, but gcc-9 notices the 3 char size requirement. Buffer should be 8
* Use 5000ppm max
* travis: move build flags tests outside of hardware header
* mqtt: fix typo
* travis: use files instead of bundling test cases into script
* fixup! travis: use files instead of bundling test cases into script
* fix variable expansion, remove custom h at the end
* add ade7953 to sensors list
* custom.h path as variable
* shellcheck
* fix printf syntax, silent again
* fix bash 4.3 treating empty array as unset variable
* Add Shelly 2.5
* Add ADE7953 sensor support
* Fix compilation
* Use only one instance
* WIP: Not working, I got StoreProhibited exception
* Fix exception
* Fix merge issues
* Apply request review changes
* declare struct before using it
* uninterruptible delay
* try optimized reg_size
* fix types
* Remove gpio 0 input in analog sensor
* Add energy to ADE7953, it is not finished yet
* Add new method to save energy with index
* Finish energy for ADE7953
* Allowing Emon sensor parameters to be naturally overridden
* blocking get adminPass for security reasons
* Fixing missing 's' in adminPass blocked message
* Revert "blocking get adminPass for security reasons"
* Testing branch
* Added ability (by define) to scale analog sensor, also with number of decimals (it was formerly zero)
Useful when running on batteries to check the battery voltage just
adding the appropriate resistor
* Reverting DHTSensor.h file
* Trying again to revert DHTSensor.h
* Using macro DEBUG_MSG
* fix method types
* Testing branch
* Added ability (by define) to scale analog sensor, also with number of decimals (it was formerly zero)
Useful when running on batteries to check the battery voltage just
adding the appropriate resistor
* Reverting DHTSensor.h file
* Trying again to revert DHTSensor.h
* Using macro DEBUG_MSG
* fix method types