Verbindung zu MELcloud

Bonjour à tous,

Nouvel utilisateur de Gladys j’ai essayé de configurer MELcloud mais lorsque je rentre Identifiant et mot de passe je n’ai aucune connexion (identifiant et mot de passe vérifié en me connectant directement sur MELCloud)
La documentation MELCloud m’amnene vers une page introuvable sur le site de gladys et je ne retrouve pas MELcloud dans la liste des intégration sur le site de gladys.
Est ce que j’ai raté une étape ? dois-je faire quelque chose au préalable ?
Merci pour votre aide.

Romain

Bonjour @manoredge :slight_smile:

Bienvenue sur Gladys !

Tu as des informations complémentaires pour pouvoir t’aider ?

Quelle page introuvable ? :slight_smile:

Bonjour Oui bien sur,

Sur sur la page configuration : dashboard/integration/device/melcloud/setup : Je rentre mon identifiant et MDP Melcloud , ça mouline 1 seconde puis reviens sur la même page avec mon Id et MDP affiché mais il ne sais rien passé. Je n’ai aucune info ni de connexion ni d’échec.
Lorsque je clique sur « documentation MELcloud » (4ème onglet en bas à gauche cela m’emmène sur une page introuvable : https://gladysassistant.com/fr/docs/integrations/melcloud
Enfin sur la page des intégration : Intégrations | Gladys Assistant je ne retrouve pas MELcloud.
Dois je faire une manipulation avant de rentrer mon identifiant et mon mot de passe MELcloud. Suis-je censé avoir un message de connexion une fois ID et MDP rentré ?

@manoredge Merci pour les informations, est-ce que ça te dérangerait de me fournir ton identifiant/mot de passe pour que je fasse le test et débug ce souci de mon côté ? (change le mot de passe temporairement pour ce test)

Je n’ai pas de MELCloud chez moi, et le développeur qui a développé cette intégration n’est malheureusement plus actif dans la communauté donc pas trop le choix :smiley:

(Si oui, envoie moi tout ça en MP)

Merci @manoredge pour tes identifiants, j’ai fais une PR qui corrige le souci :

A ta disposition pour faire un test en réel avec allumage/extinction de la clim dès que tu es chez toi

Merci pour le rapide call @manoredge, comme ça corrige bien le souci je sors ce correctif dans la prochaine version de Gladys, probablement semaine prochaine :slight_smile:

Merci à toi @pierre-gilles, hyper efficace, test concluant

C’est disponible dans Gladys Assistant 4.42 :

Hallo,
ich grabe das Thema wieder aus, denn seit heute habe ich PACs von Mitsubishi :cold_face: :hot_face: :grimacing:

Also gebe ich meine ID/Kennwort ein, klicke auf Konfiguration speichern und .. nichts. Nichts passiert und wenn ich zu MELCloud-Erkennung gehe, wird mir gesagt, dass ich nicht verbunden bin :frowning:

Ich möchte darauf hinweisen, dass in meiner E-Mail ein + ist und mein Login in der Melcloud Home-App und auch über das Web funktioniert.
Parallel dazu habe ich auch den matterbridge-Plugin getestet und das funktioniert auch nicht.

Hier sind die Gladys-Logs:

2026-05-21T18:29:47+0200 <info> index.js:27 (Object.start) Starten des MELCloud-Dienstes 52848819-9e44-4ed8-a74d-4f6cfdcc6023

2026-05-21T18:29:47+0200 <error> melcloud.connect.js:44 (MELCloudHandler.connect) Fehler beim Verbinden mit Tuya: null

2026-05-21T18:29:47+0200 <warn> service.start.js:44 (Service.start) Dienst melcloud kann nicht gestartet werden AxiosError: Anfrage fehlgeschlagen mit Statuscode 401

    at settle (/src/server/services/melcloud/node_modules/axios/lib/core/settle.js:19:12)

    at IncomingMessage.handleStreamEnd (/src/server/services/melcloud/node_modules/axios/lib/adapters/http.js:570:11)

    at IncomingMessage.emit (node:events:531:35)

    at endReadableNT (node:internal/streams/readable:1698:12)

    at processTicksAndRejections (node:internal/process/task_queues:89:21) {

  code: 'ERR_BAD_REQUEST',

  config: {

    transitional: {

      silentJSONParsing: true,

      forcedJSONParsing: true,

      clarifyTimeoutError: false

    },

    adapter: [ 'xhr', 'http' ],

    transformRequest: [ [Function: transformRequest] ],

    transformResponse: [ [Function: transformResponse] ],

    timeout: 5000,

    xsrfCookieName: 'XSRF-TOKEN',

    xsrfHeaderName: 'X-XSRF-TOKEN',

    maxContentLength: -1,

    maxBodyLength: -1,

    env: { FormData: [Function], Blob: [class Blob] },

    validateStatus: [Function: validateStatus],

    headers: AxiosHeaders {

      Accept: 'application/json, text/javascript, */*; q=0.01',

      'Content-Type': 'application/json',

      'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:73.0) ',

      'Accept-Language': 'en-US,en;q=0.5',

      'Accept-Encoding': 'gzip, deflate, br',

      'X-MitsContextKey': null,

      'X-Requested-With': 'XMLHttpRequest',

      Cookie: 'policyaccepted=true'

    },

    baseURL: 'https://app.melcloud.com/Mitsubishi.Wifi.Client/',

    method: 'get',

    url: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

    data: undefined

  },

  request: <ref *1> ClientRequest {

    _events: [Object: null prototype] {

      abort: [Function (anonymous)],

      aborted: [Function (anonymous)],

      connect: [Function (anonymous)],

      error: [Function (anonymous)],

      socket: [Function (anonymous)],

      timeout: [Function (anonymous)],

      finish: [Function: requestOnFinish]

    },

    _eventsCount: 7,

    _maxListeners: undefined,

    outputData: [],

    outputSize: 0,

    writable: true,

    destroyed: true,

    _last: true,

    chunkedEncoding: false,

    shouldKeepAlive: true,

    maxRequestsOnConnectionReached: false,

    _defaultKeepAlive: true,

    useChunkedEncodingByDefault: false,

    sendDate: false,

    _removedConnection: false,

    _removedContLen: false,

    _removedTE: false,

    strictContentLength: false,

    _contentLength: 0,

    _hasBody: true,

    _trailer: '',

    finished: true,

    _headerSent: true,

    _closed: true,

    _header: 'GET /Mitsubishi.Wifi.Client//User/ListDevices HTTP/1.1\r\n' +

      'Accept: application/json, text/javascript, */*; q=0.01\r\n' +

      'Content-Type: application/json\r\n' +

      'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:73.0) \r\n' +

      'Accept-Language: en-US,en;q=0.5\r\n' +

      'Accept-Encoding: gzip, deflate, br\r\n' +

      'X-Requested-With: XMLHttpRequest\r\n' +

      'Cookie: policyaccepted=true\r\n' +

      'Host: app.melcloud.com\r\n' +

      'Connection: keep-alive\r\n' +

      '\r\n',

    _keepAliveTimeout: 0,

    _onPendingData: [Function: nop],

    agent: Agent {

      _events: [Object: null prototype],

      _eventsCount: 2,

      _maxListeners: undefined,

      options: [Object: null prototype],

      defaultPort: 443,

      protocol: 'https:',

      requests: [Object: null prototype] {},

      sockets: [Object: null prototype] {},

      freeSockets: [Object: null prototype],

      keepAliveMsecs: 1000,

      keepAlive: true,

      maxSockets: Infinity,

      maxFreeSockets: 256,

      scheduling: 'lifo',

      maxTotalSockets: Infinity,

      totalSocketCount: 1,

      agentKeepAliveTimeoutBuffer: 1000,

      maxCachedSessions: 100,

      _sessionCache: [Object],

      [Symbol(shapeMode)]: false,

      [Symbol(kCapture)]: false

    },

    socketPath: undefined,

    method: 'GET',

    maxHeaderSize: undefined,

    insecureHTTPParser: undefined,

    joinDuplicateHeaders: undefined,

    path: '/Mitsubishi.Wifi.Client//User/ListDevices',

    _ended: true,

    res: IncomingMessage {

      _events: [Object],

      _readableState: [ReadableState],

      _maxListeners: undefined,

      socket: null,

      httpVersionMajor: 1,

      httpVersionMinor: 1,

      httpVersion: '1.1',

      complete: true,

      rawHeaders: [Array],

      rawTrailers: [],

      joinDuplicateHeaders: undefined,

      aborted: false,

      upgrade: false,

      url: '',

      method: null,

      statusCode: 401,

      statusMessage: 'Unauthorized',

      client: [TLSSocket],

      _consuming: false,

      _dumped: false,

      req: [Circular *1],

      _eventsCount: 4,

      responseUrl: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

      redirects: [],

      [Symbol(shapeMode)]: true,

      [Symbol(kCapture)]: false,

      [Symbol(kHeaders)]: [Object],

      [Symbol(kHeadersCount)]: 24,

      [Symbol(kTrailers)]: null,

      [Symbol(kTrailersCount)]: 0

    },

    aborted: false,

    timeoutCb: null,

    upgradeOrConnect: false,

    parser: null,

    maxHeadersCount: null,

    reusedSocket: true,

    host: 'app.melcloud.com',

    protocol: 'https:',

    _redirectable: Writable {

      _events: [Object],

      _writableState: [WritableState],

      _maxListeners: undefined,

      _options: [Object],

      _ended: true,

      _ending: true,

      _redirectCount: 0,

      _redirects: [],

      _requestBodyLength: 0,

      _requestBodyBuffers: [],

      _eventsCount: 3,

      _onNativeResponse: [Function (anonymous)],

      _currentRequest: [Circular *1],

      _currentUrl: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

      _timeout: null,

      [Symbol(shapeMode)]: true,

      [Symbol(kCapture)]: false

    },

    [Symbol(shapeMode)]: false,

    [Symbol(kCapture)]: false,

    [Symbol(kBytesWritten)]: 0,

    [Symbol(kNeedDrain)]: false,

    [Symbol(corked)]: 0,

    [Symbol(kChunkedBuffer)]: [],

    [Symbol(kChunkedLength)]: 0,

    [Symbol(kSocket)]: TLSSocket {

      _tlsOptions: [Object],

      _secureEstablished: true,

      _securePending: false,

      _newSessionPending: false,

      _controlReleased: true,

      secureConnecting: false,

      _SNICallback: null,

      servername: 'app.melcloud.com',

      alpnProtocol: false,

      authorized: true,

      authorizationError: null,

      encrypted: true,

      _events: [Object: null prototype],

      _eventsCount: 9,

      connecting: false,

      _hadError: false,

      _parent: null,

      _host: 'app.melcloud.com',

      _closeAfterHandlingError: false,

      _readableState: [ReadableState],

      _writableState: [WritableState],

      allowHalfOpen: false,

      _maxListeners: undefined,

      _sockname: null,

      _pendingData: null,

      _pendingEncoding: '',

      server: undefined,

      _server: null,

      ssl: [TLSWrap],

      _requestCert: true,

      _rejectUnauthorized: true,

      timeout: 5000,

      parser: null,

      _httpMessage: null,

      autoSelectFamilyAttemptedAddresses: [Array],

      [Symbol(alpncallback)]: null,

      [Symbol(res)]: [TLSWrap],

      [Symbol(verified)]: true,

      [Symbol(pendingSession)]: null,

      [Symbol(async_id_symbol)]: -1,

      [Symbol(kHandle)]: [TLSWrap],

      [Symbol(lastWriteQueueSize)]: 0,

      [Symbol(timeout)]: Timeout {

        _idleTimeout: 5000,

        _idlePrev: [TimersList],

        _idleNext: [Timeout],

        _idleStart: 269871797,

        _onTimeout: [Function: bound ],

        _timerArgs: undefined,

        _repeat: null,

        _destroyed: false,

        [Symbol(refed)]: false,

        [Symbol(kHasPrimitive)]: false,

        [Symbol(kCapture)]: false

      },

      [Symbol(kCapture)]: false

    },

    [Symbol(kCapture)]: false

  },

  [Symbol(kCapture)]: false

}[Symbol(asyncId)]: 15098503,

        [Symbol(triggerId)]: 15098501,

        [Symbol(kAsyncContextFrame)]: undefined

      },

      [Symbol(kBuffer)]: null,

      [Symbol(kBufferCb)]: null,

      [Symbol(kBufferGen)]: null,

      [Symbol(shapeMode)]: true,

      [Symbol(kCapture)]: false,

      [Symbol(kSetNoDelay)]: false,

      [Symbol(kSetKeepAlive)]: true,

      [Symbol(kSetKeepAliveInitialDelay)]: 1,

      [Symbol(kBytesRead)]: 0,

      [Symbol(kBytesWritten)]: 0,

      [Symbol(connect-options)]: [Object]

    },

    [Symbol(kOutHeaders)]: [Object: null prototype] {

      accept: [Array],

      'content-type': [Array],

      'user-agent': [Array],

      'accept-language': [Array],

      'accept-encoding': [Array],

      'x-requested-with': [Array],

      cookie: [Array],

      host: [Array]

    },

    [Symbol(errored)]: null,

    [Symbol(kHighWaterMark)]: 65536,

    [Symbol(kRejectNonStandardBodyWrites)]: false,

    [Symbol(kUniqueHeaders)]: null

  },

  response: {

    status: 401,

    statusText: 'Unauthorized',

    headers: AxiosHeaders {

      date: 'Thu, 21 May 2026 16:29:47 GMT',

      'content-type': 'text/html',

      'content-length': '1293',

      connection: 'keep-alive',

      'cache-control': 'no-cache, no-store, must-revalidate',

      pragma: 'no-cache',

      expires: '-1',

      server: 'Microsoft-IIS/10.0',

      'strict-transport-security': 'max-age=63072000; includeSubDomains',

      'x-robots-tag': 'noindex, nofollow, noimageindex',

      'x-content-type-options': 'nosniff',

      'access-control-allow-origin': '*'

    },

    config: {

      transitional: [Object],

      adapter: [Array],

      transformRequest: [Array],

      transformResponse: [Array],

      timeout: 5000,

      xsrfCookieName: 'XSRF-TOKEN',

      xsrfHeaderName: 'X-XSRF-TOKEN',

      maxContentLength: -1,

      maxBodyLength: -1,

      env: [Object],

      validateStatus: [Function: validateStatus],

      headers: [AxiosHeaders],

      baseURL: 'https://app.melcloud.com/Mitsubishi.Wifi.Client/',

      method: 'get',

      url: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

      data: undefined

    },

    request: <ref *1> ClientRequest {

      _events: [Object: null prototype],

      _eventsCount: 7,

      _maxListeners: undefined,

      outputData: [],

      outputSize: 0,

      writable: true,

      destroyed: true,

      _last: true,

      chunkedEncoding: false,

      shouldKeepAlive: true,

      maxRequestsOnConnectionReached: false,

      _defaultKeepAlive: true,

      useChunkedEncodingByDefault: false,

      sendDate: false,

      _removedConnection: false,

      _removedContLen: false,

      _removedTE: false,

      strictContentLength: false,

      _contentLength: 0,

      _hasBody: true,

      _trailer: '',

      finished: true,

      _headerSent: true,

      _closed: true,

      _header: 'GET /Mitsubishi.Wifi.Client//User/ListDevices HTTP/1.1\r\n' +

        'Accept: application/json, text/javascript, */*; q=0.01\r\n' +

        'Content-Type: application/json\r\n' +

        'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:73.0) \r\n' +

        'Accept-Language: en-US,en;q=0.5\r\n' +

        'Accept-Encoding: gzip, deflate, br\r\n' +

        'X-Requested-With: XMLHttpRequest\r\n' +

        'Cookie: policyaccepted=true\r\n' +

        'Host: app.melcloud.com\r\n' +

        'Connection: keep-alive\r\n' +

        '\r\n',

      _keepAliveTimeout: 0,

      _onPendingData: [Function: nop],

      agent: [Agent],

      socketPath: undefined,

      method: 'GET',

      maxHeaderSize: undefined,

      insecureHTTPParser: undefined,

      joinDuplicateHeaders: undefined,

      path: '/Mitsubishi.Wifi.Client//User/ListDevices',

      _ended: true,

      res: [IncomingMessage],

      aborted: false,

      timeoutCb: null,

      upgradeOrConnect: false,

      parser: null,

      maxHeadersCount: null,

      reusedSocket: true,

      host: 'app.melcloud.com',

      protocol: 'https:',

      _redirectable: [Writable],

      [Symbol(shapeMode)]: false,

      [Symbol(kCapture)]: false,

      [Symbol(kBytesWritten)]: 0,

      [Symbol(kNeedDrain)]: false,

      [Symbol(corked)]: 0,

      [Symbol(kChunkedBuffer)]: [],

      [Symbol(kChunkedLength)]: 0,

      [Symbol(kSocket)]: [TLSSocket],

      [Symbol(kOutHeaders)]: [Object: null prototype],

      [Symbol(errored)]: null,

      [Symbol(kHighWaterMark)]: 65536,

      [Symbol(kRejectNonStandardBodyWrites)]: false,

      [Symbol(kUniqueHeaders)]: null

    },

    data: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r\n' +

      '<html xmlns="http://www.w3.org/1999/xhtml">\r\n' +

      '<head>\r\n' +

      '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>\r\n' +

      '<title>401 - Unauthorized: Zugriff verweigert aufgrund ungültiger Anmeldedaten.</title>\r\n' +

      '<style type="text/css">\r\n' +

      '<!--\r\n' +

      'body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}\r\n' +

      'fieldset{padding:0 15px 10px 15px;} \r\n' +

      'h1{font-size:2.4em;margin:0;color:#FFF;}\r\n' +

      'h2{font-size:1.7em;margin:0;color:#CC0000;} \r\n' +

      'h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} \r\n' +

      '#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;\r\n' +

      'background-color:#555555;}\r\n' +

      '#content{margin:0 0 0 2%;position:relative;}\r\n' +

      '.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}\r\n' +

      '-->\r\n' +

      '</style>\r\n' +

      '</head>\r\n' +

      '<body>\r\n' +

      '<div id="header"><h1>Serverfehler</h1></div>\r\n' +

      '<div id="content">\r\n' +

      ' <div class="content-container"><fieldset>\r\n' +

      '  <h2>401 - Unauthorized: Zugriff verweigert aufgrund ungültiger Anmeldedaten.</h2>\r\n' +

      '  <h3>Sie haben keine Berechtigung, diesen Ordner oder diese Seite mit den von Ihnen angegebenen Anmeldedaten zu betrachten.</h3>\r\n' +

      ' </fieldset></div>\r\n' +

      '</div>\r\n' +

      '</body>\r\n' +

      '</html>\r\n'

  }

}

