Merge 58b9da9b80 into 9f36ab5d4c
commit
b9dd7a4558
37
README.md
37
README.md
|
|
@ -112,6 +112,43 @@ As soon as the integration is added into Home Assistant it will listen for incom
|
||||||
|
|
||||||
- You are done.
|
- 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
|
## WSLink notes
|
||||||
|
|
||||||
While your station is using WSLink you have to have Home Assistant in SSL mode or behind SSL proxy server.
|
While your station is using WSLink you have to have Home Assistant in SSL mode or behind SSL proxy server.
|
||||||
|
|
|
||||||
|
|
@ -109,9 +109,27 @@ CH2_BATTERY: Final = "ch2_battery"
|
||||||
CH3_TEMP: Final = "ch3_temp"
|
CH3_TEMP: Final = "ch3_temp"
|
||||||
CH3_HUMIDITY: Final = "ch3_humidity"
|
CH3_HUMIDITY: Final = "ch3_humidity"
|
||||||
CH3_CONNECTION: Final = "ch3_connection"
|
CH3_CONNECTION: Final = "ch3_connection"
|
||||||
|
CH3_BATTERY: Final = "ch3_battery"
|
||||||
CH4_TEMP: Final = "ch4_temp"
|
CH4_TEMP: Final = "ch4_temp"
|
||||||
CH4_HUMIDITY: Final = "ch4_humidity"
|
CH4_HUMIDITY: Final = "ch4_humidity"
|
||||||
CH4_CONNECTION: Final = "ch4_connection"
|
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"
|
HEAT_INDEX: Final = "heat_index"
|
||||||
CHILL_INDEX: Final = "chill_index"
|
CHILL_INDEX: Final = "chill_index"
|
||||||
WBGT_TEMP: Final = "wbgt_temp"
|
WBGT_TEMP: Final = "wbgt_temp"
|
||||||
|
|
@ -137,6 +155,14 @@ REMAP_ITEMS: dict[str, str] = {
|
||||||
"soilmoisture2": CH3_HUMIDITY,
|
"soilmoisture2": CH3_HUMIDITY,
|
||||||
"soiltemp3f": CH4_TEMP,
|
"soiltemp3f": CH4_TEMP,
|
||||||
"soilmoisture3": CH4_HUMIDITY,
|
"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] = {
|
REMAP_WSLINK_ITEMS: dict[str, str] = {
|
||||||
|
|
@ -158,6 +184,11 @@ REMAP_WSLINK_ITEMS: dict[str, str] = {
|
||||||
"t1cn": OUTSIDE_CONNECTION,
|
"t1cn": OUTSIDE_CONNECTION,
|
||||||
"t234c1cn": CH2_CONNECTION,
|
"t234c1cn": CH2_CONNECTION,
|
||||||
"t234c2cn": CH3_CONNECTION,
|
"t234c2cn": CH3_CONNECTION,
|
||||||
|
"t234c3cn": CH4_CONNECTION,
|
||||||
|
"t234c4cn": CH5_CONNECTION,
|
||||||
|
"t234c5cn": CH6_CONNECTION,
|
||||||
|
"t234c6cn": CH7_CONNECTION,
|
||||||
|
"t234c7cn": CH8_CONNECTION,
|
||||||
"t1chill": CHILL_INDEX,
|
"t1chill": CHILL_INDEX,
|
||||||
"t1heat": HEAT_INDEX,
|
"t1heat": HEAT_INDEX,
|
||||||
"t1rainhr": HOURLY_RAIN,
|
"t1rainhr": HOURLY_RAIN,
|
||||||
|
|
@ -166,9 +197,25 @@ REMAP_WSLINK_ITEMS: dict[str, str] = {
|
||||||
"t1rainyr": YEARLY_RAIN,
|
"t1rainyr": YEARLY_RAIN,
|
||||||
"t234c2tem": CH3_TEMP,
|
"t234c2tem": CH3_TEMP,
|
||||||
"t234c2hum": CH3_HUMIDITY,
|
"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,
|
"t1bat": OUTSIDE_BATTERY,
|
||||||
"inbat": INDOOR_BATTERY,
|
"inbat": INDOOR_BATTERY,
|
||||||
"t234c1bat": CH2_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,
|
"t1wbgt": WBGT_TEMP,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -185,8 +232,22 @@ DISABLED_BY_DEFAULT: Final = [
|
||||||
CH2_BATTERY,
|
CH2_BATTERY,
|
||||||
CH3_TEMP,
|
CH3_TEMP,
|
||||||
CH3_HUMIDITY,
|
CH3_HUMIDITY,
|
||||||
|
CH3_BATTERY,
|
||||||
CH4_TEMP,
|
CH4_TEMP,
|
||||||
CH4_HUMIDITY,
|
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,
|
OUTSIDE_BATTERY,
|
||||||
WBGT_TEMP,
|
WBGT_TEMP,
|
||||||
]
|
]
|
||||||
|
|
@ -195,6 +256,12 @@ BATTERY_LIST = [
|
||||||
OUTSIDE_BATTERY,
|
OUTSIDE_BATTERY,
|
||||||
INDOOR_BATTERY,
|
INDOOR_BATTERY,
|
||||||
CH2_BATTERY,
|
CH2_BATTERY,
|
||||||
|
CH3_BATTERY,
|
||||||
|
CH4_BATTERY,
|
||||||
|
CH5_BATTERY,
|
||||||
|
CH6_BATTERY,
|
||||||
|
CH7_BATTERY,
|
||||||
|
CH8_BATTERY,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,14 @@ from .const import (
|
||||||
CH3_TEMP,
|
CH3_TEMP,
|
||||||
CH4_HUMIDITY,
|
CH4_HUMIDITY,
|
||||||
CH4_TEMP,
|
CH4_TEMP,
|
||||||
|
CH5_HUMIDITY,
|
||||||
|
CH5_TEMP,
|
||||||
|
CH6_HUMIDITY,
|
||||||
|
CH6_TEMP,
|
||||||
|
CH7_HUMIDITY,
|
||||||
|
CH7_TEMP,
|
||||||
|
CH8_HUMIDITY,
|
||||||
|
CH8_TEMP,
|
||||||
CHILL_INDEX,
|
CHILL_INDEX,
|
||||||
DAILY_RAIN,
|
DAILY_RAIN,
|
||||||
DEW_POINT,
|
DEW_POINT,
|
||||||
|
|
@ -234,6 +242,82 @@ SENSOR_TYPES_WEATHER_API: tuple[WeatherSensorEntityDescription, ...] = (
|
||||||
translation_key=CH4_HUMIDITY,
|
translation_key=CH4_HUMIDITY,
|
||||||
value_fn=lambda data: cast("int", data),
|
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(
|
WeatherSensorEntityDescription(
|
||||||
key=HEAT_INDEX,
|
key=HEAT_INDEX,
|
||||||
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,24 @@ from .const import (
|
||||||
CH2_BATTERY,
|
CH2_BATTERY,
|
||||||
CH2_HUMIDITY,
|
CH2_HUMIDITY,
|
||||||
CH2_TEMP,
|
CH2_TEMP,
|
||||||
|
CH3_BATTERY,
|
||||||
CH3_HUMIDITY,
|
CH3_HUMIDITY,
|
||||||
CH3_TEMP,
|
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,
|
CHILL_INDEX,
|
||||||
DAILY_RAIN,
|
DAILY_RAIN,
|
||||||
DEW_POINT,
|
DEW_POINT,
|
||||||
|
|
@ -265,25 +281,101 @@ SENSOR_TYPES_WSLINK: tuple[WeatherSensorEntityDescription, ...] = (
|
||||||
translation_key=CH3_HUMIDITY,
|
translation_key=CH3_HUMIDITY,
|
||||||
value_fn=lambda data: cast("int", data),
|
value_fn=lambda data: cast("int", data),
|
||||||
),
|
),
|
||||||
# WeatherSensorEntityDescription(
|
WeatherSensorEntityDescription(
|
||||||
# key=CH4_TEMP,
|
key=CH4_TEMP,
|
||||||
# native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
# state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
# device_class=SensorDeviceClass.TEMPERATURE,
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
# suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
suggested_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
# icon="mdi:weather-sunny",
|
icon="mdi:weather-sunny",
|
||||||
# translation_key=CH4_TEMP,
|
translation_key=CH4_TEMP,
|
||||||
# value_fn=lambda data: cast(float, data),
|
value_fn=lambda data: cast("float", data),
|
||||||
# ),
|
),
|
||||||
# WeatherSensorEntityDescription(
|
WeatherSensorEntityDescription(
|
||||||
# key=CH4_HUMIDITY,
|
key=CH4_HUMIDITY,
|
||||||
# native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
# state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
# device_class=SensorDeviceClass.HUMIDITY,
|
device_class=SensorDeviceClass.HUMIDITY,
|
||||||
# icon="mdi:weather-sunny",
|
icon="mdi:weather-sunny",
|
||||||
# translation_key=CH4_HUMIDITY,
|
translation_key=CH4_HUMIDITY,
|
||||||
# value_fn=lambda data: cast(int, data),
|
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(
|
WeatherSensorEntityDescription(
|
||||||
key=HEAT_INDEX,
|
key=HEAT_INDEX,
|
||||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
|
@ -320,6 +412,48 @@ SENSOR_TYPES_WSLINK: tuple[WeatherSensorEntityDescription, ...] = (
|
||||||
device_class=SensorDeviceClass.ENUM,
|
device_class=SensorDeviceClass.ENUM,
|
||||||
value_fn=lambda data: (data),
|
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(
|
WeatherSensorEntityDescription(
|
||||||
key=INDOOR_BATTERY,
|
key=INDOOR_BATTERY,
|
||||||
translation_key=INDOOR_BATTERY,
|
translation_key=INDOOR_BATTERY,
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,30 @@
|
||||||
"ch4_humidity": {
|
"ch4_humidity": {
|
||||||
"name": "Channel 4 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": {
|
"heat_index": {
|
||||||
"name": "Apparent temperature"
|
"name": "Apparent temperature"
|
||||||
},
|
},
|
||||||
|
|
@ -185,15 +209,82 @@
|
||||||
"wnw": "WNW",
|
"wnw": "WNW",
|
||||||
"nw": "NW",
|
"nw": "NW",
|
||||||
"nnw": "NNW"
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,30 @@
|
||||||
"ch4_humidity": {
|
"ch4_humidity": {
|
||||||
"name": "Channel 4 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": {
|
"heat_index": {
|
||||||
"name": "Apparent temperature"
|
"name": "Apparent temperature"
|
||||||
},
|
},
|
||||||
|
|
@ -218,6 +242,54 @@
|
||||||
"unknown": "Unknown / drained out"
|
"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": {
|
"indoor_battery": {
|
||||||
"name": "Console battery level",
|
"name": "Console battery level",
|
||||||
"state": {
|
"state": {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue