Compare commits
7 Commits
4aabc1c65d
...
f789b754f0
| Author | SHA1 | Date |
|---|---|---|
|
|
f789b754f0 | |
|
|
3822557f74 | |
|
|
96094105e0 | |
|
|
6b8fdd5477 | |
|
|
b0bae69f33 | |
|
|
58b9da9b80 | |
|
|
fa2aa9a925 |
37
README.md
37
README.md
|
|
@ -129,6 +129,43 @@ So, deleteing integration and reinstalling will make sure, that sensors will be
|
|||
|
||||
- You are done.
|
||||
|
||||
## Multi-channel sensor support (CH2-CH8)
|
||||
|
||||
This integration supports up to 8 external sensor channels for temperature, humidity, and battery monitoring.
|
||||
|
||||
### Supported channels
|
||||
|
||||
- **CH2-CH3**: Enabled by default
|
||||
- **CH4-CH8**: Available but disabled by default (enable manually in Home Assistant)
|
||||
|
||||
### Available sensors per channel
|
||||
|
||||
Each channel provides:
|
||||
- **Temperature sensor** (with configurable unit conversion)
|
||||
- **Humidity sensor** (percentage)
|
||||
- **Battery level sensor** (percentage)
|
||||
- **Connection status** (connected/disconnected)
|
||||
|
||||
### Enabling additional channels
|
||||
|
||||
By default, channels 4-8 are disabled to avoid cluttering your interface. To enable them:
|
||||
|
||||
1. Go to **Settings** → **Devices & Services**
|
||||
2. Find **Sencor SWS 12500** and click on it
|
||||
3. You'll see all available entities, including disabled ones
|
||||
4. Click on any disabled channel sensor (e.g., "Channel 5 Temperature")
|
||||
5. Click the settings icon and enable the entity
|
||||
6. Repeat for other sensors you want to use
|
||||
|
||||
### Station configuration
|
||||
|
||||
Your weather station must be configured to send data for these channels. Refer to your station's manual on how to pair and configure external sensors to specific channels.
|
||||
|
||||
**Note**: The integration automatically detects incoming data from any channel. If you don't see data for a channel you've enabled, verify that:
|
||||
- The external sensor is properly paired with your station
|
||||
- The sensor is sending data (check battery level)
|
||||
- Your station firmware supports the channel you're trying to use
|
||||
|
||||
## WSLink notes
|
||||
|
||||
While your station is using WSLink you have to have Home Assistant in SSL mode or behind SSL proxy server.
|
||||
|
|
|
|||
|
|
@ -56,10 +56,13 @@ class WeatherDataUpdateCoordinator(DataUpdateCoordinator):
|
|||
self.pocasi: PocasiPush = PocasiPush(hass, config)
|
||||
super().__init__(hass, _LOGGER, name=DOMAIN)
|
||||
|
||||
async def recieved_data(self, webdata):
|
||||
async def recieved_data(self, webdata: aiohttp.web.Request):
|
||||
"""Handle incoming data query."""
|
||||
_wslink = self.config_entry.options.get(WSLINK)
|
||||
data = webdata.query
|
||||
get_data = webdata.query
|
||||
post_data = await webdata.post()
|
||||
|
||||
data = dict(get_data) | dict(post_data)
|
||||
|
||||
response = None
|
||||
|
||||
|
|
@ -160,7 +163,7 @@ def register_path(
|
|||
if debug:
|
||||
_LOGGER.debug("Default route: %s", default_route)
|
||||
|
||||
wslink_route = hass.http.app.router.add_post(
|
||||
wslink_route = hass.http.app.router.add_get(
|
||||
WSLINK_URL,
|
||||
coordinator.recieved_data if _wslink else unregistred,
|
||||
name="weather_wslink_url",
|
||||
|
|
@ -168,6 +171,14 @@ def register_path(
|
|||
if debug:
|
||||
_LOGGER.debug("WSLink route: %s", wslink_route)
|
||||
|
||||
wslink_post_route = hass.http.app.router.add_post(
|
||||
WSLINK_URL,
|
||||
coordinator.recieved_data if _wslink else unregistred,
|
||||
name="weather_wslink_post_route_url",
|
||||
)
|
||||
if debug:
|
||||
_LOGGER.debug("WSLink route: %s", wslink_post_route)
|
||||
|
||||
routes.add_route(
|
||||
DEFAULT_URL,
|
||||
default_route,
|
||||
|
|
@ -178,6 +189,10 @@ def register_path(
|
|||
WSLINK_URL, wslink_route, coordinator.recieved_data, _wslink
|
||||
)
|
||||
|
||||
routes.add_route(
|
||||
WSLINK_URL, wslink_post_route, coordinator.recieved_data, _wslink
|
||||
)
|
||||
|
||||
hass_data["routes"] = routes
|
||||
|
||||
except RuntimeError as Ex: # pylint: disable=(broad-except)
|
||||
|
|
|
|||
|
|
@ -112,9 +112,27 @@ CH2_BATTERY: Final = "ch2_battery"
|
|||
CH3_TEMP: Final = "ch3_temp"
|
||||
CH3_HUMIDITY: Final = "ch3_humidity"
|
||||
CH3_CONNECTION: Final = "ch3_connection"
|
||||
CH3_BATTERY: Final = "ch3_battery"
|
||||
CH4_TEMP: Final = "ch4_temp"
|
||||
CH4_HUMIDITY: Final = "ch4_humidity"
|
||||
CH4_CONNECTION: Final = "ch4_connection"
|
||||
CH4_BATTERY: Final = "ch4_battery"
|
||||
CH5_TEMP: Final = "ch5_temp"
|
||||
CH5_HUMIDITY: Final = "ch5_humidity"
|
||||
CH5_CONNECTION: Final = "ch5_connection"
|
||||
CH5_BATTERY: Final = "ch5_battery"
|
||||
CH6_TEMP: Final = "ch6_temp"
|
||||
CH6_HUMIDITY: Final = "ch6_humidity"
|
||||
CH6_CONNECTION: Final = "ch6_connection"
|
||||
CH6_BATTERY: Final = "ch6_battery"
|
||||
CH7_TEMP: Final = "ch7_temp"
|
||||
CH7_HUMIDITY: Final = "ch7_humidity"
|
||||
CH7_CONNECTION: Final = "ch7_connection"
|
||||
CH7_BATTERY: Final = "ch7_battery"
|
||||
CH8_TEMP: Final = "ch8_temp"
|
||||
CH8_HUMIDITY: Final = "ch8_humidity"
|
||||
CH8_CONNECTION: Final = "ch8_connection"
|
||||
CH8_BATTERY: Final = "ch8_battery"
|
||||
HEAT_INDEX: Final = "heat_index"
|
||||
CHILL_INDEX: Final = "chill_index"
|
||||
WBGT_TEMP: Final = "wbgt_temp"
|
||||
|
|
@ -140,6 +158,14 @@ REMAP_ITEMS: dict[str, str] = {
|
|||
"soilmoisture2": CH3_HUMIDITY,
|
||||
"soiltemp3f": CH4_TEMP,
|
||||
"soilmoisture3": CH4_HUMIDITY,
|
||||
"soiltemp4f": CH5_TEMP,
|
||||
"soilmoisture4": CH5_HUMIDITY,
|
||||
"soiltemp5f": CH6_TEMP,
|
||||
"soilmoisture5": CH6_HUMIDITY,
|
||||
"soiltemp6f": CH7_TEMP,
|
||||
"soilmoisture6": CH7_HUMIDITY,
|
||||
"soiltemp7f": CH8_TEMP,
|
||||
"soilmoisture7": CH8_HUMIDITY,
|
||||
}
|
||||
|
||||
REMAP_WSLINK_ITEMS: dict[str, str] = {
|
||||
|
|
@ -161,6 +187,11 @@ REMAP_WSLINK_ITEMS: dict[str, str] = {
|
|||
"t1cn": OUTSIDE_CONNECTION,
|
||||
"t234c1cn": CH2_CONNECTION,
|
||||
"t234c2cn": CH3_CONNECTION,
|
||||
"t234c3cn": CH4_CONNECTION,
|
||||
"t234c4cn": CH5_CONNECTION,
|
||||
"t234c5cn": CH6_CONNECTION,
|
||||
"t234c6cn": CH7_CONNECTION,
|
||||
"t234c7cn": CH8_CONNECTION,
|
||||
"t1chill": CHILL_INDEX,
|
||||
"t1heat": HEAT_INDEX,
|
||||
"t1rainhr": HOURLY_RAIN,
|
||||
|
|
@ -169,9 +200,25 @@ REMAP_WSLINK_ITEMS: dict[str, str] = {
|
|||
"t1rainyr": YEARLY_RAIN,
|
||||
"t234c2tem": CH3_TEMP,
|
||||
"t234c2hum": CH3_HUMIDITY,
|
||||
"t234c3tem": CH4_TEMP,
|
||||
"t234c3hum": CH4_HUMIDITY,
|
||||
"t234c4tem": CH5_TEMP,
|
||||
"t234c4hum": CH5_HUMIDITY,
|
||||
"t234c5tem": CH6_TEMP,
|
||||
"t234c5hum": CH6_HUMIDITY,
|
||||
"t234c6tem": CH7_TEMP,
|
||||
"t234c6hum": CH7_HUMIDITY,
|
||||
"t234c7tem": CH8_TEMP,
|
||||
"t234c7hum": CH8_HUMIDITY,
|
||||
"t1bat": OUTSIDE_BATTERY,
|
||||
"inbat": INDOOR_BATTERY,
|
||||
"t234c1bat": CH2_BATTERY,
|
||||
"t234c2bat": CH3_BATTERY,
|
||||
"t234c3bat": CH4_BATTERY,
|
||||
"t234c4bat": CH5_BATTERY,
|
||||
"t234c5bat": CH6_BATTERY,
|
||||
"t234c6bat": CH7_BATTERY,
|
||||
"t234c7bat": CH8_BATTERY,
|
||||
"t1wbgt": WBGT_TEMP,
|
||||
}
|
||||
|
||||
|
|
@ -188,8 +235,22 @@ DISABLED_BY_DEFAULT: Final = [
|
|||
CH2_BATTERY,
|
||||
CH3_TEMP,
|
||||
CH3_HUMIDITY,
|
||||
CH3_BATTERY,
|
||||
CH4_TEMP,
|
||||
CH4_HUMIDITY,
|
||||
CH4_BATTERY,
|
||||
CH5_TEMP,
|
||||
CH5_HUMIDITY,
|
||||
CH5_BATTERY,
|
||||
CH6_TEMP,
|
||||
CH6_HUMIDITY,
|
||||
CH6_BATTERY,
|
||||
CH7_TEMP,
|
||||
CH7_HUMIDITY,
|
||||
CH7_BATTERY,
|
||||
CH8_TEMP,
|
||||
CH8_HUMIDITY,
|
||||
CH8_BATTERY,
|
||||
OUTSIDE_BATTERY,
|
||||
WBGT_TEMP,
|
||||
]
|
||||
|
|
@ -198,6 +259,12 @@ BATTERY_LIST = [
|
|||
OUTSIDE_BATTERY,
|
||||
INDOOR_BATTERY,
|
||||
CH2_BATTERY,
|
||||
CH3_BATTERY,
|
||||
CH4_BATTERY,
|
||||
CH5_BATTERY,
|
||||
CH6_BATTERY,
|
||||
CH7_BATTERY,
|
||||
CH8_BATTERY,
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,19 @@
|
|||
{
|
||||
"domain": "sws12500",
|
||||
"name": "Sencor SWS 12500 Weather Station",
|
||||
"codeowners": ["@schizza"],
|
||||
"codeowners": [
|
||||
"@schizza"
|
||||
],
|
||||
"config_flow": true,
|
||||
"dependencies": ["http"],
|
||||
"dependencies": [
|
||||
"http"
|
||||
],
|
||||
"documentation": "https://github.com/schizza/SWS-12500-custom-component",
|
||||
"homekit": {},
|
||||
"iot_class": "local_push",
|
||||
"issue_tracker": "https://github.com/schizza/SWS-12500-custom-component/issues",
|
||||
"requirements": [],
|
||||
"ssdp": [],
|
||||
"version": "1.6.9",
|
||||
"version": "1.8.1",
|
||||
"zeroconf": []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,14 @@ from .const import (
|
|||
CH3_TEMP,
|
||||
CH4_HUMIDITY,
|
||||
CH4_TEMP,
|
||||
CH5_HUMIDITY,
|
||||
CH5_TEMP,
|
||||
CH6_HUMIDITY,
|
||||
CH6_TEMP,
|
||||
CH7_HUMIDITY,
|
||||
CH7_TEMP,
|
||||
CH8_HUMIDITY,
|
||||
CH8_TEMP,
|
||||
CHILL_INDEX,
|
||||
DAILY_RAIN,
|
||||
DEW_POINT,
|
||||
|
|
@ -234,6 +242,82 @@ SENSOR_TYPES_WEATHER_API: tuple[WeatherSensorEntityDescription, ...] = (
|
|||
translation_key=CH4_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH5_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH5_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH5_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH5_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH6_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH6_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH6_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH6_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH7_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH7_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH7_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH7_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH8_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH8_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH8_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH8_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=HEAT_INDEX,
|
||||
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||
|
|
|
|||
|
|
@ -20,8 +20,24 @@ from .const import (
|
|||
CH2_BATTERY,
|
||||
CH2_HUMIDITY,
|
||||
CH2_TEMP,
|
||||
CH3_BATTERY,
|
||||
CH3_HUMIDITY,
|
||||
CH3_TEMP,
|
||||
CH4_BATTERY,
|
||||
CH4_HUMIDITY,
|
||||
CH4_TEMP,
|
||||
CH5_BATTERY,
|
||||
CH5_HUMIDITY,
|
||||
CH5_TEMP,
|
||||
CH6_BATTERY,
|
||||
CH6_HUMIDITY,
|
||||
CH6_TEMP,
|
||||
CH7_BATTERY,
|
||||
CH7_HUMIDITY,
|
||||
CH7_TEMP,
|
||||
CH8_BATTERY,
|
||||
CH8_HUMIDITY,
|
||||
CH8_TEMP,
|
||||
CHILL_INDEX,
|
||||
DAILY_RAIN,
|
||||
DEW_POINT,
|
||||
|
|
@ -265,25 +281,101 @@ SENSOR_TYPES_WSLINK: tuple[WeatherSensorEntityDescription, ...] = (
|
|||
translation_key=CH3_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
# WeatherSensorEntityDescription(
|
||||
# key=CH4_TEMP,
|
||||
# native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||
# state_class=SensorStateClass.MEASUREMENT,
|
||||
# device_class=SensorDeviceClass.TEMPERATURE,
|
||||
# suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
# icon="mdi:weather-sunny",
|
||||
# translation_key=CH4_TEMP,
|
||||
# value_fn=lambda data: cast(float, data),
|
||||
# ),
|
||||
# WeatherSensorEntityDescription(
|
||||
# key=CH4_HUMIDITY,
|
||||
# native_unit_of_measurement=PERCENTAGE,
|
||||
# state_class=SensorStateClass.MEASUREMENT,
|
||||
# device_class=SensorDeviceClass.HUMIDITY,
|
||||
# icon="mdi:weather-sunny",
|
||||
# translation_key=CH4_HUMIDITY,
|
||||
# value_fn=lambda data: cast(int, data),
|
||||
# ),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH4_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH4_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH4_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH4_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH5_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH5_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH5_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH5_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH6_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH6_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH6_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH6_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH7_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH7_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH7_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH7_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH8_TEMP,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH8_TEMP,
|
||||
value_fn=lambda data: cast("float", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH8_HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
icon="mdi:weather-sunny",
|
||||
translation_key=CH8_HUMIDITY,
|
||||
value_fn=lambda data: cast("int", data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=HEAT_INDEX,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
|
|
@ -320,6 +412,48 @@ SENSOR_TYPES_WSLINK: tuple[WeatherSensorEntityDescription, ...] = (
|
|||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH3_BATTERY,
|
||||
translation_key=CH3_BATTERY,
|
||||
icon="mdi:battery-unknown",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH4_BATTERY,
|
||||
translation_key=CH4_BATTERY,
|
||||
icon="mdi:battery-unknown",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH5_BATTERY,
|
||||
translation_key=CH5_BATTERY,
|
||||
icon="mdi:battery-unknown",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH6_BATTERY,
|
||||
translation_key=CH6_BATTERY,
|
||||
icon="mdi:battery-unknown",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH7_BATTERY,
|
||||
translation_key=CH7_BATTERY,
|
||||
icon="mdi:battery-unknown",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=CH8_BATTERY,
|
||||
translation_key=CH8_BATTERY,
|
||||
icon="mdi:battery-unknown",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
value_fn=lambda data: (data),
|
||||
),
|
||||
WeatherSensorEntityDescription(
|
||||
key=INDOOR_BATTERY,
|
||||
translation_key=INDOOR_BATTERY,
|
||||
|
|
|
|||
|
|
@ -160,6 +160,30 @@
|
|||
"ch4_humidity": {
|
||||
"name": "Channel 4 humidity"
|
||||
},
|
||||
"ch5_temp": {
|
||||
"name": "Channel 5 temperature"
|
||||
},
|
||||
"ch5_humidity": {
|
||||
"name": "Channel 5 humidity"
|
||||
},
|
||||
"ch6_temp": {
|
||||
"name": "Channel 6 temperature"
|
||||
},
|
||||
"ch6_humidity": {
|
||||
"name": "Channel 6 humidity"
|
||||
},
|
||||
"ch7_temp": {
|
||||
"name": "Channel 7 temperature"
|
||||
},
|
||||
"ch7_humidity": {
|
||||
"name": "Channel 7 humidity"
|
||||
},
|
||||
"ch8_temp": {
|
||||
"name": "Channel 8 temperature"
|
||||
},
|
||||
"ch8_humidity": {
|
||||
"name": "Channel 8 humidity"
|
||||
},
|
||||
"heat_index": {
|
||||
"name": "Apparent temperature"
|
||||
},
|
||||
|
|
@ -185,15 +209,82 @@
|
|||
"wnw": "WNW",
|
||||
"nw": "NW",
|
||||
"nnw": "NNW"
|
||||
},
|
||||
"outside_battery": {
|
||||
"name": "Outside battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
}
|
||||
},
|
||||
"outside_battery": {
|
||||
"name": "Outside battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Indoor battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Channel 2 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Channel 3 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Channel 4 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Channel 5 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Channel 6 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Channel 7 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Channel 8 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"wbgt_temp": {
|
||||
"name": "WBGT temperature"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -163,6 +163,30 @@
|
|||
"ch4_humidity": {
|
||||
"name": "Channel 4 humidity"
|
||||
},
|
||||
"ch5_temp": {
|
||||
"name": "Channel 5 temperature"
|
||||
},
|
||||
"ch5_humidity": {
|
||||
"name": "Channel 5 humidity"
|
||||
},
|
||||
"ch6_temp": {
|
||||
"name": "Channel 6 temperature"
|
||||
},
|
||||
"ch6_humidity": {
|
||||
"name": "Channel 6 humidity"
|
||||
},
|
||||
"ch7_temp": {
|
||||
"name": "Channel 7 temperature"
|
||||
},
|
||||
"ch7_humidity": {
|
||||
"name": "Channel 7 humidity"
|
||||
},
|
||||
"ch8_temp": {
|
||||
"name": "Channel 8 temperature"
|
||||
},
|
||||
"ch8_humidity": {
|
||||
"name": "Channel 8 humidity"
|
||||
},
|
||||
"heat_index": {
|
||||
"name": "Apparent temperature"
|
||||
},
|
||||
|
|
@ -221,6 +245,54 @@
|
|||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Channel 3 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Channel 4 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Channel 5 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Channel 6 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Channel 7 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Channel 8 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Console battery level",
|
||||
"state": {
|
||||
|
|
|
|||
Loading…
Reference in New Issue