Skip to content

Commit

Permalink
Merge pull request #1303 from proddy/dev
Browse files Browse the repository at this point in the history
disabled entity values shown in white text in web
  • Loading branch information
proddy authored Sep 20, 2023
2 parents 96ff5ed + 6655035 commit 385d237
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 17 deletions.
3 changes: 3 additions & 0 deletions interface/src/CustomTheme.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ const theme = responsiveFontSizes(
},
info: {
main: '#607d8b' // blueGrey[500]
},
text: {
disabled: '#eee' // white
}
}
})
Expand Down
12 changes: 1 addition & 11 deletions interface/src/project/DashboardDevicesDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -124,7 +114,7 @@ const DashboardDevicesDialog = ({
return (
<Dialog sx={dialogStyle} open={open} onClose={close}>
<DialogTitle>
{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)}
</DialogTitle>
<DialogContent dividers>
<Box color="warning.main" p={0} pl={0} pr={0} mt={0} mb={2}>
Expand Down
82 changes: 82 additions & 0 deletions lib_standalone/Preferences.h
Original file line number Diff line number Diff line change
@@ -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
20 changes: 18 additions & 2 deletions src/devices/boiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 0 additions & 1 deletion src/devices/boiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/emsdevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
2 changes: 1 addition & 1 deletion src/emsdevicevalue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 1 addition & 1 deletion src/mqtt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 385d237

Please sign in to comment.