2026-05-21T18:30:00+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:27 (EnergyMonitoringHandler.calculateConsumptionFromIndex) Berechnung des Verbrauchs aus dem Index in der Zeitzone Europe/Paris für das Fenster Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit)

2026-05-21T18:30:00+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:34 (EnergyMonitoringHandler.calculateConsumptionFromIndex) 50 Energiegeräte gefunden

2026-05-21T18:30:00+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:65 (EnergyMonitoringHandler.calculateConsumptionFromIndex) 16 Geräte mit sowohl INDEX als auch THIRTY_MINUTES_CONSUMPTION-Funktionen gefunden

2026-05-21T18:30:00+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Borne VE am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:00+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Clim mobile am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:00+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Climatisation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Leds cuisine am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0.07999999999992724 für Gerät Prise congélateur am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Prise lave-linge am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Téléinformation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0.7830000000000006 für Gerät Téléinformation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Téléinformation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Téléinformation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Téléinformation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät Téléinformation am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0.010000000000005116 für Gerät ampli freebox am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät prise compresseur am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät prise_04 am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateConsumptionFromIndex.js:149 () Verbrauch 0 für Gerät relais_fp_01 am Do 21. Mai 2026 18:30:00 GMT+0200 (Mitteleuropäische Sommerzeit) gespeichert

2026-05-21T18:30:01+0200<info> energy-monitoring.calculateConsumptionFromIndex.js:160 (EnergyMonitoringHandler.calculateConsumptionFromIndex) Berechnung des Verbrauchs aus dem Index für 16 Geräte abgeschlossen

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateCostFrom.js:34 (EnergyMonitoringHandler.calculateCostFrom) Berechnung der Kosten in der Zeitzone Europe/Paris

2026-05-21T18:30:01+0200 <info> energy-monitoring.calculateCostFrom.js:38 (EnergyMonitoringHandler.calculateCostFrom) 21 Energiegeräte gefunden

2026-05-21T18:30:02+0200 <info> energy-monitoring.calculateCostFrom.js:126 () Gerät 2b993985-4690-47e0-89ab-523e35ade901 hat Tempo-Preise und die Map ist leer, hole EDF-Tempo-Historie

2026-05-21T18:30:02+0200 <info> contracts.buildEdfTempoDayMap.js:19 (buildEdfTempoDayMap) Bauen der EDF-Tempo-Historie-Karte ab 2026-05-20

2026-05-21T18:30:02+0200 <info> contracts.buildEdfTempoDayMap.js:52 (buildEdfTempoDayMap) Alle 2 EDF-Tempo-Tage im Cache gefunden (von 2026-05-20 bis 2026-05-21)

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = 7393b8a6-31cd-484f-a6a5-4748b897820b ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = b17ed9a0-bb8f-4eab-aa18-49e1e360322c ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = 7647d3f1-2e5c-4773-94dc-d53ddcc24b32 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = 2dea3c15-23d8-4a9e-a9b6-90f0c0d5593f ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = 0883c4ae-66b7-475d-a8ca-7ab3ef09dadb ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = bdb4a7d1-bb27-4132-96c2-e09e4f40f381 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = c7ab8f9e-0f99-4927-b8f3-de864b85e9c3 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = edff3d91-ae7c-4599-aea2-216d2e442786 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = a1e3f62f-5cd2-4c73-b0e8-b988bfed5d3f ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = c9a07104-f362-404f-bac4-7fc4a7f79f3e ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = 8c223390-c8ad-4bfe-ad28-644baf931376 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = d5684fbf-a0f8-414f-b45c-ef28555fe7f1 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = f8b9c646-7fe2-4e86-8aaa-b49e3aa0f910 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = a5113c01-711c-4552-9e06-dfe03819d4a8 ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = 27d71bd3-11f9-48d2-b59d-c6257bf5177e ein.

