Skip to content

Commit 9c49209

Browse files
committed
Convert to cleaner hub format
No functionality changed.
1 parent ee4cad4 commit 9c49209

File tree

6 files changed

+100
-104
lines changed

6 files changed

+100
-104
lines changed

components/stusb4500/__init__.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@
4141
MULTI_CONF = True
4242

4343
stusb4500_ns = cg.esphome_ns.namespace("stusb4500")
44-
STUSB4500Component = stusb4500_ns.class_(
45-
"STUSB4500Component", cg.Component, i2c.I2CDevice
44+
STUSB4500Hub = stusb4500_ns.class_(
45+
"STUSB4500Hub", cg.Component, i2c.I2CDevice
4646
)
4747

48-
CONF_STUSB4500_ID = "stusb4500_id"
48+
CONF_STUSB4500_HUB_ID = "stusb4500_hub_id"
4949

5050
PowerOkConfig = stusb4500_ns.enum("PowerOkConfig")
5151
POWER_OK_CONFIG = {
@@ -108,11 +108,16 @@ def validate_disch_time_pdo(value):
108108
raise cv.Invalid("VBUS Discharge time to PDO must be a multiple of 24 ms")
109109
return value
110110

111+
HUB_CHILD_SCHEMA = cv.Schema(
112+
{
113+
cv.GenerateID(CONF_STUSB4500_HUB_ID): cv.use_id(STUSB4500Hub),
114+
}
115+
)
111116

112117
CONFIG_SCHEMA = cv.All(
113118
cv.Schema(
114119
{
115-
cv.GenerateID(): cv.declare_id(STUSB4500Component),
120+
cv.GenerateID(): cv.declare_id(STUSB4500Hub),
116121
cv.Optional(CONF_ALERT_PIN): pins.internal_gpio_input_pin_schema,
117122
cv.Optional(CONF_FLASH_NVM): cv.boolean,
118123
cv.Optional(CONF_DEFAULT_NVM): cv.boolean,
@@ -265,7 +270,7 @@ async def to_code(config):
265270

266271
# STUSB4500_ACTION_SCHEMA = maybe_simple_id(
267272
# {
268-
# cv.Required(CONF_ID): cv.use_id(STUSB4500Component),
273+
# cv.Required(CONF_ID): cv.use_id(STUSB4500Hub),
269274
# }
270275
# )
271276

components/stusb4500/automation.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,24 @@ namespace esphome
1313
class TurnGpioOn : public Action<Ts...>
1414
{
1515
public:
16-
explicit TurnGpioOn(STUSB4500Component *stusb4500) : stusb4500_(stusb4500) {}
16+
explicit TurnGpioOn(STUSB4500Hub *stusb4500) : stusb4500_(stusb4500) {}
1717

1818
void play(Ts... x) override { this->stusb4500_->turn_gpio_on(); }
1919

2020
protected:
21-
STUSB4500Component *stusb4500_;
21+
STUSB4500Hub *stusb4500_;
2222
};
2323

2424
template <typename... Ts>
2525
class TurnGpioOff : public Action<Ts...>
2626
{
2727
public:
28-
explicit TurnGpioOff(STUSB4500Component *stusb4500) : stusb4500_(stusb4500) {}
28+
explicit TurnGpioOff(STUSB4500Hub *stusb4500) : stusb4500_(stusb4500) {}
2929

3030
void play(Ts... x) override { this->stusb4500_->turn_gpio_off(); }
3131

3232
protected:
33-
STUSB4500Component *stusb4500_;
33+
STUSB4500Hub *stusb4500_;
3434
};
3535

3636
} // namespace stusb4500_

components/stusb4500/sensor.py

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,33 @@
88
STATE_CLASS_MEASUREMENT,
99
)
1010

11-
from . import CONF_STUSB4500_ID, STUSB4500Component
11+
from . import HUB_CHILD_SCHEMA, CONF_STUSB4500_HUB_ID
1212

1313
CONF_PD_STATE = "pd_state"
1414
ICON_USBC = "mdi:usb-c-port"
1515

1616
DEPENDENCIES = ["stusb4500"]
1717

18-
CONFIG_SCHEMA = {
19-
cv.GenerateID(CONF_STUSB4500_ID): cv.use_id(STUSB4500Component),
20-
cv.Optional(CONF_PD_STATE): sensor.sensor_schema(
21-
icon=ICON_USBC,
22-
accuracy_decimals=0,
23-
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
24-
state_class=STATE_CLASS_MEASUREMENT,
25-
device_class=DEVICE_CLASS_EMPTY,
26-
),
27-
}
18+
CONFIG_SCHEMA = (
19+
cv.Schema(
20+
{
21+
cv.Optional(CONF_PD_STATE): sensor.sensor_schema(
22+
icon=ICON_USBC,
23+
accuracy_decimals=0,
24+
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
25+
state_class=STATE_CLASS_MEASUREMENT,
26+
device_class=DEVICE_CLASS_EMPTY,
27+
),
28+
}
29+
)
30+
.extend(HUB_CHILD_SCHEMA)
31+
.extend(cv.COMPONENT_SCHEMA)
32+
)
2833

2934

3035
async def to_code(config):
31-
stusb4500_component = await cg.get_variable(config[CONF_STUSB4500_ID])
36+
stusb4500_hub = await cg.get_variable(config[CONF_STUSB4500_HUB_ID])
3237

3338
if pd_state_config := config.get(CONF_PD_STATE):
3439
sens = await sensor.new_sensor(pd_state_config)
35-
cg.add(stusb4500_component.set_pd_state_sensor(sens))
40+
cg.add(stusb4500_hub.set_pd_state_sensor(sens))

0 commit comments

Comments
 (0)