{
  "index_format": 1,
  "generated_at": "2026-07-23T09:32:18.689Z",
  "integrations": [
    {
      "store_slug": "cicoub13/gladys-tp-link",
      "repo_url": "https://github.com/cicoub13/gladys-tp-link",
      "manifest": {
        "manifest_version": 1,
        "type": "device",
        "name": "TP-Link Kasa",
        "description": {
          "en": "Control your TP-Link Kasa smart plugs, switches and bulbs over your local network.",
          "fr": "Contrôlez vos prises, interrupteurs et ampoules TP-Link Kasa sur votre réseau local."
        },
        "version": "1.0.1",
        "docker_image": "ghcr.io/cicoub13/gladys-tp-link:1.0.1",
        "gladys_version": ">=4.62.0",
        "cover_image": "https://raw.githubusercontent.com/cicoub13/gladys-tp-link/main/cover.png",
        "transports": [
          "local"
        ],
        "config_schema": [
          {
            "key": "device_ips",
            "type": "string",
            "label": {
              "en": "Device IP addresses",
              "fr": "Adresses IP des appareils"
            },
            "description": {
              "en": "Comma or space separated list of TP-Link device IP addresses. Recommended: the integration runs in an isolated container that reaches devices by IP, but usually cannot receive LAN broadcast discovery.",
              "fr": "Liste d'adresses IP d'appareils TP-Link, séparées par des virgules ou des espaces. Recommandé : l'intégration s'exécute dans un conteneur isolé qui joint les appareils par IP, mais ne reçoit généralement pas la découverte par diffusion réseau."
            },
            "placeholder": {
              "en": "192.168.1.20, 192.168.1.21",
              "fr": "192.168.1.20, 192.168.1.21"
            },
            "required": false
          },
          {
            "key": "poll_frequency",
            "type": "select",
            "label": {
              "en": "Refresh interval",
              "fr": "Intervalle de rafraîchissement"
            },
            "description": {
              "en": "How often each device is polled to refresh its state.",
              "fr": "Fréquence d'interrogation de chaque appareil pour rafraîchir son état."
            },
            "required": false,
            "default": "60",
            "options": [
              {
                "value": "1",
                "label": {
                  "en": "Every second",
                  "fr": "Toutes les secondes"
                }
              },
              {
                "value": "2",
                "label": {
                  "en": "Every 2 seconds",
                  "fr": "Toutes les 2 secondes"
                }
              },
              {
                "value": "10",
                "label": {
                  "en": "Every 10 seconds",
                  "fr": "Toutes les 10 secondes"
                }
              },
              {
                "value": "15",
                "label": {
                  "en": "Every 15 seconds",
                  "fr": "Toutes les 15 secondes"
                }
              },
              {
                "value": "30",
                "label": {
                  "en": "Every 30 seconds",
                  "fr": "Toutes les 30 secondes"
                }
              },
              {
                "value": "60",
                "label": {
                  "en": "Every minute",
                  "fr": "Toutes les minutes"
                }
              }
            ]
          }
        ],
        "actions": [
          {
            "key": "test_device",
            "label": {
              "en": "Test a device by IP",
              "fr": "Tester un appareil par IP"
            },
            "timeout_seconds": 20,
            "fields": [
              {
                "key": "ip",
                "type": "string",
                "label": {
                  "en": "IP address",
                  "fr": "Adresse IP"
                },
                "placeholder": {
                  "en": "192.168.1.20",
                  "fr": "192.168.1.20"
                },
                "required": true
              }
            ]
          }
        ]
      },
      "cover_url": "https://integration-store-storage.gladysassistant.com/covers/cicoub13--gladys-tp-link.jpg",
      "github": {
        "stars": 0,
        "pushed_at": "2026-07-22T13:39:50Z",
        "owner_avatar_url": "https://avatars.githubusercontent.com/u/1773153?v=4"
      }
    },
    {
      "store_slug": "GladysAssistant/gladys-melcloud",
      "repo_url": "https://github.com/GladysAssistant/gladys-melcloud",
      "manifest": {
        "manifest_version": 1,
        "type": "device",
        "name": "MELCloud",
        "description": {
          "en": "Control your Mitsubishi Electric air conditioners through the MELCloud cloud service.",
          "fr": "Contrôlez vos climatiseurs Mitsubishi Electric via le service cloud MELCloud."
        },
        "version": "1.0.2",
        "docker_image": "ghcr.io/gladysassistant/gladys-melcloud:1.0.2",
        "gladys_version": ">=4.62.0",
        "cover_image": "https://raw.githubusercontent.com/GladysAssistant/gladys-melcloud/master/cover.jpg",
        "config_schema": [
          {
            "key": "username",
            "type": "string",
            "label": {
              "en": "MELCloud email",
              "fr": "E-mail MELCloud"
            },
            "description": {
              "en": "The email address of your MELCloud account.",
              "fr": "L'adresse e-mail de votre compte MELCloud."
            },
            "placeholder": {
              "en": "user@example.com",
              "fr": "utilisateur@exemple.fr"
            },
            "required": true
          },
          {
            "key": "password",
            "type": "secret",
            "label": {
              "en": "MELCloud password",
              "fr": "Mot de passe MELCloud"
            },
            "description": {
              "en": "The password of your MELCloud account.",
              "fr": "Le mot de passe de votre compte MELCloud."
            },
            "placeholder": {
              "en": "••••••••",
              "fr": "••••••••"
            },
            "required": true
          }
        ]
      },
      "cover_url": "https://integration-store-storage.gladysassistant.com/covers/GladysAssistant--gladys-melcloud.jpg",
      "github": {
        "stars": 0,
        "pushed_at": "2026-07-20T12:32:26Z",
        "owner_avatar_url": "https://avatars.githubusercontent.com/u/7365162?v=4"
      }
    },
    {
      "store_slug": "Terdious/gladys-netatmo",
      "repo_url": "https://github.com/Terdious/gladys-netatmo",
      "manifest": {
        "manifest_version": 1,
        "type": "device",
        "name": "Netatmo",
        "description": {
          "en": "Connect your Netatmo devices (weather station, thermostats, cameras) to Gladys Assistant.",
          "fr": "Connectez vos appareils Netatmo (station météo, thermostats, caméras) à Gladys Assistant."
        },
        "version": "1.0.1",
        "docker_image": "ghcr.io/terdious/gladys-netatmo:1.0.1",
        "gladys_version": ">=4.62.0",
        "cover_image": "https://raw.githubusercontent.com/Terdious/gladys-netatmo/master/cover.png",
        "config_schema": [
          {
            "key": "client_id",
            "type": "string",
            "label": {
              "en": "Netatmo application client id",
              "fr": "Identifiant client de l'application Netatmo"
            },
            "description": {
              "en": "The client id of the application created on dev.netatmo.com (Netatmo Connect).",
              "fr": "L'identifiant client de l'application créée sur dev.netatmo.com (Netatmo Connect)."
            },
            "required": true
          },
          {
            "key": "client_secret",
            "type": "secret",
            "label": {
              "en": "Netatmo application client secret",
              "fr": "Secret client de l'application Netatmo"
            },
            "description": {
              "en": "The client secret of the application created on dev.netatmo.com (Netatmo Connect).",
              "fr": "Le secret client de l'application créée sur dev.netatmo.com (Netatmo Connect)."
            },
            "required": true
          },
          {
            "key": "netatmo_account",
            "type": "oauth2",
            "label": {
              "en": "Netatmo account",
              "fr": "Compte Netatmo"
            },
            "description": {
              "en": "Sign in with your Netatmo account to authorize Gladys to access your devices.",
              "fr": "Connectez-vous avec votre compte Netatmo pour autoriser Gladys à accéder à vos appareils."
            },
            "required": true
          },
          {
            "key": "energy_api",
            "type": "boolean",
            "label": {
              "en": "Energy devices (thermostats, valves)",
              "fr": "Appareils Énergie (thermostats, vannes)"
            },
            "description": {
              "en": "Discover the Netatmo Energy devices: thermostats, relay plugs and radiator valves.",
              "fr": "Découvrir les appareils Netatmo Énergie : thermostats, relais et vannes de radiateur."
            },
            "required": false,
            "default": true
          },
          {
            "key": "weather_api",
            "type": "boolean",
            "label": {
              "en": "Weather devices (stations and modules)",
              "fr": "Appareils Météo (stations et modules)"
            },
            "description": {
              "en": "Discover the Netatmo Weather devices: stations, outdoor, wind, rain and indoor modules.",
              "fr": "Découvrir les appareils Netatmo Météo : stations, modules extérieur, vent, pluie et intérieur."
            },
            "required": false,
            "default": true
          },
          {
            "key": "security_api",
            "type": "boolean",
            "label": {
              "en": "Security devices (cameras)",
              "fr": "Appareils Sécurité (caméras)"
            },
            "description": {
              "en": "Discover the Netatmo Security devices: indoor (NACamera) and outdoor (NOC) cameras.",
              "fr": "Découvrir les appareils Netatmo Sécurité : caméras intérieure (NACamera) et extérieure (NOC)."
            },
            "required": false,
            "default": false
          },
          {
            "key": "camera_quality",
            "type": "select",
            "label": {
              "en": "Camera live stream quality",
              "fr": "Qualité du flux vidéo des caméras"
            },
            "description": {
              "en": "Quality of the camera live stream (per-camera override via the camera_quality device param).",
              "fr": "Qualité du flux vidéo des caméras (surcharge par caméra via le paramètre camera_quality)."
            },
            "required": false,
            "default": "high",
            "options": [
              {
                "value": "poor",
                "label": {
                  "en": "Poor",
                  "fr": "Basse"
                }
              },
              {
                "value": "low",
                "label": {
                  "en": "Low",
                  "fr": "Faible"
                }
              },
              {
                "value": "medium",
                "label": {
                  "en": "Medium",
                  "fr": "Moyenne"
                }
              },
              {
                "value": "high",
                "label": {
                  "en": "High",
                  "fr": "Haute"
                }
              }
            ]
          }
        ]
      },
      "cover_url": "https://integration-store-storage.gladysassistant.com/covers/Terdious--gladys-netatmo.png",
      "github": {
        "stars": 0,
        "pushed_at": "2026-07-22T13:47:57Z",
        "owner_avatar_url": "https://avatars.githubusercontent.com/u/35010958?v=4"
      }
    },
    {
      "store_slug": "Terdious/gladys-tuya",
      "repo_url": "https://github.com/Terdious/gladys-tuya",
      "manifest": {
        "manifest_version": 1,
        "type": "device",
        "name": "Tuya",
        "description": {
          "en": "Tuya / Smart Life sockets, meters, ACs and pilot-wire heaters, cloud + optional local control.",
          "fr": "Prises, compteurs, clims et fil pilote Tuya / Smart Life, cloud + contrôle local optionnel."
        },
        "version": "1.5.0",
        "docker_image": "ghcr.io/terdious/gladys-tuya:1.5.0",
        "gladys_version": ">=4.62.0",
        "cover_image": "https://raw.githubusercontent.com/Terdious/gladys-tuya/master/cover.png",
        "network_discovery": [
          {
            "type": "udp-broadcast",
            "ports": [
              6666,
              6667,
              7000
            ]
          }
        ],
        "transports": [
          "local",
          "cloud"
        ],
        "actions": [
          {
            "key": "detect_protocol",
            "label": {
              "en": "Detect local protocol (manual IP)",
              "fr": "Détecter le protocole local (IP manuelle)"
            },
            "description": {
              "en": "For a device the LAN scan did not find: enter its IP to detect the local protocol version and enable local mode.",
              "fr": "Pour un appareil non trouvé par le scan LAN : saisissez son IP pour détecter la version de protocole locale et activer le mode local."
            },
            "timeout_seconds": 60,
            "fields": [
              {
                "key": "device",
                "type": "string",
                "label": {
                  "en": "Device (name or Tuya ID)",
                  "fr": "Appareil (nom ou identifiant Tuya)"
                },
                "description": {
                  "en": "The device name as shown in Gladys, or its Tuya ID.",
                  "fr": "Le nom de l'appareil tel qu'affiché dans Gladys, ou son identifiant Tuya."
                },
                "required": true
              },
              {
                "key": "ip",
                "type": "string",
                "label": {
                  "en": "Device IP address",
                  "fr": "Adresse IP de l'appareil"
                },
                "required": true
              }
            ]
          },
          {
            "key": "disconnect",
            "label": {
              "en": "Disconnect from the Tuya cloud",
              "fr": "Se déconnecter du cloud Tuya"
            },
            "description": {
              "en": "Stop talking to the Tuya cloud (local sessions are released too). Save the configuration to reconnect.",
              "fr": "Coupe la connexion au cloud Tuya (les sessions locales sont aussi libérées). Enregistrez la configuration pour vous reconnecter."
            },
            "timeout_seconds": 30,
            "fields": []
          }
        ],
        "config_schema": [
          {
            "key": "endpoint",
            "type": "select",
            "label": {
              "en": "Endpoint",
              "fr": "Endpoint"
            },
            "description": {
              "en": "Tuya data center region of your cloud project.",
              "fr": "Région du data center Tuya de votre projet cloud."
            },
            "required": true,
            "options": [
              {
                "value": "china",
                "label": {
                  "en": "China",
                  "fr": "China"
                }
              },
              {
                "value": "westernAmerica",
                "label": {
                  "en": "Western America",
                  "fr": "Western America"
                }
              },
              {
                "value": "easternAmerica",
                "label": {
                  "en": "Eastern America",
                  "fr": "Eastern America"
                }
              },
              {
                "value": "centralEurope",
                "label": {
                  "en": "Central Europe",
                  "fr": "Central Europe"
                }
              },
              {
                "value": "westernEurope",
                "label": {
                  "en": "Western Europe",
                  "fr": "Western Europe"
                }
              },
              {
                "value": "india",
                "label": {
                  "en": "India",
                  "fr": "India"
                }
              }
            ]
          },
          {
            "key": "access_key",
            "type": "string",
            "label": {
              "en": "Client ID",
              "fr": "Client ID"
            },
            "description": {
              "en": "Access ID / Client ID of your Tuya IoT cloud project.",
              "fr": "Access ID / Client ID de votre projet cloud Tuya IoT."
            },
            "required": true
          },
          {
            "key": "secret_key",
            "type": "secret",
            "label": {
              "en": "Client Secret",
              "fr": "Client Secret"
            },
            "description": {
              "en": "Access Secret / Client Secret of your Tuya IoT cloud project.",
              "fr": "Access Secret / Client Secret de votre projet cloud Tuya IoT."
            },
            "required": true
          },
          {
            "key": "app_account_id",
            "type": "string",
            "label": {
              "en": "App account UID",
              "fr": "App account User ID"
            },
            "description": {
              "en": "UID of the Smart Life / Tuya app account linked to your cloud project.",
              "fr": "UID du compte de l'application Smart Life / Tuya lié à votre projet cloud."
            },
            "required": true
          },
          {
            "key": "pulsar_enabled",
            "type": "boolean",
            "label": {
              "en": "Real-time cloud events (Pulsar)",
              "fr": "Événements cloud en temps réel (Pulsar)"
            },
            "description": {
              "en": "Instant cloud state feedback via the Tuya Message Service. Requires 'Message Service' enabled on your Tuya IoT project.",
              "fr": "Retour d'état cloud instantané via le Tuya Message Service. Nécessite 'Message Service' activé sur votre projet Tuya IoT."
            },
            "required": false
          }
        ]
      },
      "cover_url": "https://integration-store-storage.gladysassistant.com/covers/Terdious--gladys-tuya.png",
      "github": {
        "stars": 0,
        "pushed_at": "2026-07-22T12:13:24Z",
        "owner_avatar_url": "https://avatars.githubusercontent.com/u/35010958?v=4"
      }
    }
  ]
}