2026-05-21T18:30:02+0200 <info> index.js:156 () DuckDB: Füge Chunk 0 für deviceFeature = e1c91792-0b39-4b09-b583-1003d9ab50a0 ein.

2026-05-21T18:30:07+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:30:12+0200 <info> netatmo.loadDevices.js:155 (NetatmoHandler.loadDevices) Netatmo-Geräte nicht unterstützt: 0

2026-05-21T18:30:37+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:30:40+0200 <error> handleMqttMessage.js:123 () Fehler beim Konvertieren des Werts für Gerät capteur_humidite: Error: Zigbee2mqqt expose nicht auf Gerät „capteur_humidite“ mit Eigenschaft „soil_moisture“ gefunden.

    at Zigbee2mqttManager.readValue (/src/server/services/zigbee2mqtt/lib/readValue.js:16:11)

    at /src/server/services/zigbee2mqtt/lib/handleMqttMessage.js:119:31

    at Array.forEach (<anonymous>)

    at Zigbee2mqttManager.handleMqttMessage (/src/server/services/zigbee2mqtt/lib/handleMqttMessage.js:111:41)

    at MqttClient.<anonymous> (/src/server/services/zigbee2mqtt/lib/connect.js:60:12)

    at MqttClient.emit (node:events:519:28)

    at MqttClient._handlePublish (/src/server/services/zigbee2mqtt/node_modules/mqtt/lib/client.js:1277:12)

    at MqttClient._handlePacket (/src/server/services/zigbee2mqtt/node_modules/mqtt/lib/client.js:410:12)

    at work (/src/server/services/zigbee2mqtt/node_modules/mqtt/lib/client.js:321:12)

    at Writable.writable._write (/src/server/services/zigbee2mqtt/node_modules/mqtt/lib/client.js:335:5)

    at doWrite (/src/server/services/zigbee2mqtt/node_modules/readable-stream/lib/_stream_writable.js:409:139)

    at writeOrBuffer (/src/server/services/zigbee2mqtt/node_modules/readable-stream/lib/_stream_writable.js:398:5)

    at Writable.write (/src/server/services/zigbee2mqtt/node_modules/readable-stream/lib/_stream_writable.js:307:11)

    at Socket.ondata (node:internal/streams/readable:1009:22)

    at Socket.emit (node:events:519:28)

    at addChunk (node:internal/streams/readable:561:12)

    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)

    at Socket.Readable.push (node:internal/streams/readable:392:5)

    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)

