code: def firmware_version(self):
          
          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 = connection.read_handle(_HANDLE_READ_VERSION_BATTERY)  # pylint: disable=no-member
                  _LOGGER.debug('Received result for handle %s: %s',
                                _HANDLE_READ_VERSION_BATTERY, self._format_bytes(res))
              if res is None:
                  self.battery = 0
                  self._firmware_version = None
              else:
                  self.battery = res[0]
                  self._firmware_version = "".join(map(chr, res[2:]))
          return self._firmware_version
docs: Return the firmware version.