mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
Homematic icon map / upper case on services (#6178)
* Set upper on service / add sensor icon mapper * Add more icons * fix id
This commit is contained in:
parent
89807f24ad
commit
b725eaf67f
@ -77,16 +77,16 @@ HM_IGNORE_DISCOVERY_NODE = [
|
||||
]
|
||||
|
||||
HM_ATTRIBUTE_SUPPORT = {
|
||||
'LOWBAT': ['Battery', {0: 'High', 1: 'Low'}],
|
||||
'ERROR': ['Sabotage', {0: 'No', 1: 'Yes'}],
|
||||
'RSSI_DEVICE': ['RSSI', {}],
|
||||
'VALVE_STATE': ['Valve', {}],
|
||||
'BATTERY_STATE': ['Battery', {}],
|
||||
'CONTROL_MODE': ['Mode', {0: 'Auto', 1: 'Manual', 2: 'Away', 3: 'Boost'}],
|
||||
'POWER': ['Power', {}],
|
||||
'CURRENT': ['Current', {}],
|
||||
'VOLTAGE': ['Voltage', {}],
|
||||
'WORKING': ['Working', {0: 'No', 1: 'Yes'}],
|
||||
'LOWBAT': ['battery', {0: 'High', 1: 'Low'}],
|
||||
'ERROR': ['sabotage', {0: 'No', 1: 'Yes'}],
|
||||
'RSSI_DEVICE': ['rssi', {}],
|
||||
'VALVE_STATE': ['valve', {}],
|
||||
'BATTERY_STATE': ['battery', {}],
|
||||
'CONTROL_MODE': ['mode', {0: 'Auto', 1: 'Manual', 2: 'Away', 3: 'Boost'}],
|
||||
'POWER': ['power', {}],
|
||||
'CURRENT': ['current', {}],
|
||||
'VOLTAGE': ['voltage', {}],
|
||||
'WORKING': ['working', {0: 'No', 1: 'Yes'}],
|
||||
}
|
||||
|
||||
HM_PRESS_EVENTS = [
|
||||
@ -172,7 +172,7 @@ CONFIG_SCHEMA = vol.Schema({
|
||||
}, extra=vol.ALLOW_EXTRA)
|
||||
|
||||
SCHEMA_SERVICE_VIRTUALKEY = vol.Schema({
|
||||
vol.Required(ATTR_ADDRESS): cv.string,
|
||||
vol.Required(ATTR_ADDRESS): vol.All(cv.string, vol.Upper),
|
||||
vol.Required(ATTR_CHANNEL): vol.Coerce(int),
|
||||
vol.Required(ATTR_PARAM): cv.string,
|
||||
vol.Optional(ATTR_PROXY): cv.string,
|
||||
@ -185,9 +185,9 @@ SCHEMA_SERVICE_SET_VAR_VALUE = vol.Schema({
|
||||
})
|
||||
|
||||
SCHEMA_SERVICE_SET_DEV_VALUE = vol.Schema({
|
||||
vol.Required(ATTR_ADDRESS): cv.string,
|
||||
vol.Required(ATTR_ADDRESS): vol.All(cv.string, vol.Upper),
|
||||
vol.Required(ATTR_CHANNEL): vol.Coerce(int),
|
||||
vol.Required(ATTR_PARAM): cv.string,
|
||||
vol.Required(ATTR_PARAM): vol.All(cv.string, vol.Upper),
|
||||
vol.Required(ATTR_VALUE): cv.match_all,
|
||||
vol.Optional(ATTR_PROXY): cv.string,
|
||||
})
|
||||
@ -715,7 +715,7 @@ class HMDevice(Entity):
|
||||
attr[data[0]] = value
|
||||
|
||||
# static attributes
|
||||
attr['ID'] = self._hmdevice.ADDRESS
|
||||
attr['id'] = self._hmdevice.ADDRESS
|
||||
attr['proxy'] = self._proxy
|
||||
|
||||
return attr
|
||||
|
@ -40,7 +40,17 @@ HM_UNIT_HA_CAST = {
|
||||
"SUNSHINEDURATION": "#",
|
||||
"AIR_PRESSURE": "hPa",
|
||||
"FREQUENCY": "Hz",
|
||||
"VALUE": "#"
|
||||
"VALUE": "#",
|
||||
}
|
||||
|
||||
HM_ICON_HA_CAST = {
|
||||
"WIND_SPEED": 'mdi:weather-windy',
|
||||
"HUMIDITY": 'mdi:water-percent',
|
||||
"TEMPERATURE": 'mdi:thermometer',
|
||||
"LUX": 'mdi:weather-sunny',
|
||||
"BRIGHTNESS": 'mdi:invert-colors',
|
||||
"POWER": 'mdi:flash-red-eye',
|
||||
"CURRENT": "mdi:flash-red-eye",
|
||||
}
|
||||
|
||||
|
||||
@ -77,6 +87,11 @@ class HMSensor(HMDevice):
|
||||
"""Return the unit of measurement of this entity, if any."""
|
||||
return HM_UNIT_HA_CAST.get(self._state, None)
|
||||
|
||||
@property
|
||||
def icon(self):
|
||||
"""Return the icon to use in the frontend, if any."""
|
||||
return HM_ICON_HA_CAST.get(self._state, None)
|
||||
|
||||
def _init_data_struct(self):
|
||||
"""Generate a data dict (self._data) from hm metadata."""
|
||||
# Add state to data dict
|
||||
|
Loading…
x
Reference in New Issue
Block a user