Commit ·
8abecb5
1
Parent(s): 6fd277f
"feat-add-entity-category-for-config-entities"
Browse files
reachy_mini_ha_voice/entity.py
CHANGED
|
@@ -286,6 +286,7 @@ class NumberEntity(ESPHomeEntity):
|
|
| 286 |
icon: str = "",
|
| 287 |
unit_of_measurement: str = "",
|
| 288 |
mode: int = 0, # 0 = auto, 1 = box, 2 = slider
|
|
|
|
| 289 |
value_getter: Optional[Callable[[], float]] = None,
|
| 290 |
value_setter: Optional[Callable[[float], None]] = None,
|
| 291 |
) -> None:
|
|
@@ -299,6 +300,7 @@ class NumberEntity(ESPHomeEntity):
|
|
| 299 |
self.icon = icon
|
| 300 |
self.unit_of_measurement = unit_of_measurement
|
| 301 |
self.mode = mode
|
|
|
|
| 302 |
self._value_getter = value_getter
|
| 303 |
self._value_setter = value_setter
|
| 304 |
self._value = min_value
|
|
@@ -329,6 +331,7 @@ class NumberEntity(ESPHomeEntity):
|
|
| 329 |
step=self.step,
|
| 330 |
unit_of_measurement=self.unit_of_measurement,
|
| 331 |
mode=self.mode,
|
|
|
|
| 332 |
)
|
| 333 |
elif isinstance(msg, (SubscribeHomeAssistantStatesRequest, SubscribeStatesRequest)):
|
| 334 |
yield self._get_state_message()
|
|
|
|
| 286 |
icon: str = "",
|
| 287 |
unit_of_measurement: str = "",
|
| 288 |
mode: int = 0, # 0 = auto, 1 = box, 2 = slider
|
| 289 |
+
entity_category: int = 0, # 0 = none, 1 = config, 2 = diagnostic
|
| 290 |
value_getter: Optional[Callable[[], float]] = None,
|
| 291 |
value_setter: Optional[Callable[[float], None]] = None,
|
| 292 |
) -> None:
|
|
|
|
| 300 |
self.icon = icon
|
| 301 |
self.unit_of_measurement = unit_of_measurement
|
| 302 |
self.mode = mode
|
| 303 |
+
self.entity_category = entity_category
|
| 304 |
self._value_getter = value_getter
|
| 305 |
self._value_setter = value_setter
|
| 306 |
self._value = min_value
|
|
|
|
| 331 |
step=self.step,
|
| 332 |
unit_of_measurement=self.unit_of_measurement,
|
| 333 |
mode=self.mode,
|
| 334 |
+
entity_category=self.entity_category,
|
| 335 |
)
|
| 336 |
elif isinstance(msg, (SubscribeHomeAssistantStatesRequest, SubscribeStatesRequest)):
|
| 337 |
yield self._get_state_message()
|
reachy_mini_ha_voice/entity_extensions.py
CHANGED
|
@@ -121,6 +121,7 @@ class SwitchEntity(ESPHomeEntity):
|
|
| 121 |
object_id: str,
|
| 122 |
icon: str = "",
|
| 123 |
device_class: str = "",
|
|
|
|
| 124 |
value_getter: Optional[Callable[[], bool]] = None,
|
| 125 |
value_setter: Optional[Callable[[bool], None]] = None,
|
| 126 |
) -> None:
|
|
@@ -130,6 +131,7 @@ class SwitchEntity(ESPHomeEntity):
|
|
| 130 |
self.object_id = object_id
|
| 131 |
self.icon = icon
|
| 132 |
self.device_class = device_class
|
|
|
|
| 133 |
self._value_getter = value_getter
|
| 134 |
self._value_setter = value_setter
|
| 135 |
self._value = False
|
|
@@ -154,6 +156,7 @@ class SwitchEntity(ESPHomeEntity):
|
|
| 154 |
name=self.name,
|
| 155 |
icon=self.icon,
|
| 156 |
device_class=self.device_class,
|
|
|
|
| 157 |
)
|
| 158 |
elif isinstance(msg, (SubscribeHomeAssistantStatesRequest, SubscribeStatesRequest)):
|
| 159 |
yield self._get_state_message()
|
|
|
|
| 121 |
object_id: str,
|
| 122 |
icon: str = "",
|
| 123 |
device_class: str = "",
|
| 124 |
+
entity_category: int = 0, # 0 = none, 1 = config, 2 = diagnostic
|
| 125 |
value_getter: Optional[Callable[[], bool]] = None,
|
| 126 |
value_setter: Optional[Callable[[bool], None]] = None,
|
| 127 |
) -> None:
|
|
|
|
| 131 |
self.object_id = object_id
|
| 132 |
self.icon = icon
|
| 133 |
self.device_class = device_class
|
| 134 |
+
self.entity_category = entity_category
|
| 135 |
self._value_getter = value_getter
|
| 136 |
self._value_setter = value_setter
|
| 137 |
self._value = False
|
|
|
|
| 156 |
name=self.name,
|
| 157 |
icon=self.icon,
|
| 158 |
device_class=self.device_class,
|
| 159 |
+
entity_category=self.entity_category,
|
| 160 |
)
|
| 161 |
elif isinstance(msg, (SubscribeHomeAssistantStatesRequest, SubscribeStatesRequest)):
|
| 162 |
yield self._get_state_message()
|
reachy_mini_ha_voice/satellite.py
CHANGED
|
@@ -690,6 +690,7 @@ class VoiceSatelliteProtocol(APIServer):
|
|
| 690 |
icon="mdi:volume-high",
|
| 691 |
unit_of_measurement="%",
|
| 692 |
mode=2, # Slider mode
|
|
|
|
| 693 |
value_getter=self.reachy_controller.get_speaker_volume,
|
| 694 |
value_setter=self.reachy_controller.set_speaker_volume,
|
| 695 |
)
|
|
@@ -1259,6 +1260,7 @@ class VoiceSatelliteProtocol(APIServer):
|
|
| 1259 |
icon="mdi:microphone",
|
| 1260 |
unit_of_measurement="%",
|
| 1261 |
mode=2, # Slider mode
|
|
|
|
| 1262 |
value_getter=self.reachy_controller.get_microphone_volume,
|
| 1263 |
value_setter=self.reachy_controller.set_microphone_volume,
|
| 1264 |
)
|
|
@@ -1384,6 +1386,7 @@ class VoiceSatelliteProtocol(APIServer):
|
|
| 1384 |
object_id="agc_enabled",
|
| 1385 |
icon="mdi:tune-vertical",
|
| 1386 |
device_class="switch",
|
|
|
|
| 1387 |
value_getter=self.reachy_controller.get_agc_enabled,
|
| 1388 |
value_setter=self.reachy_controller.set_agc_enabled,
|
| 1389 |
)
|
|
@@ -1401,6 +1404,7 @@ class VoiceSatelliteProtocol(APIServer):
|
|
| 1401 |
icon="mdi:volume-plus",
|
| 1402 |
unit_of_measurement="dB",
|
| 1403 |
mode=2,
|
|
|
|
| 1404 |
value_getter=self.reachy_controller.get_agc_max_gain,
|
| 1405 |
value_setter=self.reachy_controller.set_agc_max_gain,
|
| 1406 |
)
|
|
@@ -1418,6 +1422,7 @@ class VoiceSatelliteProtocol(APIServer):
|
|
| 1418 |
icon="mdi:volume-off",
|
| 1419 |
unit_of_measurement="%",
|
| 1420 |
mode=2,
|
|
|
|
| 1421 |
value_getter=self.reachy_controller.get_noise_suppression,
|
| 1422 |
value_setter=self.reachy_controller.set_noise_suppression,
|
| 1423 |
)
|
|
|
|
| 690 |
icon="mdi:volume-high",
|
| 691 |
unit_of_measurement="%",
|
| 692 |
mode=2, # Slider mode
|
| 693 |
+
entity_category=1, # config
|
| 694 |
value_getter=self.reachy_controller.get_speaker_volume,
|
| 695 |
value_setter=self.reachy_controller.set_speaker_volume,
|
| 696 |
)
|
|
|
|
| 1260 |
icon="mdi:microphone",
|
| 1261 |
unit_of_measurement="%",
|
| 1262 |
mode=2, # Slider mode
|
| 1263 |
+
entity_category=1, # config
|
| 1264 |
value_getter=self.reachy_controller.get_microphone_volume,
|
| 1265 |
value_setter=self.reachy_controller.set_microphone_volume,
|
| 1266 |
)
|
|
|
|
| 1386 |
object_id="agc_enabled",
|
| 1387 |
icon="mdi:tune-vertical",
|
| 1388 |
device_class="switch",
|
| 1389 |
+
entity_category=1, # config
|
| 1390 |
value_getter=self.reachy_controller.get_agc_enabled,
|
| 1391 |
value_setter=self.reachy_controller.set_agc_enabled,
|
| 1392 |
)
|
|
|
|
| 1404 |
icon="mdi:volume-plus",
|
| 1405 |
unit_of_measurement="dB",
|
| 1406 |
mode=2,
|
| 1407 |
+
entity_category=1, # config
|
| 1408 |
value_getter=self.reachy_controller.get_agc_max_gain,
|
| 1409 |
value_setter=self.reachy_controller.set_agc_max_gain,
|
| 1410 |
)
|
|
|
|
| 1422 |
icon="mdi:volume-off",
|
| 1423 |
unit_of_measurement="%",
|
| 1424 |
mode=2,
|
| 1425 |
+
entity_category=1, # config
|
| 1426 |
value_getter=self.reachy_controller.get_noise_suppression,
|
| 1427 |
value_setter=self.reachy_controller.set_noise_suppression,
|
| 1428 |
)
|