From b893290b62cb6580cc253daa2c431b55c3e14530 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 20 Sep 2023 23:09:02 +0200 Subject: [PATCH 1/4] disabled entity values shown in white text --- interface/src/CustomTheme.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/interface/src/CustomTheme.tsx b/interface/src/CustomTheme.tsx index 1f08afc19..c00321984 100644 --- a/interface/src/CustomTheme.tsx +++ b/interface/src/CustomTheme.tsx @@ -26,6 +26,9 @@ const theme = responsiveFontSizes( }, info: { main: '#607d8b' // blueGrey[500] + }, + text: { + disabled: '#eee' // white } } }) From df70ed0062b483816ca64806ced68a5d132b5b4e Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 20 Sep 2023 23:09:10 +0200 Subject: [PATCH 2/4] remove comments --- interface/src/project/DashboardDevicesDialog.tsx | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/interface/src/project/DashboardDevicesDialog.tsx b/interface/src/project/DashboardDevicesDialog.tsx index c4a291f5e..a3bb48abd 100644 --- a/interface/src/project/DashboardDevicesDialog.tsx +++ b/interface/src/project/DashboardDevicesDialog.tsx @@ -30,16 +30,6 @@ import { updateValue } from 'utils'; import { validate } from 'validators'; -// const dialogStyle = { -// '& .MuiDialog-paper': { -// borderRadius: '8px', -// borderColor: '#565656', -// borderStyle: 'solid', -// borderWidth: '1px' -// }, -// backdropFilter: 'blur(1px)' -// }; - type DashboardDevicesDialogProps = { open: boolean; onClose: () => void; @@ -124,7 +114,7 @@ const DashboardDevicesDialog = ({ return ( - {selectedItem.v === '' && selectedItem.c ? LL.RUN_COMMAND() : writeable ? LL.CHANGE_VALUE() : LL.VALUE(0)} + {selectedItem.v === '' && selectedItem.c ? LL.RUN_COMMAND() : writeable ? LL.CHANGE_VALUE() : LL.VALUE(1)} From 755408e6aa29ca893b667a5022870b6f3dfcde62 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 20 Sep 2023 23:09:21 +0200 Subject: [PATCH 3/4] standalone build works --- lib_standalone/Preferences.h | 82 ++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 lib_standalone/Preferences.h diff --git a/lib_standalone/Preferences.h b/lib_standalone/Preferences.h new file mode 100644 index 000000000..cb46530cf --- /dev/null +++ b/lib_standalone/Preferences.h @@ -0,0 +1,82 @@ +#ifndef _PREFERENCES_H_ +#define _PREFERENCES_H_ + +#include "Arduino.h" + +typedef enum { PT_I8, PT_U8, PT_I16, PT_U16, PT_I32, PT_U32, PT_I64, PT_U64, PT_STR, PT_BLOB, PT_INVALID } PreferenceType; + +class Preferences { + protected: + uint32_t _handle; + bool _started; + bool _readOnly; + + public: + Preferences(){}; + ~Preferences(){}; + + bool begin(const char * name, bool readOnly = false, const char * partition_label = NULL) { + return true; + } + + bool remove(const char * key) { + return true; + } + + size_t putChar(const char * key, int8_t value) { + return 0; + } + size_t putUChar(const char * key, uint8_t value) { + return 0; + } + + size_t putDouble(const char * key, double_t value) { + return 0; + } + + uint8_t getUChar(const char * key, uint8_t defaultValue = 0) { + return 0; + } + + double_t getDouble(const char * key, double_t defaultValue = NAN) { + return NAN; + } + + // unused + + void end(); + bool clear(); + size_t putShort(const char * key, int16_t value); + size_t putUShort(const char * key, uint16_t value); + size_t putInt(const char * key, int32_t value); + size_t putUInt(const char * key, uint32_t value); + size_t putLong(const char * key, int32_t value); + size_t putULong(const char * key, uint32_t value); + size_t putLong64(const char * key, int64_t value); + size_t putULong64(const char * key, uint64_t value); + size_t putFloat(const char * key, float_t value); + size_t putBool(const char * key, bool value); + size_t putString(const char * key, const char * value); + size_t putString(const char * key, String value); + size_t putBytes(const char * key, const void * value, size_t len); + bool isKey(const char * key); + PreferenceType getType(const char * key); + int8_t getChar(const char * key, int8_t defaultValue = 0); + int16_t getShort(const char * key, int16_t defaultValue = 0); + uint16_t getUShort(const char * key, uint16_t defaultValue = 0); + int32_t getInt(const char * key, int32_t defaultValue = 0); + uint32_t getUInt(const char * key, uint32_t defaultValue = 0); + int32_t getLong(const char * key, int32_t defaultValue = 0); + uint32_t getULong(const char * key, uint32_t defaultValue = 0); + int64_t getLong64(const char * key, int64_t defaultValue = 0); + uint64_t getULong64(const char * key, uint64_t defaultValue = 0); + float_t getFloat(const char * key, float_t defaultValue = NAN); + bool getBool(const char * key, bool defaultValue = false); + size_t getString(const char * key, char * value, size_t maxLen); + String getString(const char * key, String defaultValue = String()); + size_t getBytesLength(const char * key); + size_t getBytes(const char * key, void * buf, size_t maxLen); + size_t freeEntries(); +}; + +#endif From 665503556117d667faf8da52469db96dc9dc71ca Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 20 Sep 2023 23:09:29 +0200 Subject: [PATCH 4/4] autoformatting --- src/devices/boiler.cpp | 20 ++++++++++++++++++-- src/devices/boiler.h | 1 - src/emsdevice.cpp | 2 +- src/emsdevicevalue.cpp | 2 +- src/mqtt.cpp | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index d930a09d8..64fc2c0ff 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -854,8 +854,24 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const if (model() != EMS_DEVICE_FLAG_HEATPUMP) { register_telegram_type(0x04, "UBAFactory", true, MAKE_PF_CB(process_UBAFactory)); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &nomPower_, DeviceValueType::UINT, FL_(nomPower), DeviceValueUOM::KW, MAKE_CF_CB(set_nomPower)); - register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &nrgHeat_, DeviceValueType::ULONG, DeviceValueNumOp::DV_NUMOP_DIV100, FL_(nrgHeat), DeviceValueUOM::KWH, MAKE_CF_CB(set_nrgHeat), 0, 10000000UL); - register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, &nrgWw_, DeviceValueType::ULONG, DeviceValueNumOp::DV_NUMOP_DIV100, FL_(nrgWw), DeviceValueUOM::KWH, MAKE_CF_CB(set_nrgWw), 0, 10000000UL); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &nrgHeat_, + DeviceValueType::ULONG, + DeviceValueNumOp::DV_NUMOP_DIV100, + FL_(nrgHeat), + DeviceValueUOM::KWH, + MAKE_CF_CB(set_nrgHeat), + 0, + 10000000UL); + register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, + &nrgWw_, + DeviceValueType::ULONG, + DeviceValueNumOp::DV_NUMOP_DIV100, + FL_(nrgWw), + DeviceValueUOM::KWH, + MAKE_CF_CB(set_nrgWw), + 0, + 10000000UL); nrgHeatF_ = EMSESP::nvs_.getDouble(FL_(nrgHeat)[0], 0); nrgWwF_ = EMSESP::nvs_.getDouble(FL_(nrgWw)[0], 0); diff --git a/src/devices/boiler.h b/src/devices/boiler.h index 8de95bb61..3f99acbee 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -481,7 +481,6 @@ class Boiler : public EMSdevice { bool set_nrgHeat(const char * value, const int8_t id); bool set_nrgWw(const char * value, const int8_t id); bool set_nomPower(const char * value, const int8_t id); - }; } // namespace emsesp diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index 743cf9577..c832f7009 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -1671,7 +1671,7 @@ bool EMSdevice::generate_values(JsonObject & output, const uint8_t tag_filter, c if (v < dv.min) { dv.min = v; dv.remove_state(DeviceValueState::DV_HA_CONFIG_CREATED); - } else if (v > dv.max) { + } else if ((uint32_t)v > dv.max) { dv.max = v; dv.remove_state(DeviceValueState::DV_HA_CONFIG_CREATED); } diff --git a/src/emsdevicevalue.cpp b/src/emsdevicevalue.cpp index 0d0561f5c..d38fb73cd 100644 --- a/src/emsdevicevalue.cpp +++ b/src/emsdevicevalue.cpp @@ -327,7 +327,7 @@ bool DeviceValue::get_custom_min(int16_t & val) { bool has_min = (min_pos != std::string::npos); uint8_t fahrenheit = !EMSESP::system_.fahrenheit() ? 0 : (uom == DeviceValueUOM::DEGREES) ? 2 : (uom == DeviceValueUOM::DEGREES_R) ? 1 : 0; if (has_min) { - int v = Helpers::atoint(custom_fullname.substr(min_pos + 1).c_str()); + uint32_t v = Helpers::atoint(custom_fullname.substr(min_pos + 1).c_str()); if (fahrenheit) { v = (v - (32 * (fahrenheit - 1))) / 1.8; // reset to °C } diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 4965be618..9cdbaf528 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -855,7 +855,7 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev case DeviceValueType::UINT: case DeviceValueType::SHORT: case DeviceValueType::USHORT: - // case DeviceValueType::ULONG: + // case DeviceValueType::ULONG: if (discovery_type() == discoveryType::HOMEASSISTANT) { // Home Assistant // number - https://www.home-assistant.io/integrations/number.mqtt