mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +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 = {
|
HM_ATTRIBUTE_SUPPORT = {
|
||||||
'LOWBAT': ['Battery', {0: 'High', 1: 'Low'}],
|
'LOWBAT': ['battery', {0: 'High', 1: 'Low'}],
|
||||||
'ERROR': ['Sabotage', {0: 'No', 1: 'Yes'}],
|
'ERROR': ['sabotage', {0: 'No', 1: 'Yes'}],
|
||||||
'RSSI_DEVICE': ['RSSI', {}],
|
'RSSI_DEVICE': ['rssi', {}],
|
||||||
'VALVE_STATE': ['Valve', {}],
|
'VALVE_STATE': ['valve', {}],
|
||||||
'BATTERY_STATE': ['Battery', {}],
|
'BATTERY_STATE': ['battery', {}],
|
||||||
'CONTROL_MODE': ['Mode', {0: 'Auto', 1: 'Manual', 2: 'Away', 3: 'Boost'}],
|
'CONTROL_MODE': ['mode', {0: 'Auto', 1: 'Manual', 2: 'Away', 3: 'Boost'}],
|
||||||
'POWER': ['Power', {}],
|
'POWER': ['power', {}],
|
||||||
'CURRENT': ['Current', {}],
|
'CURRENT': ['current', {}],
|
||||||
'VOLTAGE': ['Voltage', {}],
|
'VOLTAGE': ['voltage', {}],
|
||||||
'WORKING': ['Working', {0: 'No', 1: 'Yes'}],
|
'WORKING': ['working', {0: 'No', 1: 'Yes'}],
|
||||||
}
|
}
|
||||||
|
|
||||||
HM_PRESS_EVENTS = [
|
HM_PRESS_EVENTS = [
|
||||||
@ -172,7 +172,7 @@ CONFIG_SCHEMA = vol.Schema({
|
|||||||
}, extra=vol.ALLOW_EXTRA)
|
}, extra=vol.ALLOW_EXTRA)
|
||||||
|
|
||||||
SCHEMA_SERVICE_VIRTUALKEY = vol.Schema({
|
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_CHANNEL): vol.Coerce(int),
|
||||||
vol.Required(ATTR_PARAM): cv.string,
|
vol.Required(ATTR_PARAM): cv.string,
|
||||||
vol.Optional(ATTR_PROXY): 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({
|
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_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.Required(ATTR_VALUE): cv.match_all,
|
||||||
vol.Optional(ATTR_PROXY): cv.string,
|
vol.Optional(ATTR_PROXY): cv.string,
|
||||||
})
|
})
|
||||||
@ -715,7 +715,7 @@ class HMDevice(Entity):
|
|||||||
attr[data[0]] = value
|
attr[data[0]] = value
|
||||||
|
|
||||||
# static attributes
|
# static attributes
|
||||||
attr['ID'] = self._hmdevice.ADDRESS
|
attr['id'] = self._hmdevice.ADDRESS
|
||||||
attr['proxy'] = self._proxy
|
attr['proxy'] = self._proxy
|
||||||
|
|
||||||
return attr
|
return attr
|
||||||
|
@ -40,7 +40,17 @@ HM_UNIT_HA_CAST = {
|
|||||||
"SUNSHINEDURATION": "#",
|
"SUNSHINEDURATION": "#",
|
||||||
"AIR_PRESSURE": "hPa",
|
"AIR_PRESSURE": "hPa",
|
||||||
"FREQUENCY": "Hz",
|
"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 the unit of measurement of this entity, if any."""
|
||||||
return HM_UNIT_HA_CAST.get(self._state, None)
|
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):
|
def _init_data_struct(self):
|
||||||
"""Generate a data dict (self._data) from hm metadata."""
|
"""Generate a data dict (self._data) from hm metadata."""
|
||||||
# Add state to data dict
|
# Add state to data dict
|
||||||
|
Loading…
x
Reference in New Issue
Block a user