1787f20ddb
refactoring: combine composition and inheritance for building the configuration
2024-10-28 11:58:41 +01:00
2a5fb84d83
bug fix
...
- StatefulCommand was wrongly initialized with number type, instead of the incoming parameter
2024-10-28 11:58:41 +01:00
47a5bfc81c
make min, max & step optional
2024-10-28 11:58:41 +01:00
3a374bf685
no need to use friend in DeviceConfig
2024-10-28 11:58:41 +01:00
7755950a27
give maps more meaningful names and introduce StatefulCommand
2024-10-28 11:58:41 +01:00
50e6c2586d
Merge branch 'optimizations' into v1.4.0
2024-10-28 11:55:37 +01:00
fe8b33df72
optimize ArduinoJson serialization: avoid copies of strings
2024-10-18 22:14:45 +02:00
baa3d2d0b8
- avoid possible buffer overflows by using snprintf
...
- uniqueId is a field now - optimizes string copy
- store long strings in FLASH memory
2024-10-18 22:14:37 +02:00
138c7b5cd8
read heap stats once and put them in both sensors and json attributes
2024-10-18 08:45:24 +02:00
df1b900b5d
Merge branch 'v1.3.1'
2024-10-15 17:25:30 +02:00
0227340a1f
fix possible hash related bug with storing char instead of string into map
2024-10-15 17:20:19 +02:00
eb98e0562b
protect members that are not to be used outside
2024-10-10 21:04:32 +02:00
42b226c19b
Merge branch 'v1.3.0'
2024-10-09 10:59:45 +02:00
8f534cce94
keep track of enabled sensors using struct
2024-10-09 08:53:51 +02:00
2456ae1dc8
use StatusRequest to signal mqtt connectivity - fixes updates being published only after mqtt has been connected
2024-10-09 08:53:46 +02:00
6468db5565
add restart reason sensor
2024-10-08 21:03:55 +02:00
f1901a1b53
add support for precondfigured components - heap stats
2024-10-08 20:56:27 +02:00
7327533b24
detect a multi value sensor based on common id
2024-10-07 22:06:26 +02:00
dbedf0d2f1
fix typo
2024-10-07 22:01:25 +02:00
3ec92c43a6
Merge branch 'v1.2.0'
2024-10-07 21:57:38 +02:00
2bdbba1113
sensor: specifying a precision implies the sensor is number, but it
...
needs to be generic (e.g. text)
set a default precision only if there is a unit_of_measurement
2024-10-07 21:42:09 +02:00
69c4222553
secondary components: always put the device name in MQTT configuration, even it is just
...
referenced - new requirement from HA
2024-10-07 15:16:47 +02:00
6a4350a682
Merge branch 'v1.1.0'
2024-06-30 20:36:03 +02:00
1dea02cd0d
add support for configuring components with any json property
2024-06-30 20:35:02 +02:00
6c78efa3c2
add support for precision in sensors
2024-06-30 13:42:47 +02:00
bf8439bdd1
Merge branch 'v1.0.1'
2024-06-30 13:18:36 +02:00
48b33d5a58
add tets for list
2024-06-30 13:17:34 +02:00
b682c59d33
restore list's state after empty
2024-06-30 13:16:11 +02:00
728043a606
first version of the library
2024-05-30 08:18:59 +02:00
c7b6c382f8
add Number, refactor StateConfig and add support for restoring state at startup
2024-05-29 16:13:01 +02:00
661eea9db8
add support for setting retain
2024-05-29 16:09:54 +02:00
9b2e332587
rename secondary entities and add support for configuration type entity
2024-05-29 16:08:05 +02:00
fd2a7a25b2
generic support for using device's name
2024-05-29 16:01:00 +02:00
a4b1e78eef
decouple mqtt:
...
- register onConnected and onDisconnected callbacks
- allow optional Scheduler
- publishInit is independent on Scheduler
2024-05-22 13:42:52 +02:00
4b498d7afd
reorganize platformio.ini configuration
2024-05-22 00:04:21 +02:00
8d893645fe
Merge branch 'doorbell' into huzzah
2024-05-19 18:11:28 +02:00
8428c702f7
use map to find sensors
2024-05-19 11:50:19 +02:00
13bbb5ffc4
use better names for constructing secondary entities
2024-05-19 01:33:11 +02:00
3e87d60434
use reference when building DeviceConfig
2024-05-19 01:31:41 +02:00
07c2859400
allow creation of DeviceConfig only with factory method
2024-05-18 22:44:36 +02:00
186678cffc
use blue led to indicate mqtt connectivity
2024-05-18 09:45:17 +02:00
96b420b258
move all devices creattion in devices.h
2024-05-17 18:01:12 +02:00
26b11129a8
destroy container along with the builders
2024-05-17 09:26:35 +02:00
4b4f543117
Merge branch 'refactor' into huzzah
2024-05-16 17:27:24 +02:00
0cdf58d99b
fine tunning:
...
- use namespace for oil tank builders
- use factory method for creating DeviceConfig
- use C's strcmp for comparing strings
- split parsing of incoming RCSwitch states
2024-05-16 11:14:47 +02:00
0d574b8da1
return string when building protocol ids - avoid unused pointers
2024-05-16 10:26:15 +02:00
ae95b123ae
uniqueId, configTopic & commandTopic:
...
- for sensors, use deviceClass as part of uniqueId & configTopic
- use same commandTopic for all Commands - with /set at the end
2024-05-16 10:13:36 +02:00
2d71abfaeb
use same Builder for sensor specific fields
2024-05-16 10:05:24 +02:00
c88e832fbe
cleanup
2024-05-16 09:53:55 +02:00
e9e30ae025
move config publishing inside Component
2024-05-15 10:33:09 +02:00