Commit Graph

12470 Commits

Author SHA1 Message Date
Michael Hanselmann
718f5fc9ab prometheus: Unify memory metrics
The "memory fragmentation" value named "memory_ratio" was always
truncated to an integer, so in all likelyhood 0. It didn't work anyway
until the incorrect line termination was fixed in an earlier commit.
Neither could the Psram metric be parsed correctly due to the the same
incorrect line termination.

With this change memory usage is reported in line with Prometheus'
upstream recommendations (https://prometheus.io/docs/practices/naming/).
Labels are no longer used to separate distinct dimensions. Total and
free memory as well as the maximum allocation size are reported as
separate metrics where available while labels are used to differenciate
the separate kinds of memory (heap on all, psram on ESP32).

Label values are now also lowercase on ESP32 to match ESP8266.

Metrics should report their base values, not the result of
a calculation. Therefore the already non-working "fragmentation" metric
is dropped. It can easily be calculated in PromQL instead.

The renaming of metrics and label values makes this a breaking change,
especially on ESP32. With the aforementioned formatting errors which
made them unusable that shouldn't be a problem.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
2021-07-19 13:35:59 +02:00
Michael Hanselmann
1b96833d6a prometheus: Use utility functions to format metrics
Format strings for Prometheus metrics were written manually and the
`# TYPE` lines needed to be kept in sync with actual metrics. As
indicated by the previous commit it wasn't always as consistent as
desired. In addition there was a lot of repetition among the strings
which couldn't be reduced at build time.

With this change utility functions are introduced which eliminate the
need for specifying the same metric name more than once. At the same
time the proper escaping for label values, initially added in commit
16b5f2fe9, is now applied for all labels.

The size of the program shrinks slightly by 212 bytes on ESP8266 in the
"tasmota" configuration with Prometheus enabled and 412 bytes on ESP32
with the "tasmota32" configuration.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
2021-07-19 13:35:46 +02:00
Michael Hanselmann
7d15e15d8a prometheus: Fix wrong format on ESP32, incorrect names in types
When built for ESP32 the memory fragmentation metric was incorrectly
terminated (likely a typo). The type information for
"tasmota_global_humidity_percentage" didn't include the "_percentage"
and "tasmota_sensors" wsa incorrect too.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
2021-07-19 13:35:27 +02:00
s-hadinger
650e882083
Merge pull request #12688 from s-hadinger/berry_path_module
Berry add `path` module
2021-07-18 23:03:50 +02:00
Stephan Hadinger
0b7d5e9123 Berry add path module 2021-07-18 22:39:59 +02:00
s-hadinger
f92343dc64
Merge pull request #12687 from s-hadinger/tls_fix_aws_light
Fix StackThunk size for USE_MQTT_AWS_IOT_LIGHT
2021-07-18 22:01:55 +02:00
Stephan Hadinger
6834e5f72a Fix StackThunk size for USE_MQTT_AWS_IOT_LIGHT 2021-07-18 21:45:39 +02:00
s-hadinger
c64f6c326f
Merge pull request #12685 from s-hadinger/psram_disable_unsupported
Disable PSRAM on unsupported hardware
2021-07-18 21:25:35 +02:00
Stephan Hadinger
f0f70ce1df Fix compilation for ESP8266 2021-07-18 19:52:50 +02:00
Stephan Hadinger
1682582bea Disable PSRAM on unsupported hardware
Either ESP32 rev1/2 that needs special fixes
`-DHAS_PSRAM_FIX -mfix-esp32-psram-cache-issue -lc-psram-workaround -lm-psram-workaround`
or ESP32-PICO-V3-02 that requires esp-idf 4.4
2021-07-18 19:43:33 +02:00
s-hadinger
5e62a8bdbc
Merge pull request #12679 from s-hadinger/gpio16_17_red
Mark GPIOs 16 and 17 as read on ESP32, as they are used for PSRAM
2021-07-18 15:24:51 +02:00
Stephan Hadinger
1bbf7b826a Mark GPIOs 16 and 17 as read on ESP32, as they are used for PSRAM 2021-07-18 15:00:11 +02:00
Theo Arends
4173340c6a Add support for CAN bus and Freedom Won Battery Management System by Marius Bezuidenhout (#12651) 2021-07-17 15:16:48 +02:00
Theo Arends
de2e86f022
Merge pull request #12651 from mbezuidenhout/feature/can-bus
Feature/can bus
2021-07-17 14:52:12 +02:00
Theo Arends
8162abd9d3 Fix Tasmesh special case packet size 2021-07-17 14:34:11 +02:00
Theo Arends
3d7c1091a7
Merge pull request #12659 from emontnemery/hass_white_tweak
Improve color light integration with HomeAssistant for so19 1
2021-07-16 13:41:05 +02:00
Theo Arends
210aa4eb60
Merge pull request #12660 from Jason2866/lib_ignore
Add libs to ignore
2021-07-16 13:39:21 +02:00
Jason2866
c572c9e925
Merge pull request #12664 from arendst/m5_nofix
no cache fix needed for M5Core2...
2021-07-16 12:24:30 +02:00
Jason2866
52d9615910
no cache fix needed...
since it is a D0WDQ6-V3
Source: https://github.com/m5stack/M5Core2
2021-07-16 12:23:22 +02:00
s-hadinger
7562cefdf5
Merge pull request #12661 from s-hadinger/fix_axp192_m5stack_core2
Fix AXP192 lcd voltage for M5Stack Core2
2021-07-15 22:29:44 +02:00
Stephan Hadinger
9d8626e9ca Fix AXP192 lcd voltage for M5Stack Core2 2021-07-15 22:07:37 +02:00
Jason2866
7f9e158504
Add more libs to ignore 2021-07-15 18:34:55 +02:00
Erik
978f2e3d5d Use explicit color mode for RGBWW lights 2021-07-15 18:16:59 +02:00
Erik
c3d757ca95 Use hs color instead of rgb color 2021-07-15 17:51:40 +02:00
Erik
02de85efa7 Only enable white mode for RGBW lights 2021-07-15 16:16:51 +02:00
Erik
3c6471d5de Improve RGBW light integration with HomeAssistant for so19 1 2021-07-15 16:07:30 +02:00
Theo Arends
e357513a49 Fix regression in adcparam restore 2021-07-15 14:28:52 +02:00
Jason2866
3ea8ed47ae
Merge pull request #12658 from Jason2866/new_frmwrk
New Arduino ESP32 framework based on latest IDF4.4
2021-07-15 12:50:06 +02:00
Jason2866
b967b17435
New Arduino ESP32 framework based on latest IDF4.4 2021-07-15 12:42:04 +02:00
Theo Arends
d74929c3af Fix regression ESP8266 compilation 2021-07-14 18:28:05 +02:00
Theo Arends
6cd9a7d899 Add command `SetSensor1..127 0|1` to globally disable individual sensor driver 2021-07-14 14:20:50 +02:00
Marius Bezuidenhout
5fec3b0ac7 Moved entries to end of list 2021-07-14 11:54:54 +02:00
Marius Bezuidenhout
f52ef2787a
Merge branch 'arendst:development' into feature/can-bus 2021-07-14 11:44:10 +02:00
Marius Bezuidenhout
425eb72305 Changed sensor number to 90 2021-07-14 11:43:26 +02:00
Theo Arends
0851549b10 Add support ESP32-C3 internal temperature sensor 2021-07-14 11:39:59 +02:00
Marius Bezuidenhout
33ae473906
Merge branch 'arendst:development' into feature/can-bus 2021-07-14 11:32:43 +02:00
Theo Arends
0282943d46 ESP32 internal sensor driver id moved from 87 to 127 2021-07-14 11:24:36 +02:00
Marius Bezuidenhout
7bbc858f09
Merge branch 'arendst:development' into feature/can-bus 2021-07-14 11:17:59 +02:00
Theo Arends
7e1565dee6 Move ESP32 temperature sensor to the end of the list 2021-07-14 10:57:05 +02:00
Marius Bezuidenhout
685979e913
Merge branch 'arendst:development' into feature/can-bus 2021-07-14 09:43:26 +02:00
Marius Bezuidenhout
0987489c0c Fixed compile on ESP32 2021-07-14 09:40:36 +02:00
Marius Bezuidenhout
bebcf00dc1 Merge branch 'feature/can-bus' of github.com:mbezuidenhout/Tasmota-PetProjects into feature/can-bus 2021-07-13 20:18:59 +02:00
Marius Bezuidenhout
44e8b838cf Added missing translations 2021-07-13 20:18:11 +02:00
Jason2866
c366ce067d
Add missing entrys 2021-07-13 18:07:58 +02:00
Jason2866
77766705d5
Standard ESP32 core is 1.0.7.1 2021-07-13 17:47:35 +02:00
Marius Bezuidenhout
8e7a314d29 Merge branch 'feature/can-bus' of github.com:mbezuidenhout/Tasmota-PetProjects into feature/can-bus 2021-07-13 17:11:59 +02:00
Marius Bezuidenhout
ef6b79a450
Merge branch 'arendst:development' into feature/can-bus 2021-07-13 17:11:43 +02:00
Marius Bezuidenhout
ad8b557bec First working version 2021-07-13 16:49:40 +02:00
Theo Arends
5abadbf221 Fix ESP32 do not use chip temperature sensor as global temperature if external temperature sensor is used (#12630) 2021-07-13 16:44:28 +02:00
Theo Arends
c69e276d37
Merge pull request #12638 from Jason2866/psram_defs
Move PSRAM cache fix definitions in boards.json
2021-07-13 15:17:41 +02:00