mirror of
https://github.com/esphome/esphome.git
synced 2024-11-07 09:31:10 +01:00
commit
11eb5cb0fa
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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_();
|
||||||
|
|
||||||
|
@ -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_();
|
||||||
|
@ -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"))
|
||||||
|
@ -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-_"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user