66 Commits

Author SHA1 Message Date
d18d7553b9 avoid using intermediate buffer to store config to publish 2025-10-11 16:13:44 +02:00
fd40969c20 use unique_ptr to avoid manual deletion 2025-10-11 16:00:31 +02:00
12663901ab use precise length for storing state topic 2025-10-11 16:00:31 +02:00
130f4eb6a2 use a better name for restoreStateFrom... 2025-10-11 16:00:31 +02:00
149a722fc7 use commandTopic as a temporary object 2025-10-11 16:00:31 +02:00
962300712f use configTopic as a temporary object 2025-10-11 16:00:31 +02:00
adf1629aad add support for specifying entity_id on HA side, instead of being
autogenerated based on the name
2025-10-09 11:24:12 +02:00
7d8fe51845 webserver: separate setup from start 2025-10-08 20:03:58 +02:00
9093996ec9 use standard fixed length types 2025-10-08 17:14:06 +02:00
98fbf2a55e add pre-configured button for updating the heap statistics 2025-10-08 14:36:25 +02:00
a23bf27c50 empty list of components, it is not needed after the config has been
published on MQTT
2025-10-08 11:36:43 +02:00
2b23bbf178 fix tests 2025-10-08 11:36:43 +02:00
9511f08d2b don't create Builders on heap, use temporary objects instead 2025-10-08 11:36:40 +02:00
c98df614c4 optimize performance by using function template - it avoids type erasure and heap allocation 2025-10-05 12:11:24 +02:00
07eeac8beb add support for using lambdas with captures as factory_builder functions 2025-10-05 11:35:55 +02:00
01c7eb8479 re-organize state and command topics by removing component type from path 2025-10-03 10:28:44 +02:00
d69a0a59cb add binary sensor which requires the introduction of GenericSensor class 2025-10-02 08:08:12 +02:00
17105a0ce2 add reference to external Scheduler and update library dependencies 2025-09-17 15:37:08 +02:00
10afc57b65 fix crash due to memory issues by using heap - dynamic json 2025-09-10 13:54:11 +02:00
74f1dc1553 return list of commands as JSON array 2025-09-10 13:53:58 +02:00
73f7283918 use POST for commands, it aligns better with REST specs 2025-09-10 13:53:35 +02:00
234649cdd2 implement getting commands and changing the state 2025-09-10 13:53:01 +02:00
b4461d629b first draft - use it as a library 2025-09-10 13:53:01 +02:00
6924775e02 implement toJson for Component and Command to be used in webserver
responses
2025-09-08 12:22:38 +02:00
7adc710271 use task for restart to allow delay and give a chance to web server to
send reponse back
2025-09-06 21:45:13 +02:00
c82cb3670c add map for command->id to offer support for web server 2025-09-06 17:14:15 +02:00
df53af65fa use long term statistics as default for battery sensors 2025-06-07 09:14:32 +02:00
464b4f1645 add assignment operator for when EnumClass is used in a Builder 2025-06-07 08:29:23 +02:00
57160661ec use type safe SensorStateClass-es 2025-06-06 14:58:18 +02:00
391fa927ba add support for SensorStateClass (used for long term statistics) and use it as default for Temperature and Humidity sensors 2025-06-05 19:34:06 +02:00
9b1ecf73ce add sensor for wifi signal strength 2025-06-05 18:35:50 +02:00
f33ed5cd75 add restart button for ESP devices 2025-03-27 12:28:00 +01:00
5d9b0862bf valueTemplate is specific to all state components 2025-03-26 13:38:16 +01:00
94ff72aefc add support of unitMeasure for Numbers 2025-03-26 13:37:38 +01:00
4037ede011 add support for icon 2025-03-26 10:20:31 +01:00
4b600a4686 fix possible bug: restore from state needs a state topic 2025-02-10 09:22:30 +01:00
935041204e add text component 2025-02-06 13:22:46 +01:00
70535f3467 add light component 2025-02-03 19:11:55 +01:00
ab11cdacd8 use inline for static members - avoid declaring them outside of class 2025-01-10 13:33:58 +01:00
5c3e0c2236 rename utils.h to list.h 2024-10-29 10:06:27 +01:00
803d969de6 fixes:
- use HA's default values for min, max & step
- initialize topic arrays with nullptr
- re-order code
2024-10-28 21:10:53 +01:00
9930171d58 simplify: move building of configTopic and uniqueId inside component 2024-10-28 12:37:15 +01:00
0eec971560 add support for jsonAttributesTemplate and remove overrideConfig 2024-10-28 12:13:42 +01:00
92b5837538 change parameters' order in Component constructor - id is mandatory 2024-10-28 12:05:34 +01:00
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
fe8b33df72 optimize ArduinoJson serialization: avoid copies of strings 2024-10-18 22:14:45 +02:00