function status(networkAddress, username, password) {
  delete this.discoveredDevices[networkAddress];
  const device = createDevice(networkAddress, this.tasmotaHandler.serviceId, username, password);

  const storeDevice = (message) => {
    const statusMsg = JSON.parse(message);

    logger.debug(`Tasmota: HTTP receive message for ${networkAddress}: ${statusMsg}`);

    const { FriendlyName, Module } = statusMsg.Status;
    const [name] = FriendlyName;
    device.name = name;
    device.model = Module;

    this.discoveredDevices[networkAddress] = device;

    // Continue discovering
    this.subStatus(networkAddress, username, password, 11);
  };

  const authErrorCallback = () => {
    device.needAuthentication = true;

    this.discoveredDevices[networkAddress] = device;

    this.tasmotaHandler.notifyNewDevice(device, WEBSOCKET_MESSAGE_TYPES.TASMOTA.NEW_HTTP_DEVICE);
  };

  const errorCallback = () => {
    delete this.discoveredDevices[networkAddress];
  };

  request(buildUrl(device, 'Status'), storeDevice, authErrorCallback, errorCallback);
}
@description Try to discover HTTP device.
@param {string} networkAddress - Device network address.
@param {string} username - Device username.
@param {string} password - Device password.
@example
status('192.168.1.1');