def icon(self): """Icon to use in the frontend, if any.""" if self.resource_type == 'devices/battery' and self.extra: battery_level = BATTERY_LEVELS[self.extra.get('battery')] return icon_for_battery_level(battery_level=battery_level, charging=None) return 'mdi:{}'.format(FITBIT_RESOURCES_LIST[self.resource_type][2])
def battery_icon(self): """Return the battery icon for the vacuum cleaner. No need to check VacuumEntityFeature.BATTERY, this won't be called if battery_level is None. """ return icon_for_battery_level(battery_level=self.battery_level, charging=self._charging)
def icon(self): """Return the icon to use.""" if self.device["hive_type"] == "Battery": return icon_for_battery_level( battery_level=self.device["status"]["state"]) else: return DEVICETYPE[self.device["hive_type"]]['icon']
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" charging = bool(self.state == STATE_DOCKED) return icon_for_battery_level( battery_level=self.battery_level, charging=charging )
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" charging = False if self.status is not None: charging = 'charg' in self.status.lower() return icon_for_battery_level(battery_level=self.battery_level, charging=charging)
def icon(self): """Return the icon to use.""" if self.device["hiveType"] == "Battery": return icon_for_battery_level( battery_level=self.device["deviceData"]["battery"]) else: return DEVICETYPE[self.device["hiveType"]]["icon"]
def icon(self): """Icon to use in the frontend, if any.""" if self.entity_description.key == "battery_level" and self._state is not None: return icon_for_battery_level( battery_level=int(self._state), charging=False ) return self.entity_description.icon
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" from libpurecoollink.const import Dyson360EyeMode charging = self._device.state.state in [ Dyson360EyeMode.INACTIVE_CHARGING] return icon_for_battery_level( battery_level=self.battery_level, charging=charging)
def icon(self): """Icon to use in the frontend, if any.""" if self._device_class == DEVICE_CLASS_BATTERY and self._state is not None: return icon_for_battery_level( battery_level=int(self._state), charging=False ) return self._icon
def icon(self): """Battery state icon handling.""" chargestate = self.car.data[DATA_CHARGING] return icon_for_battery_level( battery_level=self.state, charging=chargestate )
def icon(self): """Return the icon.""" if self.instrument.attr in ['battery_level', 'charging']: return icon_for_battery_level(battery_level=self.instrument.state, charging=self.vehicle.charging) else: return self.instrument.icon
def icon(self): """Icon to use in the frontend, if any.""" if self._sensor_type == "battery_level" and self._state is not None: return icon_for_battery_level( battery_level=int(self._state), charging=False ) return self._icon
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" if self.supported_features & SUPPORT_BATTERY == 0: return return icon_for_battery_level(battery_level=self.battery_level, charging=self._charging)
def icon(self): """Icon to use in the frontend, if any.""" if self._sensor_type == "battery" and self._device.battery_life is not None: return icon_for_battery_level( battery_level=self._device.battery_life, charging=False ) return self._icon
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" charging = False if self.status is not None: charging = 'charg' in self.status.lower() return icon_for_battery_level( battery_level=self.battery_level, charging=charging)
def icon(self): """Icon to use in the frontend, if any.""" if (self.entity_description.key == "battery" and self._device.battery_life is not None): return icon_for_battery_level( battery_level=self._device.battery_life, charging=False) return self.entity_description.icon
def icon(self) -> Optional[str]: """Return the icon.""" if self.instrument.attr in ["battery_level", "charging"]: return icon_for_battery_level(battery_level=self.instrument.state, charging=self.vehicle.charging) else: return self.instrument.icon
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" if self.supported_features & SUPPORT_BATTERY == 0: return return icon_for_battery_level( battery_level=self.battery_level, charging=self._charging)
def update(self) -> None: """Read new state data from the library.""" _LOGGER.debug("Updating %s", self._vehicle.name) vehicle_state = self._vehicle.state if self._attribute == "charging_status": self._attr_native_value = getattr(vehicle_state, self._attribute).value elif self.unit_of_measurement == VOLUME_GALLONS: value = getattr(vehicle_state, self._attribute) value_converted = self.hass.config.units.volume( value, VOLUME_LITERS) self._attr_native_value = round(value_converted) elif self.unit_of_measurement == LENGTH_MILES: value = getattr(vehicle_state, self._attribute) value_converted = self.hass.config.units.length( value, LENGTH_KILOMETERS) self._attr_native_value = round(value_converted) elif self._service is None: self._attr_native_value = getattr(vehicle_state, self._attribute) elif self._service == SERVICE_LAST_TRIP: vehicle_last_trip = self._vehicle.state.last_trip if self._attribute == "date_utc": date_str = getattr(vehicle_last_trip, "date") self._attr_native_value = dt_util.parse_datetime( date_str).isoformat() else: self._attr_native_value = getattr(vehicle_last_trip, self._attribute) elif self._service == SERVICE_ALL_TRIPS: vehicle_all_trips = self._vehicle.state.all_trips for attribute in ( "average_combined_consumption", "average_electric_consumption", "average_recuperation", "chargecycle_range", "total_electric_distance", ): if self._attribute.startswith(f"{attribute}_"): attr = getattr(vehicle_all_trips, attribute) sub_attr = self._attribute.replace(f"{attribute}_", "") self._attr_native_value = getattr(attr, sub_attr) return if self._attribute == "reset_date_utc": date_str = getattr(vehicle_all_trips, "reset_date") self._attr_native_value = dt_util.parse_datetime( date_str).isoformat() else: self._attr_native_value = getattr(vehicle_all_trips, self._attribute) vehicle_state = self._vehicle.state charging_state = vehicle_state.charging_status in [ ChargingState.CHARGING ] if self._attribute == "charging_level_hv": self._attr_icon = icon_for_battery_level( battery_level=vehicle_state.charging_level_hv, charging=charging_state)
def icon(self): """Return the icon.""" if self._attribute == 'battery_level': val = getattr(self.vehicle, self._attribute) return icon_for_battery_level(battery_level=int(val), charging=self.vehicle.is_charging_on) else: return RESOURCES[self._attribute][2]
def test_battery_icon(self): """Test icon generator for battery sensor.""" from homeassistant.helpers.icon import icon_for_battery_level assert 'mdi:battery-unknown' == \ icon_for_battery_level(None, True) assert 'mdi:battery-unknown' == \ icon_for_battery_level(None, False) assert 'mdi:battery-outline' == \ icon_for_battery_level(5, True) assert 'mdi:battery-alert' == \ icon_for_battery_level(5, False) assert 'mdi:battery-charging-100' == \ icon_for_battery_level(100, True) assert 'mdi:battery' == \ icon_for_battery_level(100, False) iconbase = 'mdi:battery' for level in range(0, 100, 5): print('Level: %d. icon: %s, charging: %s' % (level, icon_for_battery_level( level, False), icon_for_battery_level(level, True))) if level <= 10: postfix_charging = '-outline' elif level <= 30: postfix_charging = '-charging-20' elif level <= 50: postfix_charging = '-charging-40' elif level <= 70: postfix_charging = '-charging-60' elif level <= 90: postfix_charging = '-charging-80' else: postfix_charging = '-charging-100' if 5 < level < 95: postfix = '-{}'.format(int(round(level / 10 - .01)) * 10) elif level <= 5: postfix = '-alert' else: postfix = '' assert iconbase + postfix == \ icon_for_battery_level(level, False) assert iconbase + postfix_charging == \ icon_for_battery_level(level, True)
def icon(self) -> str | None: """Icon to use in the frontend, if any.""" if (self.entity_description.key == "devices/battery" and self.extra is not None and (extra_battery := self.extra.get("battery")) is not None and (battery_level := BATTERY_LEVELS.get(extra_battery)) is not None): return icon_for_battery_level(battery_level=battery_level)
def icon(self): """Return the icon.""" if self._sensor_name == 'battery': return icon_for_battery_level( battery_level=int(self._state), charging=self._get_vehicle_data['state_charge']) else: return self.sensor.get('icon')
def test_battery_icon(self): """Test icon generator for battery sensor.""" from homeassistant.helpers.icon import icon_for_battery_level self.assertEqual('mdi:battery-unknown', icon_for_battery_level(None, True)) self.assertEqual('mdi:battery-unknown', icon_for_battery_level(None, False)) self.assertEqual('mdi:battery-outline', icon_for_battery_level(5, True)) self.assertEqual('mdi:battery-alert', icon_for_battery_level(5, False)) self.assertEqual('mdi:battery-charging-100', icon_for_battery_level(100, True)) self.assertEqual('mdi:battery', icon_for_battery_level(100, False)) iconbase = 'mdi:battery' for level in range(0, 100, 5): print('Level: %d. icon: %s, charging: %s' % (level, icon_for_battery_level(level, False), icon_for_battery_level(level, True))) if level <= 10: postfix_charging = '-outline' elif level <= 30: postfix_charging = '-charging-20' elif level <= 50: postfix_charging = '-charging-40' elif level <= 70: postfix_charging = '-charging-60' elif level <= 90: postfix_charging = '-charging-80' else: postfix_charging = '-charging-100' if 5 < level < 95: postfix = '-{}'.format(int(round(level / 10 - .01)) * 10) elif level <= 5: postfix = '-alert' else: postfix = '' self.assertEqual(iconbase + postfix, icon_for_battery_level(level, False)) self.assertEqual(iconbase + postfix_charging, icon_for_battery_level(level, True))
def icon(self): """Icon to use in the frontend.""" if self._sensor_type == "battery" and isinstance(self.state, int): charging = self._attributes["charging"] return icon_for_battery_level(battery_level=self.state, charging=charging) return API_WORX_SENSORS[self._sensor_type]["icon"]
def icon(self): """Return icon for sensor.""" if self.title == "EV Battery Level" and self.coordinator.data.get( self.vin): charge_status = (self.coordinator.data[self.vin]["status"].get( sc.EV_CHARGER_STATE_TYPE) == "CHARGING") return icon_for_battery_level(battery_level=self.current_value, charging=charge_status) return super().icon
def icon(self) -> str: """Return the icon to use in the frontend, if any.""" if self._updateble_icon: return self._icon_func(self._state) if self._icon == "battery": return icon_for_battery_level( int(self._state) if self._state is not None else None, self.charging) return self._icon
def icon(self) -> str: """Icon to use in the frontend, if any.""" if self.resource_type == "devices/battery" and self.extra is not None: extra_battery = self.extra.get("battery") if extra_battery is not None: battery_level = BATTERY_LEVELS.get(extra_battery) if battery_level is not None: return icon_for_battery_level(battery_level=battery_level) fitbit_ressource = FITBIT_RESOURCES_LIST[self.resource_type] return f"mdi:{fitbit_ressource[2]}"
def icon(self): """Icon to use in the frontend, if any.""" if self._sensor_type == "battery_level" and self._state is not None: return icon_for_battery_level(battery_level=int(self._state), charging=False) if self._sensor_type == "recording_mode" and self._state is not None: return "mdi:eye" if self._state == STATE_ON else "mdi:eye-off" if self._sensor_type == "streaming_mode" and self._state is not None: return "mdi:camera" if self._state == STATE_ON else "mdi:camera-off" return self._icon
def icon(self): """Return the icon of the sensor.""" if (self.device_class == DEVICE_CLASS_BATTERY and self.tesla_device.has_battery()): return icon_for_battery_level( battery_level=self.tesla_device.battery_level(), charging=self.tesla_device.battery_charging(), ) return self._icon
def icon(self): """Icon to use in the frontend, if any.""" if self._key == "battery": return icon_for_battery_level( battery_level=self._device.battery_level_percent, charging=self._device.car_state.get("ign", False), ) if self._key == "gsm_lvl": return icon_for_signal_level(signal_level=self._device.gsm_level_percent) return self._icon
def icon(self): """Icon to use in the frontend, if any.""" if (self._sensor_type == 'battery_level' and self._state is not None): return icon_for_battery_level(battery_level=int(self._state), charging=False) if (self._sensor_type == 'privacy_mode' and self._state is not None): return 'mdi:eye-off' if self._state == STATE_ON else 'mdi:eye' if (self._sensor_type == 'streaming_mode' and self._state is not None): return ('mdi:camera' if self._state == STATE_ON else 'mdi:camera-off') return self._icon
def test_battery_icon(): """Test icon generator for battery sensor.""" from homeassistant.helpers.icon import icon_for_battery_level assert icon_for_battery_level(None, True) == "mdi:battery-unknown" assert icon_for_battery_level(None, False) == "mdi:battery-unknown" assert icon_for_battery_level(5, True) == "mdi:battery-outline" assert icon_for_battery_level(5, False) == "mdi:battery-alert" assert icon_for_battery_level(100, True) == "mdi:battery-charging-100" assert icon_for_battery_level(100, False) == "mdi:battery" iconbase = "mdi:battery" for level in range(0, 100, 5): print("Level: %d. icon: %s, charging: %s" % ( level, icon_for_battery_level(level, False), icon_for_battery_level(level, True), )) if level <= 10: postfix_charging = "-outline" elif level <= 30: postfix_charging = "-charging-20" elif level <= 50: postfix_charging = "-charging-40" elif level <= 70: postfix_charging = "-charging-60" elif level <= 90: postfix_charging = "-charging-80" else: postfix_charging = "-charging-100" if 5 < level < 95: postfix = f"-{int(round(level / 10 - 0.01)) * 10}" elif level <= 5: postfix = "-alert" else: postfix = "" assert iconbase + postfix == icon_for_battery_level(level, False) assert iconbase + postfix_charging == icon_for_battery_level( level, True)
def icon(self): """Icon to use in the frontend, if any.""" from bimmer_connected.state import ChargingState vehicle_state = self._vehicle.state charging_state = vehicle_state.charging_status in \ [ChargingState.CHARGING] if self._attribute == 'charging_level_hv': return icon_for_battery_level( battery_level=vehicle_state.charging_level_hv, charging=charging_state) icon, _ = ATTR_TO_HA.get(self._attribute, [None, None]) return icon
def icon(self): """Icon to use in the frontend, if any.""" if (self._sensor_type == 'battery_level' and self._state is not None): return icon_for_battery_level(battery_level=int(self._state), charging=False) if (self._sensor_type == 'privacy_mode' and self._state is not None): return 'mdi:eye-off' if self._state == STATE_ON else 'mdi:eye' if (self._sensor_type == 'streaming_mode' and self._state is not None): return ( 'mdi:camera' if self._state == STATE_ON else 'mdi:camera-off') return self._icon
def icon(self): """Return the icon to use in the frontend, if any.""" device_battery = self._device[ios.ATTR_BATTERY] battery_state = device_battery[ios.ATTR_BATTERY_STATE] battery_level = device_battery[ios.ATTR_BATTERY_LEVEL] charging = True icon_state = DEFAULT_ICON_STATE if battery_state in (ios.ATTR_BATTERY_STATE_FULL, ios.ATTR_BATTERY_STATE_UNPLUGGED): charging = False icon_state = "{}-off".format(DEFAULT_ICON_STATE) elif battery_state == ios.ATTR_BATTERY_STATE_UNKNOWN: battery_level = None charging = False icon_state = "{}-unknown".format(DEFAULT_ICON_LEVEL) if self.type == "state": return icon_state return icon_for_battery_level(battery_level=battery_level, charging=charging)
def icon(self): """Return the icon to use in the frontend.""" return icon_for_battery_level(int(self.state))
def icon(self): """Icon to use in the frontend, if any.""" if self._sensor_type == 'battery_level' and self._state is not None: return icon_for_battery_level(battery_level=int(self._state), charging=False) return self._icon
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" return icon_for_battery_level( battery_level=self.battery_level, charging=self.is_charging)
def battery_icon(self): """Return the battery icon for the vacuum cleaner.""" charging = bool(self.state == STATE_DOCKED) return icon_for_battery_level( battery_level=self.battery_level, charging=charging)
def icon(self): """Return the icon for the sensor.""" if self._sensor == 'battery_level' and self._state is not None: return icon_for_battery_level(int(self._state)) return ICON_MAP.get(self._sensor, 'mdi:eye')
def icon(self): """Icon for the sensor.""" if self.state is not None and self._sensor_type[0] == "battery": return icon_for_battery_level(battery_level=self.state) return self._sensor_type[2]
def icon(self): """Return the icon.""" if self._attr == BATTERY_SENSOR: return icon_for_battery_level(self.state) return self._icon
def icon(self): """Return the icon.""" if self._attr == BATTERY_SENSOR: charging = self._state_attributes.get("charging", False) return icon_for_battery_level(self.state, charging) return self._icon