2026-05-21T18:31:09+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:31:10+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:31:10+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:31:10+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:31:10+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature „zwavejs-ui:41:0:binary_sensor:general_purpose“ nicht gefunden (oder nicht zu Gladys hinzugefügt), Überspringen des Zustandsupdates.

2026-05-21T18:31:13+0200 <info> index.js:27 (Object.start) Starte MELCloud-Dienst 52848819-9e44-4ed8-a74d-4f6cfdcc6023

2026-05-21T18:31:13+0200 <error> melcloud.connect.js:44 (MELCloudHandler.connect) Fehler beim Verbinden mit Tuya: null

2026-05-21T18:31:13+0200 <warn> service.start.js:44 (Service.start) Dienst melcloud konnte nicht gestartet werden AxiosError: Anfrage fehlgeschlagen mit Statuscode 401

    at settle (/src/server/services/melcloud/node_modules/axios/lib/core/settle.js:19:12)

    at IncomingMessage.handleStreamEnd (/src/server/services/melcloud/node_modules/axios/lib/adapters/http.js:570:11)

    at IncomingMessage.emit (node:events:531:35)

    at endReadableNT (node:internal/streams/readable:1698:12)

    at processTicksAndRejections (node:internal/process/task_queues:89:21) {

  code: 'ERR_BAD_REQUEST',

  config: {

    transitional: {

      silentJSONParsing: true,

      forcedJSONParsing: true,

      clarifyTimeoutError: false

    },

    adapter: [ 'xhr', 'http' ],

    transformRequest: [ [Function: transformRequest] ],

    transformResponse: [ [Function: transformResponse] ],

    timeout: 5000,

    xsrfCookieName: 'XSRF-TOKEN',

    xsrfHeaderName: 'X-XSRF-TOKEN',

    maxContentLength: -1,

    maxBodyLength: -1,

    env: { FormData: [Function], Blob: [class Blob] },

    validateStatus: [Function: validateStatus],

    headers: AxiosHeaders {

      Accept: 'application/json, text/javascript, */*; q=0.01',

      'Content-Type': 'application/json',

      'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:73.0) ',

      'Accept-Language': 'en-US,en;q=0.5',

      'Accept-Encoding': 'gzip, deflate, br',

      'X-MitsContextKey': null,

      'X-Requested-With': 'XMLHttpRequest',

      Cookie: 'policyaccepted=true'

    },

    baseURL: 'https://app.melcloud.com/Mitsubishi.Wifi.Client/',

    method: 'get',

    url: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

    data: undefined

  },

  request: <ref *1> ClientRequest {

    _events: [Object: null prototype] {

      abort: [Function (anonymous)],

      aborted: [Function (anonymous)],

      connect: [Function (anonymous)],

      error: [Function (anonymous)],

      socket: [Function (anonymous)],

      timeout: [Function (anonymous)],

      finish: [Function: requestOnFinish]

    },

    _eventsCount: 7,

    _maxListeners: undefined,

    outputData: [],

    outputSize: 0,

    writable: true,

    destroyed: true,

    _last: true,

    chunkedEncoding: false,

    shouldKeepAlive: true,

    maxRequestsOnConnectionReached: false,

    _defaultKeepAlive: true,

    useChunkedEncodingByDefault: false,

    sendDate: false,

    _removedConnection: false,

    _removedContLen: false,

    _removedTE: false,

    strictContentLength: false,

    _contentLength: 0,

    _hasBody: true,

    _trailer: '',

    finished: true,

    _headerSent: true,

    _closed: true,

    _header: 'GET /Mitsubishi.Wifi.Client//User/ListDevices HTTP/1.1\r\n' +

      'Accept: application/json, text/javascript, */*; q=0.01\r\n' +

      'Content-Type: application/json\r\n' +

      'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:73.0) \r\n' +

      'Accept-Language: en-US,en;q=0.5\r\n' +

      'Accept-Encoding: gzip, deflate, br\r\n' +

      'X-Requested-With: XMLHttpRequest\r\n' +

      'Cookie: policyaccepted=true\r\n' +

      'Host: app.melcloud.com\r\n' +

      'Connection: keep-alive\r\n' +

      '\r\n',

    _keepAliveTimeout: 0,

    _onPendingData: [Function: nop],

    agent: Agent {

      _events: [Object: null prototype],

      _eventsCount: 2,

      _maxListeners: undefined,

      options: [Object: null prototype],

      defaultPort: 443,

      protocol: 'https:',

      requests: [Object: null prototype] {},

      sockets: [Object: null prototype] {},

      freeSockets: [Object: null prototype],

      keepAliveMsecs: 1000,

      keepAlive: true,

      maxSockets: Infinity,

      maxFreeSockets: 256,

      scheduling: 'lifo',

      maxTotalSockets: Infinity,

      totalSocketCount: 1,

      agentKeepAliveTimeoutBuffer: 1000,

      maxCachedSessions: 100,

      _sessionCache: [Object],

      [Symbol(shapeMode)]: false,

      [Symbol(kCapture)]: false

    },

    socketPath: undefined,

    method: 'GET',

    maxHeaderSize: undefined,

    insecureHTTPParser: undefined,

    joinDuplicateHeaders: undefined,

    path: '/Mitsubishi.Wifi.Client//User/ListDevices',

    _ended: true,

    res: IncomingMessage {

      _events: [Object],

      _readableState: [ReadableState],

      _maxListeners: undefined,

      socket: null,

      httpVersionMajor: 1,

      httpVersionMinor: 1,

      httpVersion: '1.1',

      complete: true,

      rawHeaders: [Array],

      rawTrailers: [],

      joinDuplicateHeaders: undefined,

      aborted: false,

      upgrade: false,

      url: '',

      method: null,

      statusCode: 401,

      statusMessage: 'Unauthorized',

      client: [TLSSocket],

      _consuming: false,

      _dumped: false,

      req: [Circular *1],

      _eventsCount: 4,

      responseUrl: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

      redirects: [],

      [Symbol(shapeMode)]: true,

      [Symbol(kCapture)]: false,

      [Symbol(kHeaders)]: [Object],

      [Symbol(kHeadersCount)]: 24,

      [Symbol(kTrailers)]: null,

      [Symbol(kTrailersCount)]: 0

    },

    aborted: false,

    timeoutCb: null,

    upgradeOrConnect: false,

    parser: null,

    maxHeadersCount: null,

    reusedSocket: true,

    host: 'app.melcloud.com',

    protocol: 'https:',

    _redirectable: Writable {

      _events: [Object],

      _writableState: [WritableState],

      _maxListeners: undefined,

      _options: [Object],

      _ended: true,

      _ending: true,

      _redirectCount: 0,

      _redirects: [],

      _requestBodyLength: 0,

      _requestBodyBuffers: [],

      _eventsCount: 3,

      _onNativeResponse: [Function (anonymous)],

      _currentRequest: [Circular *1],

      _currentUrl: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

      _timeout: null,

      [Symbol(shapeMode)]: true,

      [Symbol(kCapture)]: false

    },

    [Symbol(shapeMode)]: false,

    [Symbol(kCapture)]: false,

    [Symbol(kBytesWritten)]: 0,

    [Symbol(kNeedDrain)]: false,

    [Symbol(corked)]: 0,

    [Symbol(kChunkedBuffer)]: [],

    [Symbol(kChunkedLength)]: 0,

    [Symbol(kSocket)]: TLSSocket {

      _tlsOptions: [Object],

      _secureEstablished: true,

      _securePending: false,

      _newSessionPending: false,

      _controlReleased: true,

      secureConnecting: false,

      _SNICallback: null,

      servername: 'app.melcloud.com',

      alpnProtocol: false,

      authorized: true,

      authorizationError: null,

      encrypted: true,

      _events: [Object: null prototype],

      _eventsCount: 9,

      connecting: false,

      _hadError: false,

      _parent: null,

      _host: 'app.melcloud.com',

      _closeAfterHandlingError: false,

      _readableState: [ReadableState],

      _writableState: [WritableState],

      allowHalfOpen: false,

      _maxListeners: undefined,

      _sockname: null,

      _pendingData: null,

      _pendingEncoding: '',

      server: undefined,

      _server: null,

      ssl: [TLSWrap],

      _requestCert: true,

      _rejectUnauthorized: true,

      timeout: 5000,

      parser: null,

      _httpMessage: null,

      autoSelectFamilyAttemptedAddresses: [Array],

      [Symbol(alpncallback)]: null,

      [Symbol(res)]: [TLSWrap],

      [Symbol(verified)]: true,

      [Symbol(pendingSession)]: null,

      [Symbol(async_id_symbol)]: -1,

      [Symbol(kHandle)]: [TLSWrap],

      [Symbol(lastWriteQueueSize)]: 0,

      [Symbol(timeout)]: Timeout {

        _idleTimeout: 5000,

        _idlePrev: [TimersList],

        _idleNext: [Timeout],

        _idleStart: 269958086,

        _onTimeout: [Function: bound ],

        _timerArgs: undefined,

        _repeat: null,

        _destroyed: false,

        [Symbol(refed)]: false,

        [Symbol(kHasPrimitive)]: false,

        [Symbol(asyncId)]: 15104056,

        [Symbol(triggerId)]: 15104054,

        [Symbol(kAsyncContextFrame)]: undefined

      },

      [Symbol(kBuffer)]: null,

      [Symbol(kBufferCb)]: null,

      [Symbol(kBufferGen)]: null,

      [Symbol(shapeMode)]: true,

      [Symbol(kCapture)]: false,

      [Symbol(kSetNoDelay)]: false,

      [Symbol(kSetKeepAlive)]: true,

      [Symbol(kSetKeepAliveInitialDelay)]: 1,

      [Symbol(kBytesRead)]: 0,

      [Symbol(kBytesWritten)]: 0,

      [Symbol(connect-options)]: [Object]

    },

    [Symbol(kOutHeaders)]: [Object: null prototype] {

      accept: [Array],

      'content-type': [Array],

      'user-agent': [Array],

      'accept-language': [Array],

      'accept-encoding': [Array],

      'x-requested-with': [Array],

      cookie: [Array],

      host: [Array]

    },

    [Symbol(errored)]: null,

    [Symbol(kHighWaterMark)]: 65536,

    [Symbol(kRejectNonStandardBodyWrites)]: false,

    [Symbol(kUniqueHeaders)]: null

  },

  response: {

    status: 401,

    statusText: 'Unauthorized',

    headers: AxiosHeaders {

      date: 'Thu, 21 May 2026 16:31:13 GMT',

      'content-type': 'text/html',

      'content-length': '1293',

      connection: 'keep-alive',

      'cache-control': 'no-cache, no-store, must-revalidate',

      pragma: 'no-cache',

      expires: '-1',

      server: 'Microsoft-IIS/10.0',

      'strict-transport-security': 'max-age=63072000; includeSubDomains',

      'x-robots-tag': 'noindex, nofollow, noimageindex',

      'x-content-type-options': 'nosniff',

      'access-control-allow-origin': '*'

    },

    config: {

      transitional: [Object],

      adapter: [Array],

      transformRequest: [Array],

      transformResponse: [Array],

      timeout: 5000,

      xsrfCookieName: 'XSRF-TOKEN',

      xsrfHeaderName: 'X-XSRF-TOKEN',

      maxContentLength: -1,

      maxBodyLength: -1,

      env: [Object],

      validateStatus: [Function: validateStatus],

      headers: [AxiosHeaders],

      baseURL: 'https://app.melcloud.com/Mitsubishi.Wifi.Client/',

      method: 'get',

      url: 'https://app.melcloud.com/Mitsubishi.Wifi.Client//User/ListDevices',

      data: undefined

    },

    request: <ref *1> ClientRequest {

      _events: [Object: null prototype],

      _eventsCount: 7,

      _maxListeners: undefined,

      outputData: [],

      outputSize: 0,

      writable: true,

      destroyed: true,

      _last: true,

      chunkedEncoding: false,

      shouldKeepAlive: true,

      maxRequestsOnConnectionReached: false,

      _defaultKeepAlive: true,

      useChunkedEncodingByDefault: false,

      sendDate: false,

      _removedConnection: false,

      _removedContLen: false,

      _removedTE: false,

      strictContentLength: false,

      _contentLength: 0,

      _hasBody: true,

      _trailer: '',

      finished: true,

      _headerSent: true,

      _closed: true,

      _header: 'GET /Mitsubishi.Wifi.Client//User/ListDevices HTTP/1.1\r\n' +

        'Accept: application/json, text/javascript, */*; q=0.01\r\n' +

        'Content-Type: application/json\r\n' +

        'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:73.0) \r\n' +

        'Accept-Language: en-US,en;q=0.5\r\n' +

        'Accept-Encoding: gzip, deflate, br\r\n' +

        'X-Requested-With: XMLHttpRequest\r\n' +

        'Cookie: policyaccepted=true\r\n' +

        'Host: app.melcloud.com\r\n' +

        'Connection: keep-alive\r\n' +

        '\r\n',

      _keepAliveTimeout: 0,

      _onPendingData: [Function: nop],

      agent: [Agent],

      socketPath: undefined,

      method: 'GET',

      maxHeaderSize: undefined,

      insecureHTTPParser: undefined,

      joinDuplicateHeaders: undefined,

      path: '/Mitsubishi.Wifi.Client//User/ListDevices',

      _ended: true,

      res: [IncomingMessage],

      aborted: false,

      timeoutCb: null,

      upgradeOrConnect: false,

      parser: null,

      maxHeadersCount: null,

      reusedSocket: true,

      host: 'app.melcloud.com',

      protocol: 'https:',

      _redirectable: [Writable],

      [Symbol(shapeMode)]: false,

      [Symbol(kCapture)]: false,

      [Symbol(kBytesWritten)]: 0,

      [Symbol(kNeedDrain)]: false,

      [Symbol(corked)]: 0,

      [Symbol(kChunkedBuffer)]: [],

      [Symbol(kChunkedLength)]: 0,

      [Symbol(kSocket)]: [TLSSocket],

      [Symbol(kOutHeaders)]: [Object: null prototype],

      [Symbol(errored)]: null,

      [Symbol(kHighWaterMark)]: 65536,

      [Symbol(kRejectNonStandardBodyWrites)]: false,

      [Symbol(kUniqueHeaders)]: null

    },

    data: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r\n' +

      '<html xmlns="http://www.w3.org/1999/xhtml">\r\n' +

      '<head>\r\n' +

      '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>\r\n' +

      '<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>\r\n' +

      '<style type="text/css">\r\n' +

      '<!--\r\n' +

      'body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}\r\n' +

      'fieldset{padding:0 15px 10px 15px;} \r\n' +

      'h1{font-size:2.4em;margin:0;color:#FFF;}\r\n' +

      'h2{font-size:1.7em;margin:0;color:#CC0000;} \r\n' +

      'h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} \r\n' +

      '#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;\r\n' +

      'background-color:#555555;}\r\n' +

      '#content{margin:0 0 0 2%;position:relative;}\r\n' +

      '.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}\r\n' +

      '-->\r\n' +

      '</style>\r\n' +

      '</head>\r\n' +

      '<body>\r\n' +

      '<div id="header"><h1>Server Error</h1></div>\r\n' +

      '<div id="content">\r\n' +

      ' <div class="content-container"><fieldset>\r\n' +

      '  <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>\r\n' +

      '  <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>\r\n' +

      ' </fieldset></div>\r\n' +

      '</div>\r\n' +

      '</body>\r\n' +

      '</html>\r\n'

  }

}

