1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-28 13:43:54 +00:00

Add sensor force_update option (#783)

* Add sensor force_update option

* Add test
This commit is contained in:
Otto Winter
2019-10-21 15:46:39 +02:00
committed by GitHub
parent d64a4ef2b4
commit ae8700447e
8 changed files with 34 additions and 4 deletions

View File

@@ -406,6 +406,7 @@ message ListEntitiesSensorResponse {
string icon = 5;
string unit_of_measurement = 6;
int32 accuracy_decimals = 7;
bool force_update = 8;
}
message SensorStateResponse {
option (id) = 25;

View File

@@ -1359,6 +1359,10 @@ bool ListEntitiesSensorResponse::decode_varint(uint32_t field_id, ProtoVarInt va
this->accuracy_decimals = value.as_int32();
return true;
}
case 8: {
this->force_update = value.as_bool();
return true;
}
default:
return false;
}
@@ -1407,6 +1411,7 @@ void ListEntitiesSensorResponse::encode(ProtoWriteBuffer buffer) const {
buffer.encode_string(5, this->icon);
buffer.encode_string(6, this->unit_of_measurement);
buffer.encode_int32(7, this->accuracy_decimals);
buffer.encode_bool(8, this->force_update);
}
void ListEntitiesSensorResponse::dump_to(std::string &out) const {
char buffer[64];
@@ -1440,6 +1445,10 @@ void ListEntitiesSensorResponse::dump_to(std::string &out) const {
sprintf(buffer, "%d", this->accuracy_decimals);
out.append(buffer);
out.append("\n");
out.append(" force_update: ");
out.append(YESNO(this->force_update));
out.append("\n");
out.append("}");
}
bool SensorStateResponse::decode_32bit(uint32_t field_id, Proto32Bit value) {

View File

@@ -364,6 +364,7 @@ class ListEntitiesSensorResponse : public ProtoMessage {
std::string icon{}; // NOLINT
std::string unit_of_measurement{}; // NOLINT
int32_t accuracy_decimals{0}; // NOLINT
bool force_update{false}; // NOLINT
void encode(ProtoWriteBuffer buffer) const override;
void dump_to(std::string &out) const override;