docs: def firmware_version(self):
          """Return the firmware version."""
          if (self._firmware_version is None) or \
                  (datetime.now() - timedelta(hours=24) > self._fw_last_read):
              self._fw_last_read = datetime.now()
              with self._bt_interface.connect(self._mac) as connection:
                  res_firmware = connection.read_handle(_HANDLE_READ_FIRMWARE_VERSION)  # pylint: disable=no-member
                  _LOGGER.debug('Received result for handle %s: %s',
                                _HANDLE_READ_FIRMWARE_VERSION, res_firmware)
                  res_battery = connection.read_handle(_HANDLE_READ_BATTERY_LEVEL)  # pylint: disable=no-member
                  _LOGGER.debug('Received result for handle %s: %d',
                                _HANDLE_READ_BATTERY_LEVEL, res_battery)
  
              if res_firmware is None:
                  self._firmware_version = None
              else:
                  self._firmware_version = res_firmware.decode("utf-8")
  
              if res_battery is None:
                  self.battery = 0
              else:
                  self.battery = int(ord(res_battery))
          return self._firmware_version