Example #1
0
    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
        )
Example #2
0
 def icon(self):
     """Icon to use in the frontend, if any."""
     if self._sensor_type == "battery" and self._state is not None:
         return icon_for_battery_level(
             battery_level=int(self._state), charging=False
         )
     return ICON_MAP.get(self._sensor_type)
Example #3
0
    def battery_icon(self):
        """Return the battery icon for the vacuum cleaner.

        No need to check SUPPORT_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 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 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)
Example #6
0
    def icon(self):
        """Return the icon for the battery."""
        charging = bool(self._robot_state == STATE_DOCKED)

        return icon_for_battery_level(
            battery_level=self._battery_level, charging=charging
        )
Example #7
0
 def battery_icon(self):
     """Return the battery icon for the vacuum cleaner."""
     charging = self._device.state.state in [
         Dyson360EyeMode.INACTIVE_CHARGING
     ]
     return icon_for_battery_level(battery_level=self.battery_level,
                                   charging=charging)
Example #8
0
 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
Example #9
0
 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]}"
Example #10
0
    def icon(self):
        """Icon to use in the frontend, if any."""
        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 = self._attribute_info.get(self._attribute, [None, None, None, None])[0]
        return icon
Example #11
0
 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
Example #12
0
def test_battery_icon():
    """Test icon generator for battery sensor."""
    from openpeerpower.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)
Example #13
0
    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 = f"{DEFAULT_ICON_STATE}-off"
        elif battery_state == ios.ATTR_BATTERY_STATE_UNKNOWN:
            battery_level = None
            charging = False
            icon_state = f"{DEFAULT_ICON_LEVEL}-unknown"

        if self.type == "state":
            return icon_state
        return icon_for_battery_level(battery_level=battery_level,
                                      charging=charging)
Example #14
0
 def icon(self) -> str:
     """Battery state icon handling."""
     return icon_for_battery_level(
         battery_level=self._device.battery_level,
         charging=self._device.battery_status == "Charging",
     )
Example #15
0
 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")
Example #16
0
 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)
Example #17
0
 def icon(self):
     """Battery state icon handling."""
     chargestate = self.car.data[DATA_CHARGING]
     return icon_for_battery_level(battery_level=self.state,
                                   charging=chargestate)
Example #18
0
 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
Example #19
0
 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