Merge pull request #4559 from esphome/bump-2023.3.0b4

2023.3.0b4
This commit is contained in:
Jesse Hills 2023-03-14 16:17:51 +13:00 committed by GitHub
commit 11eb5cb0fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 24 additions and 3 deletions

View File

@ -448,7 +448,7 @@ void Pipsolar::loop() {
ESP_LOGD(TAG, "Decode QPIGS"); ESP_LOGD(TAG, "Decode QPIGS");
sscanf( // NOLINT sscanf( // NOLINT
tmp, // NOLINT tmp, // NOLINT
"(%f %f %f %f %d %d %d %d %f %d %d %d %d %f %f %d %1d%1d%1d%1d%1d%1d%1d%1d %d %d %d %1d%1d%1d", // NOLINT "(%f %f %f %f %d %d %d %d %f %d %d %d %f %f %f %d %1d%1d%1d%1d%1d%1d%1d%1d %d %d %d %1d%1d%1d", // NOLINT
&value_grid_voltage_, &value_grid_frequency_, &value_ac_output_voltage_, // NOLINT &value_grid_voltage_, &value_grid_frequency_, &value_ac_output_voltage_, // NOLINT
&value_ac_output_frequency_, // NOLINT &value_ac_output_frequency_, // NOLINT
&value_ac_output_apparent_power_, &value_ac_output_active_power_, &value_output_load_percent_, // NOLINT &value_ac_output_apparent_power_, &value_ac_output_active_power_, &value_output_load_percent_, // NOLINT

View File

@ -65,7 +65,7 @@ class Pipsolar : public uart::UARTDevice, public PollingComponent {
PIPSOLAR_SENSOR(battery_charging_current, QPIGS, int) PIPSOLAR_SENSOR(battery_charging_current, QPIGS, int)
PIPSOLAR_SENSOR(battery_capacity_percent, QPIGS, int) PIPSOLAR_SENSOR(battery_capacity_percent, QPIGS, int)
PIPSOLAR_SENSOR(inverter_heat_sink_temperature, QPIGS, int) PIPSOLAR_SENSOR(inverter_heat_sink_temperature, QPIGS, int)
PIPSOLAR_SENSOR(pv_input_current_for_battery, QPIGS, int) PIPSOLAR_SENSOR(pv_input_current_for_battery, QPIGS, float)
PIPSOLAR_SENSOR(pv_input_voltage, QPIGS, float) PIPSOLAR_SENSOR(pv_input_voltage, QPIGS, float)
PIPSOLAR_SENSOR(battery_voltage_scc, QPIGS, float) PIPSOLAR_SENSOR(battery_voltage_scc, QPIGS, float)
PIPSOLAR_SENSOR(battery_discharge_current, QPIGS, int) PIPSOLAR_SENSOR(battery_discharge_current, QPIGS, int)

View File

@ -5,6 +5,10 @@
#include "esphome/core/util.h" #include "esphome/core/util.h"
#include "esphome/core/gpio.h" #include "esphome/core/gpio.h"
#ifdef USE_WIFI
#include "esphome/components/wifi/wifi_component.h"
#endif
#ifdef USE_CAPTIVE_PORTAL #ifdef USE_CAPTIVE_PORTAL
#include "esphome/components/captive_portal/captive_portal.h" #include "esphome/components/captive_portal/captive_portal.h"
#endif #endif
@ -234,6 +238,10 @@ void Tuya::handle_command_(uint8_t command, uint8_t version, const uint8_t *buff
case TuyaCommandType::WIFI_TEST: case TuyaCommandType::WIFI_TEST:
this->send_command_(TuyaCommand{.cmd = TuyaCommandType::WIFI_TEST, .payload = std::vector<uint8_t>{0x00, 0x00}}); this->send_command_(TuyaCommand{.cmd = TuyaCommandType::WIFI_TEST, .payload = std::vector<uint8_t>{0x00, 0x00}});
break; break;
case TuyaCommandType::WIFI_RSSI:
this->send_command_(
TuyaCommand{.cmd = TuyaCommandType::WIFI_RSSI, .payload = std::vector<uint8_t>{get_wifi_rssi_()}});
break;
case TuyaCommandType::LOCAL_TIME_QUERY: case TuyaCommandType::LOCAL_TIME_QUERY:
#ifdef USE_TIME #ifdef USE_TIME
if (this->time_id_.has_value()) { if (this->time_id_.has_value()) {
@ -475,6 +483,15 @@ uint8_t Tuya::get_wifi_status_code_() {
return status; return status;
} }
uint8_t Tuya::get_wifi_rssi_() {
#ifdef USE_WIFI
if (wifi::global_wifi_component != nullptr)
return wifi::global_wifi_component->wifi_rssi();
#endif
return 0;
}
void Tuya::send_wifi_status_() { void Tuya::send_wifi_status_() {
uint8_t status = this->get_wifi_status_code_(); uint8_t status = this->get_wifi_status_code_();

View File

@ -55,6 +55,7 @@ enum class TuyaCommandType : uint8_t {
DATAPOINT_QUERY = 0x08, DATAPOINT_QUERY = 0x08,
WIFI_TEST = 0x0E, WIFI_TEST = 0x0E,
LOCAL_TIME_QUERY = 0x1C, LOCAL_TIME_QUERY = 0x1C,
WIFI_RSSI = 0x24,
VACUUM_MAP_UPLOAD = 0x28, VACUUM_MAP_UPLOAD = 0x28,
GET_NETWORK_STATUS = 0x2B, GET_NETWORK_STATUS = 0x2B,
}; };
@ -123,6 +124,7 @@ class Tuya : public Component, public uart::UARTDevice {
void set_status_pin_(); void set_status_pin_();
void send_wifi_status_(); void send_wifi_status_();
uint8_t get_wifi_status_code_(); uint8_t get_wifi_status_code_();
uint8_t get_wifi_rssi_();
#ifdef USE_TIME #ifdef USE_TIME
void send_local_time_(); void send_local_time_();

View File

@ -3,6 +3,7 @@ import esphome.config_validation as cv
from esphome.components import sensor from esphome.components import sensor
from esphome.const import ( from esphome.const import (
ENTITY_CATEGORY_DIAGNOSTIC, ENTITY_CATEGORY_DIAGNOSTIC,
STATE_CLASS_TOTAL_INCREASING,
UNIT_SECOND, UNIT_SECOND,
ICON_TIMER, ICON_TIMER,
DEVICE_CLASS_DURATION, DEVICE_CLASS_DURATION,
@ -16,6 +17,7 @@ CONFIG_SCHEMA = sensor.sensor_schema(
unit_of_measurement=UNIT_SECOND, unit_of_measurement=UNIT_SECOND,
icon=ICON_TIMER, icon=ICON_TIMER,
accuracy_decimals=0, accuracy_decimals=0,
state_class=STATE_CLASS_TOTAL_INCREASING,
device_class=DEVICE_CLASS_DURATION, device_class=DEVICE_CLASS_DURATION,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
).extend(cv.polling_component_schema("60s")) ).extend(cv.polling_component_schema("60s"))

View File

@ -1,6 +1,6 @@
"""Constants used by esphome.""" """Constants used by esphome."""
__version__ = "2023.3.0b3" __version__ = "2023.3.0b4"
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"