Und eine kleine Frage, aber warum gibt es eine Verbindung mit Tuya und Axios (das ich nicht kenne)?

EDIT: kleine Präzisierung, ich verwende Melcloud Home und nicht das alte Melcloud.
EDIT 2: laut Claude ist das das Problem, weil Gladys app.melcloud.com verwendet und ich bin auf melcloudhome.com. Argh :frowning:
EDIT 3: Ich habe gerade ein Issue auf GitHub mit Claude erstellt: MELCloud integration incompatible with MELCloud Home (melcloudhome.com) · Issue #2532 · GladysAssistant/Gladys · GitHub

Mal sehen, was die Fabrik dazu sagt, aber ich frage mich, ob es nicht ein neues Plugin geben sollte :slight_smile:

Guten Abend @mutmut. Ich habe seit Januar eine Mitsubishi PaC installiert. Ich konnte sie nicht mit der Integration in Gladys verbinden, und Pierre-Gilles hatte mir gesagt, dass das an der Differenz zwischen PaC Luft-Luft und Luft-Wasser liegt. Seitdem habe ich es mit Node-Red geschafft. Es geht um dieses Thema: Intégration MELCloud : PaC non prise en charge. A ajouter?

Und ich habe wie du am Anfang meine PaC auf das neue MEL Cloud verbunden, da mir die Oberfläche der App vollständiger oder zumindest moderner (= weniger hässlich) erschien. Aber mit diesem Cloud-Mail gibt es keine verfügbare API! Zumindest noch nicht… Also zurück zum alten MEL Cloud, das über eine API verfügt. Und damit zur hässlichen App, die ich aber eigentlich nicht benutze, da ich von Gladys aus steuere.

Danke @StephaneB! Ich denke, ich werde zum alten System zurückkehren.

Es ist trotzdem verrückt, wie diese Hersteller alles tun, um ihre Systeme zu verriegeln. Man braucht nur Daikin anzusehen, das man früher lokal steuern konnte, bevor ihre Cloud-Lösung Onecta kam.
Das ist wirklich eine Plage :weary_face:

Eine andere Lösung, die ich mir ansehen werde, aber etwas technischer, ist, alles lokal mit einem ESP zu betreiben. Ich muss die Informationen dazu allerdings erst wiederfinden.

Zur Info, das Melcloud-Plugin stammt aus den Anfängen der Plugin-Fabrik, und seitdem hat sich diese stark weiterentwickelt.
Daher basierte das Plugin auf alten Mechanismen, die bereits behobene Fehler wieder einführen konnten.

Ich habe das Ticket geschlossen, um mit etwas Saubererem neu zu beginnen. Ich denke, es wäre am besten, ein neues zu erstellen :+1:

Es gibt auch viele Melcloud-Plugins auf der Homebridge-Seite, die als interessante Inspiration dienen können. Allerdings sind sie noch nicht für Matter angepasst :slight_smile: