1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["2334"],{62589(e,t,r){r.r(t),r.d(t,{metadata:()=>a,default:()=>p,frontMatter:()=>i,contentTitle:()=>l,toc:()=>d,assets:()=>u});var a=JSON.parse('{"id":"integrations/external/enki","title":"Enki integration for Gladys Assistant","description":"Control your Enki (Leroy Merlin) lights and ceiling fans from Gladys, via the Enki cloud. Free, open source, installable in one click.","source":"@site/docs/integrations/external/enki.mdx","sourceDirName":"integrations/external","slug":"/integrations/external/enki","permalink":"/docs/integrations/external/enki","draft":false,"unlisted":false,"editUrl":null,"tags":[],"version":"current","lastUpdatedAt":1790014509000,"frontMatter":{"title":"Enki integration for Gladys Assistant","sidebar_label":"Enki","description":"Control your Enki (Leroy Merlin) lights and ceiling fans from Gladys, via the Enki cloud. Free, open source, installable in one click.","image":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-enki.png","keywords":["enki","gladys enki","enki gladys assistant","external integration","open source home automation"],"custom_edit_url":null},"sidebar":"docs","previous":{"title":"ecojoko","permalink":"/docs/integrations/external/ecojoko"},"next":{"title":"Enphase IQ Gateway","permalink":"/docs/integrations/external/enphase-iq-gateway"}}'),s=r(74848),n=r(28453),o=r(89157);let i={title:"Enki integration for Gladys Assistant",sidebar_label:"Enki",description:"Control your Enki (Leroy Merlin) lights and ceiling fans from Gladys, via the Enki cloud. Free, open source, installable in one click.",image:"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-enki.png",keywords:["enki","gladys enki","enki gladys assistant","external integration","open source home automation"],custom_edit_url:null},l,u={},d=[{value:"Overview",id:"overview",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Credits",id:"credits",level:2},{value:"Configuration settings",id:"configuration-settings",level:2},{value:"How to install Enki in Gladys",id:"how-to-install-enki-in-gladys",level:2},{value:"About external integrations",id:"about-external-integrations",level:2}];function c(e){let t={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:["\n","\n",(0,s.jsx)(o.A,{slug:"enki"}),"\n",(0,s.jsx)(t.h2,{id:"overview",children:"Overview"}),"\n",(0,s.jsxs)(t.p,{children:["This integration connects Gladys Assistant to the ",(0,s.jsx)(t.strong,{children:"Enki"})," cloud (the smart\nhome ecosystem sold by ",(0,s.jsx)(t.strong,{children:"Leroy Merlin"})," / Adeo) to control your Enki devices \u2014\n",(0,s.jsx)(t.strong,{children:"lights, ceiling fans, outlets, roller shutters and sensors"})," \u2014 from Gladys,\nusing the same account as the Enki mobile app."]}),"\n",(0,s.jsxs)(t.p,{children:["Once configured, every compatible device of your Enki account appears in the\nGladys ",(0,s.jsx)(t.strong,{children:"Discovery"})," screen. Depending on the device, it exposes these features:"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Light"})," \u2014 turn the bulb (or the fan's light kit) on or off;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Brightness"})," \u2014 dim the light between 0 and 100 %, when the bulb is dimmable;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Color temperature"})," \u2014 warm-to-cold white, when the bulb is tunable-white;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Color"})," \u2014 RGB color, when the bulb supports it;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Fan speed"})," \u2014 the ceiling fan speed from 0 (off) to 100 % (Enki levels 1\u20136);"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Airflow direction"})," \u2014 forward / reverse blade rotation, when supported;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Outlet"})," \u2014 on/off for connected sockets and relays;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Roller shutter"})," \u2014 position from 0 (closed) to 100 % (open), plus stop;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Sensors"})," \u2014 temperature, humidity, illuminance, motion, opening/contact,\nwater leak and low-battery, when the device reports them;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Heating"})," \u2014 target temperature (radiators/thermostats) and pilot-wire mode\n(comfort / eco / frost-protection / off), plus the current temperature."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Detection is ",(0,s.jsx)(t.strong,{children:"capability-based"}),", so most Enki / Leroy Merlin models work\nout of the box (arou
1nd 150 of the ~210 catalogued models). A ceiling fan with a\nlight kit shows both the fan and the light features on the same device, and a\nmultisensor shows every reading it provides. States are refreshed every 15\nseconds, so changes made from the Enki app or a physical remote show up in\nGladys shortly after."]}),"\n",(0,s.jsx)(t.p,{children:"Sirens, cameras and energy metering are not handled yet."}),"\n",(0,s.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["An ",(0,s.jsx)(t.strong,{children:"Enki account"})," with your devices already ",(0,s.jsx)(t.strong,{children:"paired and visible in the Enki\nmobile app"}),". This integration does not replace Enki pairing: set the devices\nup in the Enki app first."]}),"\n",(0,s.jsx)(t.li,{children:"Internet access from your Gladys instance: the integration talks to the Enki\ncloud, not to the devices directly."}),"\n",(0,s.jsxs)(t.li,{children:["Only ",(0,s.jsx)(t.strong,{children:"Enki / Leroy Merlin"})," lights and ceiling fans are handled. Third-party\nZigbee devices paired on the Enki hub are out of scope (use Zigbee2MQTT / ZHA)."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:"Install the integration from the Gladys store."}),"\n",(0,s.jsxs)(t.li,{children:["Open its ",(0,s.jsx)(t.strong,{children:"Configuration"})," screen and fill in:","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Enki email"})," \u2014 the email address of your Enki account;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Enki password"})," \u2014 the password of that account (stored as a secret,\nnever displayed back)."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:"Save. The integration logs in to Enki and loads your devices."}),"\n",(0,s.jsxs)(t.li,{children:["Open the ",(0,s.jsx)(t.strong,{children:"Discovery"})," screen: your lights and fans are listed there. Add the\nones you want, then place them in your rooms and dashboards like any Gladys\ndevice."]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"To use another Enki account later, just update the email and password in the\nConfiguration screen: the integration reconnects and refreshes the device list\nautomatically."}),"\n",(0,s.jsx)(t.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:'"Enki is not configured" during discovery'})," \u2014 the email or password is\nmissing: fill in both fields in the Configuration screen and save."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Login fails"})," \u2014 double-check your credentials by signing in with the Enki\nmobile app."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"A device is missing from Discovery"})," \u2014 make sure it is a Leroy Merlin / Enki\nlight or ceiling fan and that it is visible in the Enki app with the same\naccount, then run the discovery again."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Commands seem ignored"})," \u2014 the Enki cloud can take a few seconds to push a\ncommand to the device; the state in Gladys reflects the cloud state and\ncatches up at the next 15-second poll."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"States stop updating"})," \u2014 the Enki session may have expired; the integration\nrefreshes its token automatically. If the problem persists, check the\nintegration logs from its configuration page in Gladys."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"credits",children:"Credits"}),"\n",(0,s.jsxs)(t.p,{children:["The Enki cloud API is unofficial and was documented by the community Home\nAssistant integrations\n(",(0,s.jsx)(t.a,{href:"https://github.com/cyrilcolinet/enki-integration-hass",children:"cyrilcolinet"}),",\n",(0,s.jsx)(t.a,{href:"https://github.com/clamoriniere/homeassistant-enki-integration",children:"clamoriniere"}),").\nThis integration is not affiliated with Leroy Merlin, Adeo or Enki."]}),"\n",(0,s.jsx)(t.h2,{id:"configuration-settings",children:"Configuration settings"}),"\n",(0,s.jsx)(t.p,{children:"These are the settings Enki asks for in its configuration screen in Gladys."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Setting"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Required"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Enki email"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"The email address of your Enki account (the one used in the Enki mobile app)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Enki password"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"secret"})}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"The password of your Enki account."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"how-to-install-enki-in-gladys",children:"How to install Enki in Gladys"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["In Gladys, open ",(0,s.jsx)(t.strong,{children:"Integrations"}),": Enki appears in the catalog, next to the native integrations, with a community badge."]}),"\n",(0,s.jsxs)(t.li,{children:["Click ",(0,s.jsx)(t.strong,{children:"Install"}),". Gladys pulls the Docker image (",(0,s.jsx)(t.code,{children:"ghcr.io/callemand/gladys-enki:1.0.1"}),"), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration)."]}),"\n",(0,s.jsxs)(t.li,{children:["Open the ",(0,s.jsx)(t.strong,{children:"Configuration"})," screen of the integration, fill in the settings, and save."]}),"\n",(0,s.jsxs)(t.li,{children:["You can also install it directly from its repository URL: ",(0,s.jsx)(t.a,{href:"https://github.com/callemand/gladys-enki",children:"https://github.com/callemand/gladys-enki"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Enki requires Gladys ",(0,s.jsx)(t.code,{children:">=4.62.0"}),". The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release."]}),"\n",(0,s.jsxs)(t.p,{children:["Not running Gladys yet? It is free and open source: ",(0,s.jsx)(t.a,{href:"/docs/",children:"follow the installation guide"})," to get started."]}),"\n",(0,s.jsx)(t.h2,{id:"about-external-integrations",children:"About external integrations"}),"\n",(0,s.jsxs)(t.p,{children:["Enki is an ",(0,s.jsx)(t.strong,{children:"external integration"}),": a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs
1in a sandbox isolated from its core. It is published and maintained by ",(0,s.jsx)(t.a,{href:"https://github.com/callemand",children:"callemand"}),", not by the Gladys core team."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/integrations/external/",children:"Browse all external integrations"})}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/docs/integrations/",children:"Discover the native integrations"})," built into Gladys"]}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/docs/dev/external-integrations/",children:"Build and publish your own external integration"})}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/callemand/gladys-enki",children:"Source code on GitHub"})," \u2014 ",(0,s.jsx)(t.a,{href:"https://github.com/callemand/gladys-enki/blob/HEAD/docs/en.md",children:"source of this documentation"})]}),"\n"]})]})}function p(e={}){let{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},89157(e,t,r){r.d(t,{A:()=>c});var a=r(74848),s=r(96540),n=r(25863),o=r(33553),i=r(19087),l=r(56347),u=r(1647),d=r(19706);let c=function({slug:e}){let{siteConfig:{url:t},i18n:{currentLocale:r}}=(0,i.A)(),{pathname:c}=(0,l.zy)(),p=d.G.find(t=>t.slug===e),[m,h]=(0,s.useState)(null);if((0,s.useEffect)(()=>{p&&p.pushed_at&&h(new Date(p.pushed_at).toLocaleDateString(r,{dateStyle:"long"}))},[p,r]),!p)return null;let f=p.description[r]||p.description.en,y=p.store_slug.split("/")[0],v="en"===r?"/docs/integrations/external/":`/${r}/docs/integrations/external/`,g={"@context":"https://schema.org","@type":"SoftwareApplication",name:`${p.name} integration for Gladys Assistant`,description:f,applicationCategory:"HomeAutomationApplication",applicationSubCategory:"Gladys Assistant external integration",operatingSystem:"Docker, Linux",softwareVersion:p.version,url:`${t}${c}`,image:p.cover_url,codeRepository:p.repo_url,isAccessibleForFree:!0,offers:{"@type":"Offer",price:"0",priceCurrency:"EUR"},author:{"@type":"Person",name:y,url:`https://github.com/${y}`},isPartOf:{"@type":"SoftwareApplication",name:"Gladys Assistant",url:t}};return(0,a.jsxs)("div",{className:"header_FyxS",children:[(0,a.jsx)(u.A,{data:g}),(0,a.jsx)("img",{src:p.cover_url,alt:(0,o.T)({id:"externalIntegration.coverAlt",message:"{name} integration for Gladys Assistant",description:"Alt text of the cover image of an external integration"},{name:p.name}),className:"cover_tnc2"}),(0,a.jsxs)("div",{className:"content_YJJl",children:[(0,a.jsx)("p",{className:"description_Py7M",children:f}),(0,a.jsxs)("ul",{className:"meta_L40z",children:[(0,a.jsxs)("li",{children:[p.owner_avatar_url&&(0,a.jsx)("img",{src:p.owner_avatar_url,alt:"",className:"avatar_G0XR"}),(0,a.jsx)(n.A,{to:`https://github.com/${y}`,children:(0,a.jsx)(o.A,{id:"externalIntegration.publishedBy",description:"Author line on an external integration page",values:{owner:y},children:"Published by {owner}"})})]}),(0,a.jsx)("li",{children:"communication"===p.type?(0,a.jsx)("span",{className:"badge badge--info",children:(0,a.jsx)(o.A,{id:"externalIntegrations.typeCommunication",children:"Messaging"})}):(0,a.jsx)("span",{className:"badge badge--secondary",children:(0,a.jsx)(o.A,{id:"externalIntegrations.typeDevice",children:"Devices"})})}),(0,a.jsx)("li",{children:(0,a.jsx)(o.A,{id:"externalIntegration.version",description:"Current version of an external integration",values:{version:p.version},children:"Version {version}"})}),(0,a.jsx)("li",{children:(0,a.jsx)(o.A,{id:"externalIntegration.requires",description:"Minimum Gladys version required by an external integration",values:{version:p.gladys_version},children:"Requires Gladys {version}"})}),(0,a.jsxs)("li",{title:"GitHub stars",children:["\u2605 ",p.stars]}),m&&(0,a.jsx)("li",{children:(0,a.jsx)(o.A,{id:"externalIntegration.updatedAt",description:"Date of the last update of an external integration",values:{date:m},children:"Updated on {date}"})})]}),(0,a.jsxs)("div",{className:"actions_cQSF",children:[(0,a.jsx)(n.A,{className:"button button--primary",to:p.repo_url,rel:"noopener",children:(0,a.jsx)(o.A,{id:"externalIntegrations.viewOnGitHub",children:"View on GitHub"})}),(0,a.jsx)(n.A,{className:"button button--secondary",to:v,children:(0,a.jsx)(o.A,{id:"externalIntegration.browseCatalog",description:"Link back to the external integrations catalog",children:"All external integrations"})})]})]})]})}},1647(e,t,r){r.d(t,{A:()=>n});var a=r(74848);r(96540);var s=r(83405);function n({data:e}){return(0,a.jsx)(s.A,{children:(0,a.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}},28453(e,t,r){r.d(t,{R:()=>o,x:()=>i});var a=r(96540);let s={},n=a.createContext(s);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},19706(e){e.exports=JSON.parse('{"c":"2026-09-14T04:48:20.872Z","G":[{"slug":"apple-tv","store_slug":"valentinhttr/gladys-apple-tv","repo_url":"https://github.com/valentinhttr/gladys-apple-tv","name":"Apple TV","type":"device","version":"1.2.1","description":{"en":"Control your Apple TV: power, remote, playback, volume and applications.","fr":"Contr\xf4lez votre Apple TV : alimentation, t\xe9l\xe9commande, lecture, volume et applications."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/valentinhttr--gladys-apple-tv.jpg","docker_image":"ghcr.io/valentinhttr/gladys-apple-tv:1.2.1","gladys_version":">=5.0.0","config_schema":[{"key":"how_it_works","type":"section","label":{"en":"Setting up your Ap
1ple TV, step by step","fr":"Configurer votre Apple TV, \xe9tape par \xe9tape"},"description":{"en":"An Apple TV has to be added AND paired before a single command works. Three steps, in this order. 1) Discovery tab: press \\"Scan\\", wait, then press \\"Add to Gladys\\" on your Apple TV. It now exists in Gladys, but obeys nothing yet. 2) Back on this page, at the bottom: run \\"1. Pair an Apple TV\\" and pick it from the list \u2014 no IP address to look up. A code appears on your television; type it in \\"2. Enter the code\\". Apple asks for one code per protocol, so a second code follows: clear the field and type the new one in its place. 3) Discovery tab again: press \\"Update\\" on your Apple TV to pick up the volume control and the application shortcuts that the pairing revealed.","fr":"Une Apple TV doit \xeatre ajout\xe9e ET appair\xe9e avant que la moindre commande fonctionne. Trois \xe9tapes, dans cet ordre. 1) Onglet D\xe9couverte : cliquez sur \xab Scanner \xbb, patientez, puis sur \xab Ajouter \xe0 Gladys \xbb sur votre Apple TV. Elle existe alors dans Gladys, mais n\'ob\xe9it encore \xe0 rien. 2) De retour sur cette page, tout en bas : lancez \xab 1. Appairer une Apple TV \xbb et choisissez-la dans la liste \u2014 aucune adresse IP \xe0 chercher. Un code s\'affiche sur votre t\xe9l\xe9viseur ; saisissez-le dans \xab 2. Saisir le code \xbb. Apple demande un code par protocole, un second code suit donc : effacez le champ et saisissez le nouveau \xe0 la place. 3) Onglet D\xe9couverte \xe0 nouveau : cliquez sur \xab Mettre \xe0 j
1our \xbb sur votre Apple TV pour r\xe9cup\xe9rer le volume et les raccourcis d\'applications r\xe9v\xe9l\xe9s par l\'appairage."},"links":[{"url":"https://pyatv.dev/documentation/supported_features/","label":{"en":"Features supported by pyatv","fr":"Fonctionnalit\xe9s prises en charge par pyatv"}}]},{"key":"discovery_settings","type":"section","label":{"en":"Finding your Apple TV","fr":"Trouver votre Apple TV"},"description":{"en":"These two settings only affect the scan of the Discovery tab. The defaults work on a normal home network: leave them alone unless a scan comes back empty.","fr":"Ces deux r\xe9glages ne concernent que le scan de l\'onglet D\xe9couverte. Les valeurs par d\xe9faut conviennent \xe0 un r\xe9seau domestique classique : n\'y touchez que si un scan ne trouve rien."}},{"key":"scan_timeout","type":"number","label":{"en":"Discovery duration (seconds)","fr":"Dur\xe9e de la recherche (secondes)"},"description":{"en":"How long Gladys listens for the Apple TV mDNS announcements. Increase it on a busy or slow network.","fr":"Dur\xe9e d\'\xe9coute des annonces mDNS de l\'Apple TV. \xc0 augmenter sur un r\xe9seau charg\xe9 ou lent."},"required":false,"default":8,"min":2,"max":25},{"key":"manual_hosts","type":"string","label":{"en":"Manual IPv4 addresses","fr":"Adresses IPv4 manuelles"},"description":{"en":"Optional, comma separated. Added to the addresses Gladys announces, never in place of them: this field cannot be used to restrict the scan to one Apple TV. Useful when automatic announcements do not reach Gladys but direct traffic still exits on the Apple TV\'s local subnet, as with some desktop Docker setups. An address alone does not enable discovery across routed VLANs.","fr":"Facultatif, s\xe9par\xe9es par des virgules. S\'ajoutent aux adresses annonc\xe9es \xe0 Gladys, jamais \xe0 leur place : ce champ ne permet pas de limiter la recherche \xe0 une seule Apple TV. Utile si les annonces automatiques n\'atteignent pas Gladys mais que le trafic direct sort toujours sur le r\xe9seau local de l\'Apple TV, comme avec certaines installations Docker de bureau. Une adresse seule ne permet pas la d\xe9couverte entre VLANs rout\xe9s."},"placeholder":{"en":"192.168.1.20, 192.168.1.21","fr":"192.168.1.20, 192.168.1.21"},"required":false,"default":""},{"key":"device_settings","type":"section","label":{"en":"What the device exposes","fr":"Ce que l\'appareil expose"},"description":{"en":"These settings shape the Gladys device itself. Changing one takes effect on the next \\"Update\\" you accept in the Discovery tab.","fr":"Ces r\xe9glages fa\xe7onnent l\'appareil Gladys lui-m\xeame. Une modification prend effet au prochain \xab Mettre \xe0 j
1our \xbb accept\xe9 dans l\'onglet D\xe9couverte."}},{"key":"poll_frequency","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"The Apple TV pushes what it can in real time. This interval reconciles what it does not push, typically the power state on some models.","fr":"L\'Apple TV pousse en temps r\xe9el ce qu\'elle peut. Cet intervalle r\xe9concilie ce qu\'elle ne pousse pas, g\xe9n\xe9ralement l\'\xe9tat d\'alimentation sur certains mod\xe8les."},"required":false,"default":"30000","options":[{"value":"10000","label":{"en":"10 seconds","fr":"10 secondes"}},{"value":"15000","label":{"en":"15 seconds","fr":"15 secondes"}},{"value":"30000","label":{"en":"30 seconds","fr":"30 secondes"}},{"value":"60000","label":{"en":"1 minute","fr":"1 minute"}}]},{"key":"enable_app_shortcuts","type":"boolean","label":{"en":"Application shortcuts","fr":"Raccourcis d\'applications"},"description":{"en":"Add one button per installed application to the device, so scenes can open Netflix or Disney+ directly. Read from the Apple TV after pairing.","fr":"Ajoute un bouton par application install\xe9e sur l\'appareil, pour ouvrir Netflix ou Disney+ directement depuis une sc\xe8ne. Lu sur l\'Apple TV apr\xe8s l\'appairage."},"required":false,"default":true},{"key":"max_app_shortcuts","type":"number","label":{"en":"Maximum number of shortcuts","fr":"Nombre maximum de raccourcis"},"description":{"en":"An Apple TV can have a hundred applications. This bound keeps the device readable.","fr":"Une Apple TV peut compter une centaine d\'applications. Cette limite garde l\'appareil lisible."},"required":false,"default":25,"min":0,"max":100},{"key":"actions_intro","type":"section","label":{"en":"Pairing and tools, with the buttons below","fr":"Appairage et outils, avec les boutons ci-dessous"},"description":{"en":"Everything below this line acts on an Apple TV you already added from the Discovery tab: pick it in the list, then press \\"Run\\". The first two buttons are the pairing itself and they go together \u2014 start with \\"1. Pair an Apple TV\\". The others are troubleshooting tools you will rarely need.","fr":"Tout ce qui suit agit sur une Apple TV d\xe9j\xe0 ajout\xe9e depuis l\'onglet D\xe9couverte : choisissez-la dans la liste, puis cliquez sur \xab Ex\xe9cuter \xbb. Les deux premiers boutons forment l\'appairage et vont ensemble \u2014 commencez par \xab 1. Appairer une Apple TV \xbb. Les autres sont des outils de d\xe9pannage dont vous n\'aurez presque jamais besoin."}}],"stars":1,"pushed_at":"2026-09-02T07:33:10Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20521112?v=4"},{"slug":"denon-marantz-avr","store_slug":"LM1LC3N7/gladys-denon-avr","repo_url":"https://github.com/LM1LC3N7/gladys-denon-avr","name":"Denon / Marantz AVR","type":"device","version":"1.0.18","description":{"en":"Control a Denon or Marantz AV receiver: power, volume, mute, source \u2014 auto-discovered, no cloud.","fr":"Contr\xf4lez un ampli Denon ou Marantz : alimentation, volume, muet, source \u2014 d\xe9couverte automatique."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/LM1LC3N7--gladys-denon-avr.png","docker_image":"ghcr.io/lm1lc3n7/gladys-denon-avr:1.0.18","gladys_version":">=4.86.1","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"Denon/Marantz AVRs are found automatically on the LAN (SSDP/UPnP) \u2014 open the Discovery tab and run a scan. Make sure \'Network Standby\' (or \'ECO\' network standby) is enabled in the receiver\'s setup menu so it stays reachable while off. If your network blocks multicast (VLANs...), fill in the manual IP below instead.","fr":"Les amplis Denon/Marantz sont d\xe9couverts automatiquement sur le r\xe9seau local (SSDP/UPnP) : ouvrez l\'onglet D\xe9couverte et lancez un scan. V\xe9rifiez que la \'veille r\xe9seau\' (ou \'ECO\') est activ\xe9e dans le menu de configuration de l\'ampli pour qu\'il reste joignable une fois \xe9teint. Si votre r\xe9seau bloque le multicast (VLAN...), renseignez plut\xf4t l\'IP manuelle ci-dessous."},"links":[{"url":"https://assets.denon.com/documentmaster/us/avr-4308ciserialprotocol_ver510a.pdf","label":{"en":"Denon AVR Control protocol reference","fr":"R\xe9f\xe9rence du protocole Denon AVR Control"}}]},{"key":"host","type":"string","label":{"en":"Manual IP/hostname (fallback)","fr":"IP/nom d\'h\xf4te manuel (secours)"},"description":{"en":"Only needed if the automatic scan does not find (all of) your receiver(s). Leave empty otherwise. Several networks/receivers: separate multiple addresses with commas, e.g. \\"192.168.1.50, 192.168.2.50\\".","fr":"Utile seulement si le scan automatique ne trouve pas (tous) vos amplis. Laissez vide sinon. Plusieurs r\xe9seaux/amplis : s\xe9parez les adresses par des virgules, ex. \xab 192.168.1.50, 192.168.2.50 \xbb."},"required":false,"default":""},{"key":"port","type":"number","label":{"en":"Telnet port (advanced)","fr":"Port Telnet (avanc\xe9)"},"description":{"en":"Every Denon/Marantz model uses 23. Change only for a non-standard setup.","fr":"Tous les mod\xe8les Denon/Marantz utilisent le port 23. \xc0 modifier seulement pour une configuration non standard."},"required":false,"default":23,"min":1,"max":65535},{"key":"reconnect_interval_seconds","type":"number","label":{"en":"Reconnect backoff base (s)","fr":"Base du d\xe9lai de reconnexion (s)"},"description":{"en":"Base delay before a Telnet reconnect attempt; it grows with consecutive failures, capped at 120 s.","fr":"D\xe9lai de base avant une tentative de reconnexion Telnet ; il augmente avec les \xe9checs cons\xe9cutifs, plafonn\xe9 \xe0 120 s."},"required":false,"default":10,"min":5,"max":120},{"key":"source_overrides","type":"string","label":{"en":"Rename/hide sources (advanced)","fr":"Renommer/masquer des sources (avanc\xe9)"},"description":{"en":"Customize the source dropdown: comma-separated CODE=Label pairs to rename an entry (e.g. \\"SAT/CBL=Chromecast\\" if that\'s what\'s actually plugged into that input), or CODE= (empty label) to hide one entirely, e.g. \\"SAT/CBL=Chromecast, GAME=\\". Codes are the ones listed under Select input. After changing this, re-run a Discovery scan and click Update on the device \u2014 a dropdown\'s choices are part of its structure, so a config change alone does not refresh it.","fr":"Personnalisez le menu d\xe9roulant des sources : liste de paires CODE=Label s\xe9par\xe9es par des virgules pour renommer une entr\xe9e (ex. \xab SAT/CBL=Chromecast \xbb si c\'est en r\xe9alit\xe9 ce qui est branch\xe9 sur cette entr\xe9e), ou CODE= (label vide) pour la masquer enti\xe8rement, ex. \xab SAT/CBL=Chromecast, GAME= \xbb. Les codes sont ceux list\xe9s dans l\'action S\xe9lectionner l\'entr\xe9e. Apr\xe8s une modification, relancez un scan D\xe9couverte et cliquez sur Mettre \xe0 j
1our sur l\'appareil \u2014 les choix d\'un menu d\xe9roulant font partie de sa structure, un simple changement de configuration ne le rafra\xeechit pas."},"required":false,"default":""}],"stars":1,"pushed_at":"2026-09-10T21:15:44Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/14235706?v=4"},{"slug":"grdf-gazpar","store_slug":"PhilippeMA/gladys-grdf","repo_url":"https://github.com/PhilippeMA/gladys-grdf","name":"GRDF Gazpar","type":"device","version":"1.1.8","description":{"en":"Reads the daily gas consumption of your GRDF Gazpar meter from your GRDF account.","fr":"Lit la consommation de gaz quotidienne de votre compteur Gazpar depuis votre compte GRDF."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/PhilippeMA--gladys-grdf.png","docker_image":"ghcr.io/philippema/gladys-grdf:1.1.8","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Before you start","fr":"Avant de commencer"},"description":{"en":"This integration signs in to your GRDF customer account, the same one you use on monespace.grdf.fr, and reads the daily readings of your Gazpar meter. GRDF publishes them one to two days late: nothing shows up in real time. Your account must not require an extra verification step at login.","fr":"Cette int\xe9gration se connecte \xe0 votre compte client GRDF, celui de monespace.grdf.fr, et lit les relev\xe9s quotidiens de votre compteur Gazpar. GRDF les publie avec un \xe0 deux jours de retard : rien n\'arrive en temps r\xe9el. Votre compte ne doit pas demander d\'\xe9tape de v\xe9rification suppl\xe9mentaire \xe0 la connexion."},"links":[{"url":"https://monespace.grdf.fr","label":{"en":"GRDF customer area","fr":"Espace client GRDF"}}]},{"key":"email","type":"string","label":{"en":"GRDF account email","fr":"E-mail du compte GRDF"},"description":{"en":"The email address you use to sign in on monespace.grdf.fr.","fr":"L\'adresse e-mail utilis\xe9e pour vous connecter sur monespace.grdf.fr."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"GRDF account password","fr":"Mot de passe du compte GRDF"},"description":{"en":"Never sent back to your browser once saved, and only ever transmitted to GRDF. Like every Gladys setting, it is stored as-is in your server\'s database.","fr":"Jamais renvoy\xe9 \xe0 votre navigateur une fois enregistr\xe9, et transmis uniquement \xe0 GRDF. Comme tout r\xe9glage Gladys, il est stock\xe9 tel quel dans la base de donn\xe9es de votre serveur."},"required":true},{"key":"pce_list","type":"string","label":{"en":"PCE to follow","fr":"PCE \xe0 suivre"},"description":{"en":"Optional. 14-digit metering point identifiers, separated by commas. Leave empty to follow every meter of the account.","fr":"Facultatif. Identifiants de point de comptage \xe0 14 chiffres, s\xe9par\xe9s par des virgules. Laissez vide pour suivre tous les compteurs du compte."},"placeholder":{"en":"01234567890123","fr":"01234567890123"},"required":false},{"key":"history_days","type":"number","label":{"en":"History to import (
1days)","fr":"Historique \xe0 importer (jours)"},"description":{"en":"Days of past consumption imported on the first synchronization. GRDF keeps about three years.","fr":"Nombre de jours de consommation pass\xe9e import\xe9s \xe0 la premi\xe8re synchronisation. GRDF conserve environ trois ans."},"required":false,"default":7,"min":1,"max":1095},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often GRDF is queried, in seconds. A new reading appears once a day, so there is no point going below a few hours.","fr":"Fr\xe9quence d\'interrogation de GRDF, en secondes. Un nouveau relev\xe9 n\'arrive qu\'une fois par jour : inutile de descendre en dessous de quelques heures."},"required":false,"default":21600,"min":3600,"max":86400}],"stars":1,"pushed_at":"2026-09-10T21:07:24Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/25247304?v=4"},{"slug":"hydro-quebec","store_slug":"LM1LC3N7/Gladys-Hydro-Quebec","repo_url":"https://github.com/LM1LC3N7/Gladys-Hydro-Quebec","name":"Hydro-Qu\xe9bec","type":"device","version":"0.1.6","description":{"en":"Hydro-Qu\xe9bec electricity consumption, Winter Credit and Flex D peaks, billing and outages.","fr":"Consommation Hydro-Qu\xe9bec, pointes Cr\xe9dit Hivernal et Flex D, facturation et pannes."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/LM1LC3N7--Gladys-Hydro-Quebec.png","docker_image":"ghcr.io/lm1lc3n7/gladys-hydro-quebec:0.1.6","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Hydro-Qu\xe9bec account","fr":"Compte Hydro-Qu\xe9bec"},"description":{"en":"Use the same email/username and password you use to sign in to the Hydro-Qu\xe9bec customer space (session.hydroquebec.com). This integration is developed independently and is not supported by Hydro-Qu\xe9bec: do not contact Hydro-Qu\xe9bec customer service about it. Every contract on the account is discovered automatically after saving \u2014 there is nothing else to enter (no account/contract numbers needed).","fr":"Utilisez le m\xeame courriel/identifiant et mot de passe que pour vous connecter \xe0 l\'Espace client Hydro-Qu\xe9bec (session.hydroquebec.com). Cette int\xe9gration est d\xe9velopp\xe9e de fa\xe7on ind\xe9pendante et n\'est pas support\xe9e par Hydro-Qu\xe9bec : ne contactez pas le service \xe0 la client\xe8le d\'Hydro-Qu\xe9bec \xe0 son sujet. Tous les contrats du compte sont d\xe9couverts automatiquement apr\xe8s l\'enregistrement \u2014 rien d\'autre \xe0 saisir (aucun num\xe9ro de compte/contrat requis)."},"links":[{"url":"https://session.hydroquebec.com/","label":{"en":"Hydro-Qu\xe9bec customer space","fr":"Espace client Hydro-Qu\xe9bec"}},{"url":"https://gitlab.com/hydroqc/hydroqc","label":{"en":"hydroqc (the library this integration relies on)","fr":"hydroqc (la librairie utilis\xe9e par cette int\xe9gration)"}}]},{"key":"username","type":"secret","label":{"en":"Email / username","fr":"Courriel / identifiant"},"description":{"en":"The email address or username used to sign in to your Hydro-Qu\xe9bec online account.","fr":"Le courriel ou l\'identifiant utilis\xe9 pour vous connecter \xe0 votre compte Hydro-Qu\xe9bec en ligne."},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"description":{"en":"Stored encrypted by Gladys and never leaves your instance except to talk to Hydro-Qu\xe9bec.","fr":"Stock\xe9 chiffr\xe9 par Gladys, il ne quitte jamais votre instance sauf pour parler \xe0 Hydro-Qu\xe9bec."},"required":true},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each contract is refreshed. Hydro-Qu\xe9bec updates daily consumption about once a day with a 1-2 day delay, so there is no benefit in polling faster than every 30-60 minutes.","fr":"Fr\xe9quence de rafra\xeechissement de chaque contrat. Hydro-Qu\xe9bec ne met \xe0 jour la consommation quotidienne qu\'une fois par jour, avec 1 \xe0 2 jours de d\xe9lai : inutile d\'interroger plus vite que toutes les 30-60 minutes."},"required":false,"default":3600,"min":300,"max":86400},{"key":"preheat_duration_minutes","type":"number","label":{"en":"Pre-heat duration (min)","fr":"Dur\xe9e de pr\xe9chauffage (min)"},"description":{"en":"How long before a Winter Credit / Flex D critical peak the \\"pre-heat in progress\\" sensor turns on. Only affects contracts enrolled in one of these options.","fr":"Combien de temps avant une pointe critique (Cr\xe9dit Hivernal / Flex D) le capteur \xab pr\xe9chauffage en cours \xbb s\'active. N\'a d\'effet que sur les contrats inscrits \xe0 l\'une de ces options."},"required":false,"default":180,"min":0,"max":360}],"stars":1,"pushed_at":"2026-09-10T17:07:19Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/14235706?v=4"},{"slug":"ipp-printers","store_slug":"guim31/gladys-ipp","repo_url":"https://github.com/guim31/gladys-ipp","name":"IPP Printers","type":"device","version":"1.0.10","description":{"en":"Ink/toner levels and state of your network printers over IPP (AirPrint). Local, no cloud.","fr":"Niveaux d\'encre/toner et \xe9tat de vos imprimantes r\xe9seau via IPP (AirPrint). Local, sans cloud."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-ipp.png","docker_image":"ghcr.io/guim31/gladys-ipp:1.0.10","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Fonctionnement"},"description":{"en":"Printers advertising IPP (any AirPrint-capable printer) are discovered automatically on your network. You can also list printers manually below \u2014 useful when mDNS does not reach them. Eac
1h printer exposes one sensor per ink or toner cartridge, plus its state. Printers that announce no level over IPP are asked over SNMP instead, the way CUPS reads them.","fr":"Les imprimantes annon\xe7ant IPP (toute imprimante compatible AirPrint) sont d\xe9couvertes automatiquement sur votre r\xe9seau. Vous pouvez aussi les d\xe9clarer manuellement ci-dessous \u2014 utile quand le mDNS ne les atteint pas. Chaque imprimante expose un capteur par cartouche d\'encre ou de toner, plus son \xe9tat. Les imprimantes qui n\'annoncent aucun niveau en IPP sont interrog\xe9es en SNMP, comme le fait CUPS."},"links":[{"url":"https://www.pwg.org/ipp/everywhere.html","label":{"en":"About IPP Everywhere","fr":"\xc0 propos d\'IPP Everywhere"}}]},{"key":"printer_hosts","type":"string","label":{"en":"Printers (manual list)","fr":"Imprimantes (liste manuelle)"},"description":{"en":"Optional. IPs, hostnames or ipp:// URIs, separated by commas \u2014 e.g. 192.168.1.20, printer.local, ipp://192.168.1.30/ipp/print.","fr":"Optionnel. IP, noms d\'h\xf4te ou URI ipp://, s\xe9par\xe9s par des virgules \u2014 ex. 192.168.1.20, imprimante.local, ipp://192.168.1.30/ipp/print."},"required":false},{"key":"feature_names","type":"select","label":{"en":"Sensor names","fr":"Noms des capteurs"},"description":{"en":"Applies to newly added devices. Printers report their supplies in their own words (usually English): keep them as-is, or translate the recognized cartridges.","fr":"S\'applique aux appareils nouvellement ajout\xe9s. Les imprimantes annoncent leurs consommables dans leur propre langue (souvent l\'anglais) : gardez-les tels quels, ou traduisez les cartouches reconnues."},"required":false,"default":"printer","options":[{"value":"printer","label":{"en":"As reported by the printer","fr":"Tels qu\'annonc\xe9s par l\'imprimante"}},{"value":"fr","label":{"en":"French","fr":"Fran\xe7ais"}},{"value":"en","label":{"en":"English","fr":"Anglais"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Levels refresh interval (s)","fr":"Rafra\xeechissement des niveaux (s)"},"description":{"en":"How often the ink/toner levels are recorded, in seconds. They move slowly: 900 s (15 min) is plenty. The printer state is watched continuously (sampled every 15 s) and updated as soon as it changes.","fr":"Fr\xe9quence d\'enregistrement des niveaux d\'encre/toner, en secondes. Ils \xe9voluent lentement : 900 s (15 min) suffisent largement. L\'\xe9tat de l\'imprimante est surveill\xe9 en continu (\xe9chantillonn\xe9 toutes les 15 s) et mis \xe0 jour d\xe8s qu\'il change."},"required":false,"default":900,"min":60,"max":86400}],"stars":1,"pushed_at":"2026-08-15T19:12:42Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"melcloud-home","store_slug":"callemand/gladys-melcloud-home","repo_url":"https://github.com/callemand/gladys-melcloud-home","name":"MELCloud Home","type":"device","version":"1.4.0","description":{"en":"Control your Mitsubishi Electric air conditioners through the MELCloud Home cloud.","fr":"Pilotez vos climatisations Mitsubishi Electric via le cloud MELCloud Home."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-melcloud-home.png","docker_image":"ghcr.io/callemand/gladys-melcloud-home:1.4.0","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"MELCloud Home account","fr":"Compte MELCloud Home"},"description":{"en":"MELCloud Home (melcloudhome.com) is the new Mitsubishi Electric platform, separate from the legacy MELCloud. Sign in with the same email and password you use in the MELCloud Home app.","fr":"MELCloud Home (melcloudhome.com) est la nouvelle plateforme Mitsubishi Electric, distincte de l\'ancien MELCloud. Connectez-vous avec l\'email et le mot de passe de l\'application MELCloud Home."},"links":[{"url":"https://melcloudhome.com","label":{"en":"MELCloud Home","fr":"MELCloud Home"}}]},{"key":"email","type":"string","label":{"en":"Email","fr":"Email"},"description":{"en":"The email address of your MELCloud Home account.","fr":"L\'adresse email de votre compte MELCloud Home."},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"description":{"en":"The password of your MELCloud Home account (stored encrypted).","fr":"Le mot de passe de votre compte MELCloud Home (stock\xe9 chiffr\xe9)."},"required":true}],"stars":1,"pushed_at":"2026-08-16T19:28:32Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"prix-carburants","store_slug":"prohand/gladys-prixcarburants","repo_url":"https://github.com/prohand/gladys-prixcarburants","name":"Prix carburants","type":"device","version":"1.0.4","description":{"en":"Follow the price of your fuel at the petrol stations near you, from official open data.","fr":"Suivez le prix de votre carburant dans les stations-service proches de chez vous."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-prixcarburants.png","docker_image":"ghcr.io/prohand/gladys-prixcarburants:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"Choose your country, your postal code and the fuel you use, then open the Discovery tab: the petrol stations around you appear there with their current price. Add the ones you want to follow, delete them when you no longer need them. Data comes from the official open data, no account and no API key needed.","fr":"Choisissez votre pays, votre code postal et votre carburant, pu
1is ouvrez l\'onglet D\xe9couverte : les stations-service proches y apparaissent avec leur prix actuel. Ajoutez celles que vous voulez suivre, supprimez-les quand vous n\'en avez plus besoin. Les donn\xe9es viennent de l\'open data officiel, sans compte ni cl\xe9 d\'API."},"links":[{"url":"https://www.prix-carburants.gouv.fr/rubrique/opendata/","label":{"en":"France: prix-carburants.gouv.fr open data","fr":"France : open data prix-carburants.gouv.fr"}},{"url":"https://data.economie.gouv.fr/explore/dataset/prix-des-carburants-en-france-flux-instantane-v2/","label":{"en":"France: the dataset queried by this integration","fr":"France : le jeu de donn\xe9es interrog\xe9 par cette int\xe9gration"}}]},{"key":"country","type":"select","label":{"en":"Country","fr":"Pays"},"description":{"en":"Country whose open data is queried. More countries will be added in future versions.","fr":"Pays dont l\'open data est interrog\xe9. D\'autres pays seront ajout\xe9s dans de prochaines versions."},"required":true,"default":"FR","options":[{"value":"FR","label":{"en":"France","fr":"France"}}]},{"key":"postal_code","type":"string","label":{"en":"Postal code","fr":"Code postal"},"description":{"en":"Stations are searched around this postal code. In France, 5 digits.","fr":"Les stations sont recherch\xe9es autour de ce code postal. En France, 5 chiffres."},"required":true,"placeholder":{"en":"35000","fr":"35000"}},{"key":"search_radius_km","type":"number","label":{"en":"Search radius (km)","fr":"Rayon de recherche (km)"},"description":{"en":"Also look for stations around the postal code. 0 keeps only the stations of the postal code itself.","fr":"Cherche aussi des stations autour du code postal. 0 ne garde que les stations du code postal lui-m\xeame."},"required":false,"default":10,"min":0,"max":50},{"key":"fuel_type","type":"multi_select","label":{"en":"Fuel type","fr":"Type de carburant"},"description":{"en":"One device is offered per station AND per selected fuel, so you can follow several fuels at the same station.","fr":"Un appareil est propos\xe9 par station ET par carburant s\xe9lectionn\xe9, ce qui permet de suivre plusieurs carburants dans la m\xeame station."},"required":true,"default":["gazole"],"options":[{"value":"gazole","label":{"en":"Diesel","fr":"Gazole"}},{"value":"sp95","label":{"en":"SP95","fr":"SP95"}},{"value":"sp98","label":{"en":"SP98","fr":"SP98"}},{"value":"e10","label":{"en":"E10 (SP95-E10)","fr":"E10 (SP95-E10)"}},{"value":"e85","label":{"en":"E85 (Superethanol)","fr":"E85 (Super\xe9thanol)"}},{"value":"gplc","label":{"en":"LPG","fr":"GPLc"}}]},{"key":"max_stations","type":"number","label":{"en":"Maximum number of stations","fr":"Nombre maximum de stations"},"description":{"en":"How many stations the Discovery tab may list. Lower it in a dense city, raise it in the countryside.","fr":"Nombre de stations que l\'onglet D\xe9couverte peut lister. Baissez-le en ville dense, augmentez-le \xe0 la campagne."},"required":false,"default":20,"min":1,"max":50},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the price of each added station is refreshed. The French feed is updated about every 10 minutes; once an hour is plenty.","fr":"Fr\xe9quence de rafra\xeechissement du prix de chaque station ajout\xe9e. Le flux fran\xe7ais est mis \xe0 jour environ toutes les 10 minutes ; une fois par heure suffit largement."},"required":false,"default":3600,"min":600,"max":86400}],"stars":1,"pushed_at":"2026-08-15T16:20:05Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"telegram","store_slug":"GladysAssistant/gladys-telegram","repo_url":"https://github.com/GladysAssistant/gladys-telegram","name":"Telegram","type":"communication","version":"1.1.0","description":{"en":"Chat with Gladys from Telegram: ask about your home and receive your notifications.","fr":"Discutez avec Gladys depuis Telegram : interrogez votre maison et recevez vos notifications."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/GladysAssistant--gladys-telegram.jpg","docker_image":"ghcr.io/gladysassistant/gladys-telegram:1.1.0","gladys_version":">=4.83.0","config_schema":[{"key":"telegram_api_token","type":"secret","label":{"en":"Telegram bot token","fr":"Token du bot Telegram"},"description":{"en":"Create a bot with @BotFather on Telegram (/newbot) and paste the token it gives you here.","fr":"Cr\xe9ez un bot avec @BotFather sur Telegram (/newbot) et collez ici le token qu\'il vous donne."},"required":true}],"stars":1,"pushed_at":"2026-07-28T19:32:01Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/7365162?v=4"},{"slug":"unifi-network","store_slug":"guim31/gladys-integration-unifi","repo_url":"https://github.com/guim31/gladys-integration-unifi","name":"UniFi Network","type":"device","version":"1.5.2","description":{"en":"Ubiquiti UniFi integration for UCG, UDM, Switches, APs and network presence tracking.","fr":"Int\xe9gration Ubiquiti UniFi pour UCG, UDM, Switches, APs et d\xe9tection de pr\xe9sence."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-integration-unifi.png","docker_image":"ghcr.io/guim31/gladys-integration-unifi:1.5.2","gladys_version":">=4.62.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Local UniFi Connection","fr":"Connexion Locale UniFi OS"},"description":{"en":"Select your authentication mode and enter your local UniFi credentials or local API key.","fr":"S\xe9lectionnez le mode d\'authentification et entrez vos identifiants locaux UniFi ou votre cl\xe9 API locale."}},{"key":"unifi_host","type":"string","label":{"en":"IP Address / Hostname","fr":"Adresse IP / H\xf4te"},"description":{"en":"IP address of your UniFi OS console (e.g. 192.168.1.1).","fr":"Adresse IP de votre console UniFi OS (ex: 192.168.1.1)."},"required":true,"default":"192.168.1.1"},{"key":"unifi_port","type":"number","label":{"en":"Port","fr":"Port"},"required":true,"default":443,"min":1,"max":65535},{"key":"unifi_auth_type","type":"select","label":{"en":"Authentication Mode","fr":"Mode d\'authentification"},"required":true,"default":"api_key","options":[{"value":"api_key","label":{"en":"Local API Key (UniFi Network > Integrations - Recommended)","fr":"Cl\xe9 API Locale (UniFi Network > Int\xe9grations - Recommand\xe9)"}},{"value":"credentials","label":{"en":"Local Username & Password","fr":"Nom d\'utilisateur & Mot de passe local"}}]},{"key":"unifi_api_key","type":"secret","label":{"en":"Local API Key","fr":"Cl\xe9 API Locale"},"description":{"en":"API Key generated in UniFi Network > Integrations.","fr":"Cl\xe9 API g\xe9n\xe9r\xe9e dans UniFi Network > Int\xe9grations."},"required":false},{"key":"unifi_username","type":"string","label":{"en":"Local Username","fr":"Nom d\'utilisateur local"},"description":{"en":"Local admin username created in Console > Users & Admins (required if Credentials mode selected).","fr":"Nom d\'admin local cr\xe9\xe9 dans Console > Utilisateurs & Admins (requis si mode Identifiants)."},"required":false},{"key":"unifi_password","type":"secret","label":{"en":"Local Password","fr":"Mot de passe local"},"required":false},{"key":"unifi_site_id","type":"string","label":{"en":"Site ID","fr":"ID du Site"},"required":true,"default":"default"},{"key":"presence_offline_delay","type":"number","label":{"en":"Presence Offline Delay (s)","fr":"D\xe9lai de d\xe9connexion pr\xe9sence (s)"},"description":{"en":"Inactivity delay before marking a device as absent (prevents deep sleep toggling).","fr":"D\xe9lai d\'inactivit\xe9 avant d\'indiquer un appareil absent (\xe9vite les faux positifs en veille)."},"required":false,"default":120,"min":0,"max":3600},{"key":"filtering_section","type":"section","label":{"en":"Device Discovery & Filtering","fr":"Filtres de d\xe9couverte des appareils"},"description":{"en":"Configure which devices should be discovered and published to Gladys.","fr":"Configurez quels appareils doivent \xeatre d\xe9couverts et envoy\xe9s \xe0 Gladys."}}
1,{"key":"discover_infrastructure","type":"boolean","label":{"en":"Discover Infrastructure (Console, APs, Switches)","fr":"D\xe9couvrir l\'infrastructure (Console, APs, Switches)"},"required":false,"default":true},{"key":"discover_clients","type":"boolean","label":{"en":"Discover Network Clients","fr":"D\xe9couvrir les clients du r\xe9seau"},"required":false,"default":true},{"key":"only_active_clients","type":"boolean","label":{"en":"Only Connected Clients (Ignore historical known clients)","fr":"Clients connect\xe9s uniquement (Ignorer les anciens clients)"},"description":{"en":"Only import currently connected clients to prevent importing hundreds of offline historical devices.","fr":"Importer uniquement les clients actuellement connect\xe9s pour \xe9viter d\'importer des centaines d\'anciens appareils hors-ligne."},"required":false,"default":true},{"key":"client_connection_type","type":"select","label":{"en":"Client Connection Type","fr":"Type de connexion des clients"},"required":false,"default":"all","options":[{"value":"all","label":{"en":"All (Wi-Fi & Wired)","fr":"Tous (Wi-Fi et Filaire)"}},{"value":"wifi_only","label":{"en":"Wi-Fi Only","fr":"Wi-Fi uniquement"}},{"value":"wired_only","label":{"en":"Wired Only","fr":"Filaire uniquement"}}]},{"key":"allowed_ssids","type":"string","label":{"en":"Allowed Wi-Fi SSIDs","fr":"SSIDs Wi-Fi autoris\xe9s"},"description":{"en":"Filter Wi-Fi clients by SSID names (comma separated, e.g. Home, IoT). Leave empty to allow all SSIDs.","fr":"Filtrer les clients Wi-Fi par noms de SSID (s\xe9par\xe9s par des virgules, ex: Maison, IoT). Laissez vide pour autoriser tous les SSIDs."},"required":false,"default":""}],"stars":1,"pushed_at":"2026-08-04T06:56:24Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"vigieau","store_slug":"prohand/gladys-vigieau","repo_url":"https://github.com/prohand/gladys-vigieau","name":"VigiEau","type":"device","version":"2.0.3","description":{"en":"French drought alert levels and water restrictions, from the official VigiEau service.","fr":"Vigilance s\xe9cheresse et restrictions d\'eau en France, depuis le service officiel VigiEau."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-vigieau.png","docker_image":"ghcr.io/prohand/gladys-vigieau:2.0.3","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"VigiEau is the French government service publishing the drought alert level and the water restrictions in force at a given address. The API is free and needs no account: just tell the integration which location to watch.","fr":"VigiEau est le service de l\'\xc9tat qui publie le niveau de vigilance s\xe9cheresse et les restrictions d\'eau en vigueur \xe0 une adresse donn\xe9e. L\'API est gratuite et ne demande aucun compte : indiquez simplement le lieu \xe0 surveiller."},"links":[{"url":"https://vigieau.gouv.fr","label":{"en":"The VigiEau website","fr":"Le site VigiEau"}},{"url":"https://api.vigieau.beta.gouv.fr/swagger","label":{"en":"VigiEau API documentation","fr":"Documentation de l\'API VigiEau"}}]},{"key":"settings_section","type":"section","label":{"en":"General settings","fr":"R\xe9glages g\xe9n\xe9raux"},"description":{"en":"These two settings apply to every watched location.","fr":"Ces deux r\xe9glages s\u2019appliquent \xe0 tous les lieux surveill\xe9s."}},{"key":"profil","type":"select","label":{"en":"User profile (all locations)","fr":"Profil d\'usager (tous les lieux)"},"description":{"en":"Restrictions differ per profile: VigiEau returns the ones that apply to yours.","fr":"Les restrictions diff\xe8rent selon le profil : VigiEau renvoie celles qui s\'appliquent au v\xf4tre."},"required":true,"default":"particulier","options":[{"value":"particulier","label":{"en":"Household","fr":"Particulier"}},{"value":"entreprise","label":{"en":"Company","fr":"Entreprise"}},{"value":"collectivite","label":{"en":"Local authority","fr":"Collectivit\xe9"}},{"value":"exploitation","label":{"en":"Farm","fr":"Exploitation agricole"}}
1]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the integration queries VigiEau, in seconds. Prefectoral decrees change once a day at most: one hour is plenty.","fr":"Fr\xe9quence \xe0 laquelle l\'int\xe9gration interroge VigiEau, en secondes. Les arr\xeat\xe9s pr\xe9fectoraux changent au plus une fois par jour : une heure suffit largement."},"required":false,"default":3600,"min":900,"max":86400}],"stars":1,"pushed_at":"2026-08-15T16:18:05Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"airzone-cloud","store_slug":"callemand/gladys-airzone-cloud","repo_url":"https://github.com/callemand/gladys-airzone-cloud","name":"Airzone Cloud","type":"device","version":"1.3.0","description":{"en":"Control your Airzone ducted air conditioning zones through the Airzone Cloud service.","fr":"Pilotez les zones de votre climatisation gainable Airzone via le service Airzone Cloud."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-airzone-cloud.png","docker_image":"ghcr.io/callemand/gladys-airzone-cloud:1.3.0","gladys_version":">=4.62.0","config_schema":[{"key":"email","type":"string","label":{"en":"Airzone Cloud email","fr":"E-mail Airzone Cloud"},"description":{"en":"The email address of your Airzone Cloud account.","fr":"L\'adresse e-mail de votre compte Airzone Cloud."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Airzone Cloud password","fr":"Mot de passe Airzone Cloud"},"description":{"en":"The password of your Airzone Cloud account.","fr":"Le mot de passe de votre compte Airzone Cloud."},"placeholder":{"en":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","fr":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"},"required":true},{"key":"local_host","type":"string","label":{"en":"Airzone webserver address (local API)","fr":"Adresse du webserver Airzone (API locale)"},"description":{"en":"Optional. IP address or hostname of your Airzone webserver on your network. When it is filled in and its local API is enabled, Gladys reads and controls your zones locally: no rate limit, no latency, and no Airzone Cloud subscription needed. The cloud is still used to discover your zones, and as a fallback.","fr":"Optionnel. Adresse IP ou nom d\'h\xf4te de votre webserver Airzone sur votre r\xe9seau. Renseign\xe9 et son API locale activ\xe9e, Gladys lit et pilote vos zones en local : pas de quota, pas de latence, et aucun abonnement Airzone Cloud n\xe9cessaire. Le cloud reste utilis\xe9 pour d\xe9couvrir vos zones, et en repli."},"placeholder":{"en":"192.168.1.42","fr":"192.168.1.42"}},{"key":"local_port","type":"number","label":{"en":"Local API port","fr":"Port de l\'API locale"},"description":{"en":"Optional, 3000 by default (the Airzone local API port).","fr":"Optionnel, 3000 par d\xe9faut (le port de l\'API locale Airzone)."},"placeholder":{"en":"3000","fr":"3000"}},{"key":"verbose_logs","type":"boolean","label":{"en":"Verbose logs","fr":"Journaux d\xe9taill\xe9s"},"description":{"en":"Log the details of every refresh (one line per device and per Airzone request) in the Logs tab. Useful to diagnose a device that reports nothing; leave it off the rest of the time.","fr":"Journalise le d\xe9tail de chaque rafra\xeechissement (une ligne par appareil et par requ\xeate Airzone) dans l\'onglet Journaux. Utile pour diagnostiquer un appareil qui ne remonte rien ; \xe0 laisser d\xe9sactiv\xe9 le reste du temps."},"default":false}],"stars":0,"pushed_at":"2026-08-06T12:24:11Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"apple-device-tracker","store_slug":"prohand/gladys-appledevicetracker","repo_url":"https://github.com/prohand/gladys-appledevicetracker","name":"Apple Device Tracker","type":"device","version":"1.0.5","description":{"en":"Track your Apple devices with Find My and use them as presence sensors in Gladys.","fr":"Suivez vos appareils Apple via Localiser et utilisez-les comme capteurs de pr\xe9sence."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-appledevicetracker.png","docker_image":"ghcr.io/prohand/gladys-appledevicetracker:1.0.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Your iCloud account","fr":"Votre compte iCloud"},"description":{"en":"This integration signs in to iCloud with your Ap
1ple ID and reads the position of the devices visible in Find My. Your credentials stay in Gladys, on your machine. Two-factor authentication is supported: after saving, use the action below to enter the 6-digit code Apple sends you, and the \\"Send me a new two-factor code\\" action if nothing arrives.","fr":"Cette integration se connecte a iCloud avec votre identifiant Apple et lit la position des appareils visibles dans Localiser. Vos identifiants restent dans Gladys, chez vous. La double authentification est geree : apres avoir enregistre, utilisez l\'action ci-dessous pour saisir le code a 6 chiffres envoye par Apple, et l\'action \\"M\'envoyer un nouveau code\\" si rien n\'arrive."},"links":[{"url":"https://support.apple.com/en-us/HT204756","label":{"en":"About Find My","fr":"A propos de Localiser"}}]},{"key":"apple_id","type":"string","label":{"en":"Apple ID","fr":"Identifiant Apple"},"description":{"en":"The email address of the iCloud account that owns the devices.","fr":"L\'adresse e-mail du compte iCloud proprietaire des appareils."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"apple_password","type":"secret","label":{"en":"Apple ID password","fr":"Mot de passe Apple"},"description":{"en":"Stored encrypted by Gladys and only sent to Apple. Changing it forces a new sign-in.","fr":"Stocke chiffre par Gladys et envoye uniquement a Apple. Le modifier force une nouvelle connexion."},"required":true},{"key":"home","type":"section","label":{"en":"Your home","fr":"Votre domicile"},"description":{"en":"A device is considered present when it is inside the radius below. The coordinates are pre-filled with the position of your Gladys house: correct them only if you want another reference point.","fr":"Un appareil est considere present quand il se trouve dans le rayon ci-dessous. Les coordonnees sont pre-remplies avec la position de votre maison Gladys : corrigez-les seulement si vous voulez un autre point de reference."}},{"key":"home_latitude","type":"string","label":{"en":"Home latitude","fr":"Latitude du domicile"},"required":false,"placeholder":{"en":"48.8566","fr":"48.8566"},"description":{"en":"Decimal degrees between -90 and 90 (example: 48.8566). Pre-filled from your Gladys house when left empty. A text field, so the decimals are never rounded.","fr":"Degres decimaux entre -90 et 90 (exemple : 48.8566). Pre-remplie depuis votre maison Gladys si le champ est vide. Un champ texte, pour que les decimales ne soient jamais arrondies."}},{"key":"home_longitude","type":"string","label":{"en":"Home longitude","fr":"Longitude du domicile"},"required":false,"placeholder":{"en":"2.3522","fr":"2.3522"},"description":{"en":"Decimal degrees between -180 and 180 (example: 2.3522). Pre-filled from your Gladys house when left empty. A text field, so the decimals are never rounded.","fr":"Degres decimaux entre -180 et 180 (exemple : 2.3522). Pre-remplie depuis votre maison Gladys si le champ est vide. Un champ texte, pour que les decimales ne soient jamais arrondies."}},{"key":"home_radius","type":"number","label":{"en":"Home radius (m)","fr":"Rayon du domicile (m)"},"description":{"en":"Radius around your home marking a device as present. A device leaves only once it is 25% beyond it, to avoid flapping.","fr":"Rayon autour du domicile marquant un appareil comme present. Un appareil n\'est absent qu\'au dela de 25% de ce rayon, pour eviter les allers-retours."},"required":false,"default":150,"min":20,"max":10000},{"key":"advanced","type":"section","label":{"en":"Advanced","fr":"Avance"},"description":{"en":"Apple rate-limits Find My: keep the refresh interval reasonable. Positions less accurate than the threshold below are ignored instead of moving your presence around.","fr":"Apple limite les appels a Localiser : gardez un intervalle de rafraichissement raisonnable. Les positions moins precises que le seuil ci-dessous sont ignorees plutot que de faire bouger votre presence."}},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafraichissement (s)"},"description":{"en":"How often the integration asks Apple for a new position, in seconds. Gladys itself ticks every minute (its own limit) and the integration answers from its cache until this interval has passed.","fr":"Frequence a laquelle l\'integration demande une nouvelle position a Apple, en secondes. Gladys interroge l\'integration chaque minute (sa propre limite) et l\'integration repond depuis son cache tant que cet intervalle n\'est pas ecoule."},"required":false,"default":300,"min":60,"max":3600},{"key":"max_accuracy","type":"number","label":{"en":"Maximum accuracy (m)","fr":"Precision maximale (m)"},"description":{"en":"Positions reported with a worse accuracy radius than this are ignored.","fr":"Les positions dont le rayon de precision depasse cette valeur sont ignorees."},"required":false,"default":500,"min":10,"max":20000}
1,{"key":"include_family","type":"boolean","label":{"en":"Include family devices","fr":"Inclure les appareils de la famille"},"description":{"en":"Also expose the devices shared with you through Family Sharing.","fr":"Exposer aussi les appareils partages via le partage familial."},"required":false,"default":true}],"stars":0,"pushed_at":"2026-09-12T08:33:39Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"bitcoin-monitor","store_slug":"Checconio/gladys-bitcoin-monitor","repo_url":"https://github.com/Checconio/gladys-bitcoin-monitor","name":"Bitcoin Monitor","type":"device","version":"1.0.4","description":{"en":"Monitor Bitcoin fees, mempool, network, market price and transaction costs.","fr":"Surveillez les frais, la mempool, le r\xe9seau, le prix et le co\xfbt des transactions Bitcoin."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Checconio--gladys-bitcoin-monitor.png","docker_image":"ghcr.io/checconio/gladys-bitcoin-monitor:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"general_section","type":"section","label":{"en":"General","fr":"G\xe9n\xe9ral"},"description":{"en":"Bitcoin Monitor uses the public mempool.space API at a fixed endpoint. No account or API key is required.","fr":"Bitcoin Monitor utilise l\'API publique mempool.space \xe0 une adresse fixe. Aucun compte ni cl\xe9 d\'API n\'est n\xe9cessaire."},"links":[{"url":"https://mempool.space/docs/api/rest","label":{"en":"mempool REST API","fr":"API REST mempool"}}]},{"key":"currency","type":"select","label":{"en":"Currency","fr":"Devise"},"required":true,"default":"EUR","options":[{"value":"EUR","label":{"en":"Euro (EUR)","fr":"Euro (EUR)"}},{"value":"USD","label":{"en":"US dollar (USD)","fr":"Dollar am\xe9ricain (USD)"}},{"value":"GBP","label":{"en":"Pound sterling (GBP)","fr":"Livre sterling (GBP)"}},{"value":"CHF","label":{"en":"Swiss franc (CHF)","fr":"Franc suisse (CHF)"}},{"value":"CAD","label":{"en":"Canadian dollar (CAD)","fr":"Dollar canadien (CAD)"}},{"value":"AUD","label":{"en":"Australian dollar (AUD)","fr":"Dollar australien (AUD)"}},{"value":"JPY","label":{"en":"Japanese yen (JPY)","fr":"Yen japonais (JPY)"}}]},{"key":"polling_section","type":"section","label":{"en":"Polling","fr":"Actualisation"},"description":{"en":"Conservative non-overlapping polling protects the public API. Temporary failures keep the last valid values.","fr":"Une actualisation prudente et sans chevauchement prot\xe8ge l\'API publique. Les pannes temporaires conservent les derni\xe8res valeurs valides."}},{"key":"fast_poll_seconds","type":"number","label":{"en":"Fast refresh interval (seconds)","fr":"Intervalle rapide (secondes)"},"required":true,"default":60,"min":30,"max":900},{"key":"difficulty_poll_seconds","type":"number","label":{"en":"Difficulty refresh interval (seconds)","fr":"Intervalle difficult\xe9 (secondes)"},"required":true,"default":600,"min":300,"max":3600},{"key":"hashrate_poll_seconds","type":"number","label":{"en":"Hashrate refresh interval (seconds)","fr":"Intervalle hashrate (secondes)"},"required":true,"default":1800,"min":600,"max":21600},{"key":"simulator_section","type":"section","label":{"en":"Transaction simulator defaults","fr":"Valeurs par d\xe9faut du simulateur"},"description":{"en":"Transaction fees depend on virtual size and feerate, not on the transferred BTC amount. Enter the BTC amount on a Gladys dashboard; use the action below for vSize and priority.","fr":"Les frais d\xe9pendent de la taille virtuelle et du feerate, pas du montant en BTC transf\xe9r\xe9. Saisissez le montant BTC sur un tableau de bord Gladys ; utilisez l\'action ci-dessous pour la vSize et la priorit\xe9."}},{"key":"default_tx_vsize","type":"number","label":{"en":"Default transaction vSize (vB)","fr":"Taille virtuelle par d\xe9faut (vB)"},"required":true,"default":250,"min":50,"max":10000},{"key":"default_priority","type":"select","label":{"en":"Default priority","fr":"Priorit\xe9 par d\xe9faut"},"required":true,"default":"fastest","options":[{"value":"fastest","label":{"en":"Fastest","fr":"Rapide"}},{"value":"half_hour","label":{"en":"30 minutes","fr":"30 minutes"}},{"value":"hour","label":{"en":"1 hour","fr":"1 heure"}},{"value":"economy","label":{"en":"Economy","fr":"\xc9conomique"}}]}],"stars":0,"pushed_at":"2026-08-24T19:44:19Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/13965280?v=4"},{"slug":"callmebot","store_slug":"GladysAssistant/gladys-callmebot","repo_url":"https://github.com/GladysAssistant/gladys-callmebot","name":"CallMeBot","type":"communication","version":"1.0.1","description":{"en":"Send Gladys notifications to WhatsApp or Signal through the free CallMeBot API.","fr":"Envoyez les notifications de Gladys sur WhatsApp ou Signal via l\'API gratuite CallMeBot."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/GladysAssistant--gladys-callmebot.jpg","docker_image":"ghcr.io/gladysassistant/gladys-callmebot:1.0.1","gladys_version":">=4.62.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Fonctionnement"},"description":{"en":"CallMeBot is a free notification gateway: each user activates it once for WhatsApp or Signal, receives a personal API key, then enters it below in the My account block. Gladys then delivers its notifications to that number.","fr":"CallMeBot est une passerelle de notification gratuite : chaque utilisateur l\'active une fois pour WhatsApp ou Signal, re\xe7oit une cl\xe9 d\'API personnelle, puis la renseigne ci-dessous dans le bloc Mon compte. Gladys d\xe9livre ensuite ses notifications sur ce num\xe9ro."},"links":[{"url":"https://www.callmebot.com/blog/free-api-whatsapp-messages/","label":{"en":"Get a WhatsApp API key","fr":"Obtenir une cl\xe9 d\'API WhatsApp"}},{"url":"https://www.callmebot.com/blog/free-api-signal-send-messages/","label":{"en":"Get a Signal API key","fr":"Obtenir une cl\xe9 d\'API Signal"}}]}],"stars":0,"pushed_at":"2026-07-23T15:02:41Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/7365162?v=4"},{"slug":"charger-station","store_slug":"sescandell/gladys-ocpp-integration","repo_url":"https://github.com/sescandell/gladys-ocpp-integration","name":"Charger Station","type":"device","version":"1.0.0","description":{"en":"Follow your charging stations in Gladys, live, through the OCPP protocol.","fr":"Suivez vos bornes de recharge dans Gladys, en direct, gr\xe2ce au protocole OCPP."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/sescandell--gladys-ocpp-integration.png","docker_image":"ghcr.io/sescandell/gladys-ocpp-integration:1.0.0","gladys_version":">=4.85.0","config_schema":[{"key":"how_to","type":"section","label":{"en":"Connecting a charge point","fr":"Raccorder une borne"},"description":{"en":"In your charge point\'s app, note down its current OCPP URL and keep every setting you find there: that\'s what lets you get back to normal operation if anything goes wrong.\\nReplace that URL with ws://{{gladys_host}}:{{port:ocpp}}/ - the same one for every charge point. Your charge point reconnects right away and appears in the Discovery tab: add it to Gladys.\\nThen come back here, in the Action section below, select your charge point and paste the OCPP URL you noted in the first step - that\'s what lets it keep talking to its vendor\'s cloud, now relayed through Gladys.","fr":"Dans l\'application de votre borne, notez son URL OCPP actuelle et conservez toutes les informations de configuration qui s\'y trouvent : c\'est ce qui vous permettra de revenir \xe0 un fonctionnement normal en cas de probl\xe8me.\\nRemplacez cette URL par ws://{{gladys_host}}:{{port:ocpp}}
1/ - la m\xeame pour toutes vos bornes. Votre borne s\'y reconnecte aussit\xf4t et appara\xeet dans l\'onglet D\xe9couverte : ajoutez-la \xe0 Gladys.\\nRevenez ensuite ici, dans la zone Action ci-dessous, s\xe9lectionnez votre borne et saisissez l\'URL OCPP not\xe9e \xe0 la premi\xe8re \xe9tape - c\'est elle qui permet \xe0 votre borne de continuer \xe0 dialoguer avec le cloud de son fabricant, d\xe9sormais relay\xe9 par Gladys."}}],"stars":0,"pushed_at":"2026-08-10T16:41:01Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/1559970?v=4"},{"slug":"daikin-cloud","store_slug":"prohand/gladys-daikin-cloud","repo_url":"https://github.com/prohand/gladys-daikin-cloud","name":"Daikin Cloud","type":"device","version":"1.0.12","description":{"en":"Control your Daikin air conditioners through the official Onecta cloud API.","fr":"Pilotez vos climatiseurs Daikin via l\'API cloud officielle Daikin Onecta."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-daikin-cloud.png","docker_image":"ghcr.io/prohand/gladys-daikin-cloud:1.0.12","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Create your Daikin application","fr":"Cr\xe9ez votre application Daikin"},"description":{"en":"The Onecta API is free but personal: create an account on the Daikin developer portal, add an application, and copy its Client ID and Client secret below. The portal asks for a Redirect URI: paste there the address displayed under the Connect button.","fr":"L\'API Onecta est gratuite mais personnelle : cr\xe9ez un compte sur le portail d\xe9veloppeur Daikin, ajoutez une application, puis copiez son Client ID et son Client secret ci-dessous. Le portail demande une Redirect URI : collez-y l\'adresse affich\xe9e sous le bouton Connecter."},"links":[{"url":"https://developer.cloud.daikineurope.com/","label":{"en":"Daikin developer portal","fr":"Portail d\xe9veloppeur Daikin"}}]},{"key":"client_id","type":"string","label":{"en":"Client ID","fr":"Client ID"},"description":{"en":"The Client ID of your application on the Daikin developer portal.","fr":"Le Client ID de votre application sur le portail d\xe9veloppeur Daikin."},"required":true},{"key":"client_secret","type":"secret","label":{"en":"Client secret","fr":"Client secret"},"description":{"en":"The Client secret of your application. Save the configuration before connecting your account.","fr":"Le Client secret de votre application. Enregistrez la configuration avant de connecter votre compte."},"required":true},{"key":"connect_intro","type":"section","label":{"en":"Link your Daikin account","fr":"Liez votre compte Daikin"},"description":{"en":"Click Save BEFORE clicking Connect: the integration reads the client ID and the secret from the SAVED configuration, so connecting with an unsaved form fails. Then sign in with the Daikin account your air conditioners are paired with in the Onecta app. The address displayed under the button is the Redirect URI to declare on the developer portal.","fr":"Cliquez sur Enregistrer AVANT de cliquer sur Connecter : l\'int\xe9gration lit le client ID et le secret dans la configuration ENREGISTR\xc9E, se connecter avec un formulaire non enregistr\xe9 \xe9choue donc. Identifiez-vous ensuite avec le compte Daikin auquel vos climatiseurs sont associ\xe9s dans l\'application Onecta. L\'adresse affich\xe9e sous le bouton est la Redirect URI \xe0 d\xe9clarer sur le portail d\xe9veloppeur."}},{"key":"daikin_account","type":"oauth2","label":{"en":"Daikin account","fr":"Compte Daikin"},"required":true},{"key":"quota","type":"section","label":{"en":"Refresh rate and API quota","fr":"Rafra\xeechissement et quota d\'API"},"description":{"en":"Daikin allows 200 API calls per day and 20 per minute. Every refresh reads all your units in a single call, and each command you send costs one more call. 900 seconds (15 minutes) uses 96 calls a day and leaves room for commands; lower it only if you rarely control your units from Gladys.","fr":"Daikin autorise 200 appels d\'API par jour et 20 par minute. Chaque rafra\xeechissement lit toutes vos unit\xe9s en un seul appel, et chaque commande envoy\xe9e co\xfbte un appel de plus. 900 secondes (15 minutes) consomment 96 appels par jour et laissent de la marge pour les commandes ; ne le baissez que si vous pilotez peu vos unit\xe9s depuis Gladys."}},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the Daikin cloud is read, in seconds.","fr":"Fr\xe9quence de lecture du cloud Daikin, en secondes."},"required":false,"default":900,"min":600,"max":21600}],"stars":0,"pushed_at":"2026-08-15T16:19:16Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"de-dietrich","store_slug":"callemand/gladys-dedietrich","repo_url":"https://github.com/callemand/gladys-dedietrich","name":"De Dietric
1h","type":"device","version":"1.0.0","description":{"en":"Control your De Dietrich heating, hot water and boiler sensors via the De Dietrich cloud.","fr":"Pilotez chauffage, eau chaude et capteurs de chaudi\xe8re De Dietrich via le cloud De Dietrich."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-dedietrich.png","docker_image":"ghcr.io/callemand/gladys-dedietrich:1.0.0","gladys_version":">=4.62.0","config_schema":[{"key":"email","type":"string","label":{"en":"De Dietrich email","fr":"E-mail De Dietrich"},"description":{"en":"The email address of your De Dietrich account.","fr":"L\'adresse e-mail de votre compte De Dietrich."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"De Dietrich password","fr":"Mot de passe De Dietrich"},"description":{"en":"The password of your De Dietrich account.","fr":"Le mot de passe de votre compte De Dietrich."},"placeholder":{"en":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","fr":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"},"required":true}],"stars":0,"pushed_at":"2026-07-24T09:14:04Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"devmel","store_slug":"prohand/gladys-devmel","repo_url":"https://github.com/prohand/gladys-devmel","name":"Devmel","type":"device","version":"1.0.18","description":{"en":"Control the shutters, switches, lights and sensors of a Devmel AirSend radio gateway.","fr":"Pilotez volets, interrupteurs, lampes et capteurs d\'une passerelle radio Devmel AirSend."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-devmel.png","docker_image":"ghcr.io/prohand/gladys-devmel:1.0.18","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"The AirSend Web Service is included: it runs inside this integration, on http://127.0.0.1:33863, and there is nothing to install on your network. All it needs is the sp:// connection string of your box. Devices are configured in the AirSend app, then exported from airsend.cloud (Import/Export, JSON): paste that export below, the integration reads it as is.","fr":"Le service AirSend est inclus : il tourne dans cette int\xe9gration, sur http://127.0.0.1:33863, et il n\'y a rien \xe0 installer sur votre r\xe9seau. Il lui faut seulement la cha\xeene de connexion sp:// de votre bo\xeetier. Les appareils se configurent dans l\'application AirSend, puis s\'exportent depuis airsend.cloud (Import/Export, JSON) : collez cet export ci-dessous, l\'int\xe9gration le lit tel quel."},"links":[{"url":"https://app.airsend.cloud","label":{"en":"airsend.cloud","fr":"airsend.cloud"}},{"url":"https://github.com/prohand/gladys-devmel/blob/main/docs/en.md","label":{"en":"Integration documentation","fr":"Documentation de l\'int\xe9gration"}}]},{"key":"use_embedded_service","type":"boolean","label":{"en":"Use the built-in AirSend service","fr":"Utiliser le service AirSend int\xe9gr\xe9"},"description":{"en":"Run the AirSend Web Service inside the integration, on http://127.0.0.1:33863. Leave it on unless you already run that service elsewhere on your network.","fr":"Fait tourner le service AirSend dans l\'int\xe9gration, sur http://127.0.0.1:33863. Laissez activ\xe9, sauf si vous faites d\xe9j\xe0 tourner ce service ailleurs sur votre r\xe9seau."},"required":false,"default":true},{"key":"service_url","type":"string","label":{"en":"AirSend Web Service URL","fr":"URL du service AirSend"},"description":{"en":"Only if you run the AirSend Web Service yourself (Home Assistant add-on, Jeedom daemon, your own container): its address on your network, e.g. http://192.168.1.50:33863/. Leave empty to use the built-in one.","fr":"Uniquement si vous faites tourner le service AirSend vous-m\xeame (add-on Home Assistant, d\xe9mon Jeedom, votre propre conteneur) : son adresse sur votre r\xe9seau, par exemple http://192.168.1.50:33863/. Laissez vide pour utiliser celui int\xe9gr\xe9."},"required":false,"placeholder":{"en":"http://192.168.1.50:33863/","fr":"http://192.168.1.50:33863/"}},{"key":"spurl","type":"secret","label":{"en":"Local connection string","fr":"Cha\xeene de connexion locale"},"description":{"en":"The sp:// URL exported by airsend.cloud, pasted exactly as it is given to you \u2014 add nothing, remove nothing. It reads sp://password@fe80::...?gw=0&rhost=192.168.1.50","fr":"L\'URL sp:// export\xe9e par airsend.cloud, coll\xe9e exactement telle qu\'elle vous est donn\xe9e \u2014 n\'ajoutez rien, n\'enlevez rien. Elle s\'\xe9crit sp://motdepasse@fe80::...?gw=0&rhost=192.168.1.50"},"required":false,"placeholder":{"en":"sp://password@fe80::...?gw=0&rhost=192.168.1.50","fr":"sp://motdepasse@fe80::...?gw=0&rhost=192.168.1.50"}},{"key":"devices","type":"string","label":{"en":"Devices","fr":"Appareils"},"description":{"en":"Your airsend.cloud JSON export, pasted as is: one entry per device, with its type and its radio channel (written as pid/addr). See the documentation.","fr":"Votre export JSON airsend.cloud, coll\xe9 tel quel : une entr\xe9e par appareil, avec son type et son canal radio (\xe9crit pid/addr). Voir la documentation."},"required":false,"placeholder":{"en":"{\\"devices\\":[{\\"name\\":\\"Living room shutter\\",\\"type\\":4098,\\"pid\\":25455,\\"addr\\":8295}]}","fr":"{\\"devices\\":[{\\"name\\":\\"Volet salon\\",\\"type\\":4098,\\"pid\\":25455,\\"addr\\":8295}]}"}},{"key":"listen_channel","type":"string","label":{"en":"Listening channel","fr":"Canal d\'\xe9coute"},"description":{"en":"Which radio protocol the box listens to, by its pid. Leave it empty \u2014 or 1, which means the same thing \u2014 and it is deduced from the devices you declared: that is what pushes to Gladys what the box hears (wall remotes, sensors). \\"Test the connection\\" says on its Listening line which protocol was chosen and what it covers, and \\"Find a radio protocol\\" searches the pids by brand. Fill in a pid to listen to another protocol, the word generic for generic 433 MHz listening (its pid, 1, is taken), 0 to turn listening off.","fr":"Le protocole radio \xe9cout\xe9 par le bo\xeetier, par son pid. Laissez le champ vide \u2014 ou 1, qui veut dire la m\xeame chose \u2014 et il est d\xe9duit des appareils que vous avez d\xe9clar\xe9s : c\'est ce qui remonte vers Gladys ce que le bo\xeetier entend (t\xe9l\xe9commandes murales, capteurs). \xab Tester la connexion \xbb indique sur sa ligne \xc9coute le protocole retenu et ce qu\'il couvre, et \xab Chercher un protocole radio \xbb cherche les pid par marque. Renseignez un pid pour \xe9couter un autre protocole, le mot g\xe9n\xe9rique pour l\'\xe9coute g\xe9n\xe9rique 433 MHz (son pid, 1, est d\xe9j\xe0 pris), 0 pour d\xe9sactiver l\'\xe9coute."},"placeholder":{"en":"empty = deduced from your devices","fr":"vide = d\xe9duit de vos appareils"},"required":false},{"key":"command_repeat","type":"number","label":{"en":"Command repeats","fr":"R\xe9p\xe9titions des commandes"},"description":{"en":"How many extra times an order is sent on the air, the way a real remote repeats it while the button is held. Nothing acknowledges a radio order, so a frame lost in the noise is a click that did nothing: raise this to 2 or 3 if a device sometimes ignores Gladys. 0 sends each order once. A device can override it with its own repeat value. It answers a frame lost in the noise, which nothing reports: an order the box itself says it did not carry is a different problem, and the logs name it.","fr":"Nombre d\'\xe9missions suppl\xe9mentaires d\'un ordre radio, comme une vraie t\xe9l\xe9commande le r\xe9p\xe8te tant qu\'on appuie. Rien n\'accuse r\xe9ception d\'un ordre radio : une trame perdue dans le bruit, c\'est un clic sans effet. Montez \xe0 2 ou 3 si un appareil ignore parfois Gladys. 0 n\'envoie chaque ordre qu\'une fois. Un appareil peut la surcharger avec sa propre valeur repeat. Cela r\xe9pond \xe0 une trame perdue dans le bruit, que rien ne signale : un ordre que le bo\xeetier dit lui-m\xeame ne pas avoir port\xe9 est un autre probl\xe8me, et les journaux le nomment."},"required":false,"default":1,"min":0,"max":5},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the box sensors are read, in seconds. A device can override it with its own refresh value.","fr":"Fr\xe9quence de lecture des capteurs du bo\xeetier, en secondes. Un appareil peut la surcharger avec sa propre valeur refresh."},"required":false,"default":300,"min":30,"max":3600},{"key":"accept_unreliable","type":"boolean","label":{"en":"Accept unreliable frames","fr":"Accepter les trames peu fiables"},"description":{"en":"The box grades every frame it decodes, and the badly graded ones are normally ignored \u2014 as the official Jeedom plugin does. Turn this on when a remote is heard but never followed: its frames are then used anyway, at the risk of the occasional false trigger. It changes nothing for a protocol the box picks up without decoding it (no address in the logs): that one needs the listening channel set to its pid.","fr":"Le bo\xeetier note chaque trame qu\'il d\xe9code, et celles qu\'il note mal sont ignor\xe9es \u2014 comme le fait le plugin Jeedom officiel. Activez ceci si une t\xe9l\xe9commande est entendue sans jamais \xeatre suivie : ses trames seront alors utilis\xe9es quand m\xeame, au risque d\'une fausse d\xe9tection de temps en temps. Sans effet sur un protocole que le bo\xeetier capte sans le d\xe9coder (aucune adresse dans les journaux) : celui-l\xe0 demande son pid dans le canal d\'\xe9coute."},"required":false,"default":false},{"key":"debug_logs","type":"boolean","label":{"en":"Detailed logs (debug)","fr":"Journaux d\xe9taill\xe9s (debug)"},"description":{"en":"Log every radio frame the box hears, including the ones dropped as unreliable or left undecoded. Turn it on to find out why a remote does not show up, and off again once you know: it is verbose. The password of your connection string is never logged; the rest of it is, at this level, so you can see what Gladys is really holding.","fr":"Journalise chaque trame radio entendue par le bo\xeetier, y compris celles \xe9cart\xe9es comme peu fi
1ables ou non d\xe9cod\xe9es. Activez-le pour comprendre pourquoi une t\xe9l\xe9commande ne remonte pas, puis d\xe9sactivez-le : c\'est verbeux. Le mot de passe de votre cha\xeene de connexion n\'est jamais journalis\xe9 ; le reste de la cha\xeene l\'est \xe0 ce niveau, pour que vous voyiez ce que Gladys tient vraiment."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-20T18:02:33Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"docker","store_slug":"PhilippeMA/gladys-docker","repo_url":"https://github.com/PhilippeMA/gladys-docker","name":"Docker","type":"device","version":"1.0.2","description":{"en":"Start, stop, restart and monitor the Docker containers of your server.","fr":"D\xe9marrez, arr\xeatez, red\xe9marrez et surveillez les conteneurs Docker de votre serveur."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/PhilippeMA--gladys-docker.png","docker_image":"ghcr.io/philippema/gladys-docker:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Before you start","fr":"Avant de commencer"},"description":{"en":"This integration runs in a sandboxed container that cannot mount the Docker socket of your host. It talks to the Docker Engine API over the network instead: expose it with a read-limited socket proxy (recommended) and paste its address below. The full step-by-step is in the documentation.","fr":"Cette int\xe9gration tourne dans un conteneur isol\xe9 qui ne peut pas monter la socket Docker de votre h\xf4te. Elle dialogue avec l\'API Docker Engine via le r\xe9seau : exposez-la avec un proxy de socket \xe0 droits limit\xe9s (recommand\xe9) et collez son adresse ci-dessous. La proc\xe9dure compl\xe8te est dans la documentation."},"links":[{"url":"https://github.com/Tecnativa/docker-socket-proxy","label":{"en":"Docker socket proxy","fr":"Proxy de socket Docker"}},{"url":"https://docs.docker.com/reference/api/engine/","label":{"en":"Docker Engine API","fr":"API Docker Engine"}}]},{"key":"docker_api_url","type":"string","label":{"en":"Docker API address","fr":"Adresse de l\'API Docker"},"description":{"en":"Address of the Docker Engine API, for example http://192.168.1.10:2375. https:// is supported.","fr":"Adresse de l\'API Docker Engine, par exemple http://192.168.1.10:2375. https:// est support\xe9."},"placeholder":{"en":"http://192.168.1.10:2375","fr":"http://192.168.1.10:2375"},"required":true},{"key":"tls_insecure","type":"boolean","label":{"en":"Accept a self-signed certificate","fr":"Accepter un certificat auto-sign\xe9"},"description":{"en":"https addresses only: skip the verification of the server certificate. Leave off unless your proxy uses a self-signed certificate.","fr":"Adresses https uniquement : ne pas v\xe9rifier le certificat du serveur. \xc0 laisser d\xe9sactiv\xe9 sauf si votre proxy utilise un certificat auto-sign\xe9."},"required":false,"default":false},{"key":"name_filter","type":"string","label":{"en":"Containers to include","fr":"Conteneurs \xe0 inclure"},"description":{"en":"Comma-separated container names, * allowed (e.g. media-*, nginx). Leave empty to expose every container.","fr":"Noms de conteneurs s\xe9par\xe9s par des virgules, * autoris\xe9 (ex. media-*, nginx). Laissez vide pour exposer tous les conteneurs."},"placeholder":{"en":"media-*, nginx","fr":"media-*, nginx"},"required":false,"default":""},{"key":"exclude_filter","type":"string","label":{"en":"Containers to exclude","fr":"Conteneurs \xe0 exclure"},"description":{"en":"Comma-separated container names, * allowed. Applied after the inclusion list \u2014 keep your Gladys containers here.","fr":"Noms de conteneurs s\xe9par\xe9s par des virgules, * autoris\xe9. Appliqu\xe9 apr\xe8s la liste d\'inclusion \u2014 gardez-y vos conteneurs Gladys."},"placeholder":{"en":"gladys*, *-db","fr":"gladys*, *-db"},"required":false,"default":"gladys*"},{"key":"include_stopped","type":"boolean","label":{"en":"Offer stopped containers","fr":"Proposer les conteneurs arr\xeat\xe9s"},"description":{"en":"Also list the containers that are currently stopped in the Discovery tab.","fr":"Lister aussi les conteneurs actuellement arr\xeat\xe9s dans l\'onglet D\xe9couverte."},"required":false,"default":true},{"key":"collect_stats","type":"boolean","label":{"en":"Collect CPU and memory","fr":"Collecter CPU et m\xe9moire"},"description":{"en":"Add a CPU and a memory sensor to each container. Costs about one second of daemon time per container and per refresh.","fr":"Ajoute un capteur CPU et un capteur m\xe9moire \xe0 chaque conteneur. Co\xfbte environ une seconde de daemon par conteneur et par rafra\xeechissement."},"required":false,"default":true},{"key":"poll_frequency","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"How often the state and the sensors of each container are refreshed. Gladys polls no slower than once a minute. With CPU and memory collection on, each refresh costs about a second of daemon time per container: keep it slow if you manage many.","fr":"Fr\xe9quence de rafra\xeechissement de l\'\xe9tat et des capteurs de chaque conteneur. Gladys n\'interroge pas plus lentement qu\'une fois par minute. Avec la collecte CPU et m\xe9moire, chaque rafra\xeechissement co\xfbte environ une seconde de daemon par conteneur : gardez-le lent si vous en g\xe9rez beaucoup."},"required":false,"default":"60000","options":[{"value":"10000","label":{"en":"Every 10 seconds","fr":"Toutes les 10 secondes"}},{"value":"15000","label":{"en":"Every 15 seconds","fr":"Toutes les 15 secondes"}},{"value":"30000","label":{"en":"Every 30 seconds","fr":"Toutes les 30 secondes"}},{"value":"60000","label":{"en":"Every minute","fr":"Toutes les minutes"}}]},{"key":"discovery_frequency","type":"number","label":{"en":"Discovery interval (s)","fr":"Intervalle de d\xe9couverte (s)"},"description":{"en":"How often the container list is re-read, so new containers show up on their own. Unrelated to the refresh interval above: this one is the integration\u2019s own timer.","fr":"Fr\xe9quence de relecture de la liste des conteneurs, pour que les nouveaux apparaissent d\'eux-m\xeames. Sans rapport avec l\'intervalle ci-dessus : c\'est le minuteur propre \xe0 l\'int\xe9gration."},"required":false,"default":300,"min":60,"max":3600},{"key":"stop_timeout","type":"number","label":{"en":"Stop timeout (s)","fr":"D\xe9lai d\'arr\xeat (s)"}
1,"description":{"en":"Grace period Docker gives a container to exit before killing it.","fr":"D\xe9lai laiss\xe9 par Docker \xe0 un conteneur pour s\'arr\xeater avant de le tuer."},"required":false,"default":10,"min":0,"max":300}],"stars":0,"pushed_at":"2026-08-27T19:36:28Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/25247304?v=4"},{"slug":"ecoflow","store_slug":"LM1LC3N7/gladys-ecoflow","repo_url":"https://github.com/LM1LC3N7/gladys-ecoflow","name":"EcoFlow","type":"device","version":"0.2.2","description":{"en":"Monitor and control EcoFlow River 2 power stations via the official API or a simple login.","fr":"Surveillez et contr\xf4lez vos stations EcoFlow River 2 via l\'API officielle ou une connexion simple."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/placeholder.png","docker_image":"ghcr.io/lm1lc3n7/gladys-ecoflow:0.2.2","gladys_version":">=4.86.1","config_schema":[{"key":"intro","type":"section","label":{"en":"Method 1: Official EcoFlow Open Platform (recommended)","fr":"M\xe9thode 1 : EcoFlow Open Platform officielle (recommand\xe9e)"},"description":{"en":"EcoFlow devices have no local/LAN control path \u2014 even a device that only ever sits on your own WiFi is controlled through EcoFlow\'s cloud, both by the official app and by this integration (confirmed against EcoFlow\'s own support stance; the only exception in EcoFlow\'s whole catalog is the unrelated EZ1 sprinkler-timer-sized unit). Create a free developer account, then an Access Key/Secret Key pair, at the EcoFlow Open Platform below \u2014 approval can take about a week. Every device on the account is discovered automatically after saving; there is nothing else to enter. Prefer this method: it is documented and auto-discovers your devices. See Method 2 below for a simpler-to-start, unofficial alternative if you would rather not wait for approval.","fr":"Les appareils EcoFlow n\'ont aucun mode de contr\xf4le local/LAN \u2014 m\xeame un appareil qui ne quitte jamais votre r\xe9seau WiFi est pilot\xe9 via le cloud EcoFlow, aussi bien par l\'application officielle que par cette int\xe9gration (confirm\xe9 par la position officielle d\'EcoFlow ; la seule exception dans tout le catalogue EcoFlow est l\'EZ1, un minuteur d\'arrosage sans rapport). Cr\xe9ez un compte d\xe9veloppeur gratuit, puis une paire Access Key/Secret Key, sur l\'EcoFlow Open Platform ci-dessous \u2014 l\'approbation peut prendre environ une semaine. Tous les appareils du compte sont d\xe9couverts automatiquement apr\xe8s l\'enregistrement \u2014 rien d\'autre \xe0 saisir. Privil\xe9giez cette m\xe9thode : elle est document\xe9e et d\xe9couvre vos appareils automatiquement. Voir la m\xe9thode 2 ci-dessous pour une alternative non officielle, plus rapide \xe0 d\xe9marrer, si vous pr\xe9f\xe9rez ne pas attendre l\'approbation."},"links":[{"url":"https://developer-eu.ecoflow.com/","label":{"en":"EcoFlow Open Platform (EU)","fr":"EcoFlow Open Platform (UE)"}},{"url":"https://developer.ecoflow.com/","label":{"en":"EcoFlow Open Platform (global)","fr":"EcoFlow Open Platform (international)"}}]},{"key":"access_key","type":"secret","label":{"en":"Access Key","fr":"Access Key"},"required":false},{"key":"secret_key","type":"secret","label":{"en":"Secret Key","fr":"Secret Key"},"required":false},{"key":"api_host","type":"select","label":{"en":"API region","fr":"R\xe9gion de l\'API"},"description":{"en":"The region your EcoFlow developer account/Access Key was created in.","fr":"La r\xe9gion dans laquelle votre compte d\xe9veloppeur/Access Key EcoFlow a \xe9t\xe9 cr\xe9\xe9."},"required":false,"default":"https://api-e.ecoflow.com","options":[{"value":"https://api-e.ecoflow.com","label":{"en":"Europe","fr":"Europe"}},{"value":"https://api-a.ecoflow.com","label":{"en":"Americas / rest of world","fr":"Am\xe9riques / reste du monde"}}]},{"key":"intro_private","type":"section","label":{"en":"Method 2: Simple login (unofficial, optional)","fr":"M\xe9thode 2 : connexion simple (non officielle, optionnelle)"},"description":{"en":"No developer account, no approval wait \u2014 just the same email and password you use to sign in to the EcoFlow app. Read before using: this uses EcoFlow\'s internal app endpoints, not the documented Open Platform API \u2014 it can change or break without notice, and there is no device auto-discovery with this method, so you must type in each device\'
1s serial number yourself (Settings > Device Info in the EcoFlow app, or printed on the unit). Both methods can be used at once; a serial number listed below is always handled through this method even if the same device also appears on an official account configured above.","fr":"Aucun compte d\xe9veloppeur, aucune attente d\'approbation \u2014 juste le m\xeame email et mot de passe que pour vous connecter \xe0 l\'application EcoFlow. \xc0 lire avant utilisation : ceci utilise les points d\'acc\xe8s internes de l\'application EcoFlow, pas l\'API Open Platform document\xe9e \u2014 cela peut changer ou casser sans pr\xe9avis, et il n\'y a pas de d\xe9couverte automatique des appareils avec cette m\xe9thode : vous devez saisir vous-m\xeame le num\xe9ro de s\xe9rie de chaque appareil (Param\xe8tres > Infos appareil dans l\'app EcoFlow, ou imprim\xe9 sur l\'appareil). Les deux m\xe9thodes peuvent \xeatre utilis\xe9es ensemble ; un num\xe9ro de s\xe9rie list\xe9 ci-dessous est toujours g\xe9r\xe9 par cette m\xe9thode, m\xeame si le m\xeame appareil appara\xeet aussi sur un compte officiel configur\xe9 plus haut."}},{"key":"private_username","type":"secret","label":{"en":"EcoFlow account email","fr":"Email du compte EcoFlow"},"description":{"en":"The email address you use to sign in to the EcoFlow app.","fr":"L\'adresse email utilis\xe9e pour vous connecter \xe0 l\'application EcoFlow."},"required":false},{"key":"private_password","type":"secret","label":{"en":"EcoFlow account password","fr":"Mot de passe du compte EcoFlow"},"description":{"en":"Stored encrypted by Gladys and never leaves your instance except to talk to EcoFlow.","fr":"Stock\xe9 chiffr\xe9 par Gladys, il ne quitte jamais votre instance sauf pour parler \xe0 EcoFlow."},"required":false},{"key":"private_device_sns","type":"string","label":{"en":"Device serial number(s)","fr":"Num\xe9ro(s) de s\xe9rie des appareils"},"description":{"en":"Comma-separated if you have more than one, e.g. \\"R331ZEB4HFJC1234,R331ZEB4HFJC5678\\". Required for this method \u2014 there is no auto-discovery.","fr":"S\xe9par\xe9s par des virgules si vous en avez plusieurs, ex. \xab R331ZEB4HFJC1234,R331ZEB4HFJC5678 \xbb. Requis pour cette m\xe9thode \u2014 il n\'y a pas de d\xe9couverte automatique."},"required":false,"default":""},{"key":"poll_interval_seconds","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each device\'s telemetry (battery level, power in/out) is re-polled, through whichever method it uses.","fr":"Fr\xe9quence de rafra\xeechissement des donn\xe9es de chaque appareil (niveau de batterie, puissance entrante/sortante), via la m\xe9thode utilis\xe9e pour cet appareil."},"required":false,"default":30,"min":10,"max":3600}],"stars":0,"pushed_at":"2026-09-10T21:05:43Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/14235706?v=4"},{"slug":"ecojoko","store_slug":"guim31/gladys-ecojoko","repo_url":"https://github.com/guim31/gladys-ecojoko","name":"ecojoko","type":"device","version":"1.0.2","description":{"en":"Live power, daily consumption and ambient sensors from your ecojoko energy assistant.","fr":"Puissance en direct, consommation du jour et capteurs d\'ambiance de votre assistant ecojoko."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-ecojoko.png","docker_image":"ghcr.io/guim31/gladys-ecojoko:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Fonctionnement"},"description":{"en":"Your ecojoko sensor sends its readings to the ecojoko cloud; this integration reads them back with your ecojoko account (the one of the mobile app). ecojoko publishes no official API: this is the interface its own web app uses, it may change without notice. Nothing is ever written to your account.","fr":"Votre capteur ecojoko envoie ses mesures au cloud ecojoko ; cette int\xe9gration les relit avec votre compte ecojoko (celui de l\'application mobile). ecojoko ne publie pas d\'API officielle : c\'est l\'interface de sa propre application web qui est utilis\xe9e, elle peut changer sans pr\xe9avis. Rien n\'est jamais \xe9crit sur votre compte."},"links":[{"url":"https://service.ecojoko.com/","label":{"en":"My ecojoko account","fr":"Mon compte ecojoko"}}]},{"key":"email","type":"string","label":{"en":"ecojoko email","fr":"E-mail ec
1ojoko"},"required":true,"placeholder":{"en":"[email protected]","fr":"[email protected]"}},{"key":"password","type":"secret","label":{"en":"ecojoko password","fr":"Mot de passe ecojoko"},"required":true},{"key":"poll_frequency","type":"number","label":{"en":"Live power refresh (s)","fr":"Rafra\xeechissement de la puissance (s)"},"description":{"en":"Seconds between two readings of the instantaneous power. Keep it reasonable: every reading is a request to the ecojoko cloud.","fr":"Secondes entre deux lectures de la puissance instantan\xe9e. Restez raisonnable : chaque lecture est une requ\xeate vers le cloud ecojoko."},"required":false,"default":30,"min":5,"max":300},{"key":"stats_frequency","type":"number","label":{"en":"Daily statistics refresh (s)","fr":"Rafra\xeechissement des statistiques du jour (s)"},"description":{"en":"Seconds between two refreshes of today\'s consumption, the cumulative index and the ambient sensors.","fr":"Secondes entre deux mises \xe0 jour de la consommation du jour, de l\'index cumul\xe9 et des capteurs d\'ambiance."},"required":false,"default":300,"min":60,"max":3600},{"key":"sub_consumption","type":"boolean","label":{"en":"One sensor per tariff period","fr":"Un capteur par p\xe9riode tarifaire"},"description":{"en":"Adds today\'s kWh per period reported by ecojoko (off-peak/peak hours, Tempo colours) when your tariff declares them.","fr":"Ajoute les kWh du jour par p\xe9riode remont\xe9e par ecojoko (heures creuses/pleines, couleurs Tempo) quand votre tarif en d\xe9clare."},"required":false,"default":true},{"key":"environment","type":"boolean","label":{"en":"Ambient temperature and humidity","fr":"Temp\xe9rature et humidit\xe9 ambiantes"},"description":{"en":"Publishes the indoor/outdoor temperature and humidity of the ecojoko display as a second device.","fr":"Publie la temp\xe9rature et l\'humidit\xe9 int\xe9rieures/ext\xe9rieures de l\'afficheur ecojoko comme second appareil."},"required":false,"default":true}],"stars":0,"pushed_at":"2026-09-09T19:34:15Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"enki","store_slug":"callemand/gladys-enki","repo_url":"https://github.com/callemand/gladys-enki","name":"Enki","type":"device","version":"1.0.1","description":{"en":"Control your Enki (Leroy Merlin) lights and ceiling fans from Gladys, via the Enki cloud.","fr":"Pilotez vos \xe9clairages et ventilateurs Enki (Leroy Merlin) depuis Gladys, via le cloud Enki."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-enki.png","docker_image":"ghcr.io/callemand/gladys-enki:1.0.1","gladys_version":">=4.62.0","config_schema":[{"key":"email","type":"string","label":{"en":"Enki email","fr":"E-mail Enki"},"description":{"en":"The email address of your Enki account (the one used in the Enki mobile app).","fr":"L\'adresse e-mail de votre compte Enki (celle utilis\xe9e dans l\'application mobile Enki)."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Enki password","fr":"Mot de passe Enki"},"description":{"en":"The password of your Enki account.","fr":"Le mot de passe de votre compte Enki."},"placeholder":{"en":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","fr":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"},"required":true}],"stars":0,"pushed_at":"2026-07-28T20:21:31Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"enphase-iq-gateway","store_slug":"EchoPouet/gladys-enphase","repo_url":"https://github.com/EchoPouet/gladys-enphase","name":"Enphase IQ Gateway","type":"device","version":"1.0.2","description":{"en":"Local monitoring of your Enphase IQ Gateway: production, consumption and micro-inverters.","fr":"Suivi local de votre IQ Gateway Enphase : production, consommation et micro-onduleurs."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/EchoPouet--gladys-enphase.png","docker_image":"ghcr.io/echopouet/gladys-enphase:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"Generate a local access token on your IQ Gateway (firmware D8+): from the gateway web UI, go to System > Local Access, sign the Enphase agreement and copy the token. The integration reads it directly on your local network \u2014 no cloud account needed.","fr":"G\xe9n\xe9rez un jeton d\'acc\xe8s local sur votre IQ Gateway (firmware D8+) : depuis l\'interface web du gateway, allez dans Syst\xe8me > Acc\xe8s local, signez l\'accord Enphase et copiez le jeton. L\'int\xe9gration le lit directement sur votre r\xe9seau local \u2014 aucun compte cloud n\xe9cessaire."},"links":[{"url":"https://enphase.com/download/iq-gateway-access-using-token-tech-brief","label":{"en":"Enphase token tech brief","fr":"Documentation technique du jeton Enphase"}}]},{"key":"gateway_ip","type":"string","label":{"en":"Gateway IP address","fr":"Adresse IP du gateway"},"description":{"en":"The local IP address of your IQ Gateway, e.g. 192.168.1.42. Use the \\"Detect gateway\\" button to find it on your network.","fr":"L\'adresse IP locale de votre IQ Gateway, ex. 192.168.1.42. Utilisez le bouton \xab D\xe9tecter le gateway \xbb pour la trouver sur votre r\xe9seau."},"placeholder":{"en":"192.168.1.42","fr":"192.168.1.42"},"required":true},{"key":"access_token","type":"secret","label":{"en":"Local access token","fr":"Jeton d\'acc\xe8s local"},"description":{"en":"The JWT token generated in the gateway web UI (System > Local Access). It is stored encrypted by Gladys and never sent to the frontend.","fr":"Le jeton JWT g\xe9n\xe9r\xe9 dans l\'interface web du gateway (Syst\xe8me > Acc\xe8s local). Il est stock\xe9 chiffr\xe9 par Gladys et jamais renvoy\xe9 au frontend."},"placeholder":{"en":"eyJhbGciOi...","fr":"eyJhbGciOi..."},"required":true},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the gateway is polled, in seconds. Production data updates every 5 seconds on the gateway; a 15-60 s poll is a good balance.","fr":"Fr\xe9quence d\'interrogation du gateway, en secondes. Les donn\xe9es de production sont mises \xe0 jour toutes les 5 secondes sur le gateway ; un poll de 15 \xe0 60 s est un bon compromis."},"required":false,"default":60,"min":15,"max":600},{"key":"include_inverters","type":"boolean","label":{"en":"Monitor each micro-inverter","fr":"Suivre chaque micro-onduleur"},"description":{"en":"Publish one device per micro-inverter with its current production, to spot a failing unit (a dead inverter reports 0 W).","fr":"Publie un appareil par micro-onduleur avec sa production actuelle, pour rep\xe9rer une unit\xe9 d\xe9faillante (un onduleur mort rapporte 0 W)."},"required":false,"default":true},{"key":"pinned_cert_fingerprint","type":"string","label":{"en":"Gateway certificate fingerprint (
1optional)","fr":"Empreinte du certificat du gateway (optionnel)"},"description":{"en":"Optional SHA-256 fingerprint of the gateway\'s certificate (e.g. AB:CD:12:34:\u2026). When set, the integration only trusts a gateway whose certificate matches it \u2014 the recommended defense against a device impersonating your gateway on the local network. Get it from your browser\'s certificate view, or with: openssl s_client -connect <gateway_ip>:443 < /dev/null 2>/dev/null | openssl x509 -noout -fingerprint -sha256.","fr":"Empreinte SHA-256 (optionnelle) du certificat du gateway (ex. AB:CD:12:34:\u2026). Si renseign\xe9e, l\'int\xe9gration ne fait confiance qu\'\xe0 un gateway dont le certificat lui correspond \u2014 protection recommand\xe9e contre un appareil usurpant votre gateway sur le r\xe9seau local. Obtenez-la depuis le certificat dans votre navigateur, ou avec : openssl s_client -connect <adresse_gateway>:443 < /dev/null 2>/dev/null | openssl x509 -noout -fingerprint -sha256."},"placeholder":{"en":"AB:CD:EF:12:34:\u2026","fr":"AB:CD:EF:12:34:\u2026"},"required":false}],"stars":0,"pushed_at":"2026-08-16T15:39:45Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/5129154?v=4"},{"slug":"esphome","store_slug":"William-De71/gladys-esphome","repo_url":"https://github.com/William-De71/gladys-esphome","name":"ESPHome","type":"device","version":"1.0.5","description":{"en":"Control your ESPHome devices (ESP32/ESP8266) locally, over the native API.","fr":"Pilotez vos appareils ESPHome (ESP32/ESP8266) en local, via l\'API native."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-esphome.jpg","docker_image":"ghcr.io/william-de71/gladys-esphome:1.0.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"This integration talks to your ESPHome nodes on your local network, through their native API (port 6053). Paste your encryption key below, then go to the Discover screen and run a scan: the nodes found on your network appear there with all their entities, ready to be added. No IP address to type.","fr":"Cette int\xe9gration communique avec vos n\u0153uds ESPHome sur votre r\xe9seau local, via leur API native (port 6053). Collez votre cl\xe9 de chiffrement ci-dessous, puis allez dans l\'\xe9cran D\xe9couverte et lancez un scan : les n\u0153uds trouv\xe9s sur votre r\xe9seau y apparaissent avec toutes leurs entit\xe9s, pr\xeats \xe0 \xeatre ajout\xe9s. Aucune adresse IP \xe0 saisir."},"links":[{"url":"https://esphome.io/components/api.html","label":{"en":"ESPHome native API documentation","fr":"Documentation de l\'API native ESPHome"}}]},{"key":"encryption_key","type":"secret","label":{"en":"Encryption key","fr":"Cl\xe9 de chiffrement"},"description":{"en":"The base64 key declared under `api: encryption: key:` in your ESPHome YAML. Used for every node that has no specific key below. Leave empty only if your nodes have no encryption.","fr":"La cl\xe9 base64 d\xe9clar\xe9e sous `api: encryption: key:` dans votre YAML ESPHome. Utilis\xe9e pour tous les n\u0153uds n\'ayant pas de cl\xe9 sp\xe9cifique ci-dessous. \xc0 laisser vide uniquement si vos n\u0153uds n\'ont pas de chiffrement."},"placeholder":{"en":"kBv1s2f...=","fr":"kBv1s2f...="},"required":false},{"key":"advanced","type":"section","label":{"en":"Nodes with a different key","fr":"N\u0153uds avec une cl\xe9 diff\xe9rente"},"description":{"en":"Fill the two fields below only if some nodes do not share the key above, or if a node is not found by the network scan (another VLAN, mDNS filtered by your router).","fr":"Ne remplissez les deux champs ci-dessous que si certains n\u0153uds ne partagent pas la cl\xe9 ci-dessus, ou si un n\u0153ud n\'est pas trouv\xe9 par le scan r\xe9seau (autre VLAN, mDNS filtr\xe9 par votre routeur)."}},{"key":"encryption_keys","type":"secret","label":{"en":"Keys per node","fr":"Cl\xe9s par n\u0153ud"},"description":{"en":"One node per line, in the form `node|key`. The node name is the one from your ESPHome YAML (`esphome: name:`), or its address. These keys take precedence over the key above.","fr":"Un n\u0153ud par ligne, sous la forme `n\u0153ud|cl\xe9`. Le nom du n\u0153ud est celui de votre YAML ESPHome (`esphome: name:`), ou son adresse. Ces cl\xe9s sont prioritaires sur la cl\xe9 ci-dessus."},"placeholder":{"en":"salon|kBv1s2f...=\\nkitchen|9xQm4Zt...=","fr":"salon|kBv1s2f...=\\ncuisine|9xQm4Zt...="},"required":false},{"key":"nodes","type":"string","label":{"en":"Nodes added by hand","fr":"N\u0153uds ajout\xe9s \xe0 la main"},"description":{"en":"One address per line (`salon.local`, `192.168.1.42`, or `192.168.1.42:6053`), for the nodes the network scan does not find. Nodes found by the scan need nothing here.","fr":"Une adresse par ligne (`salon.local`, `192.168.1.42`, ou `192.168.1.42:6053`), pour les n\u0153uds que le scan r\xe9seau ne trouve pas. Les n\u0153uds trouv\xe9s par le scan n\'ont rien \xe0 faire ici."},"placeholder":{"en":"salon.local\\n192.168.1.42:6053","fr":"salon.local\\n192.168.1.42:6053"},"required":false},{"key":"scan_duration","type":"number","label":{"en":"Discovery duration (s)","fr":"Dur\xe9e de la d\xe9couverte (s)"},"description":{"en":"How long the mDNS scan listens for ESPHome nodes on the network.","fr":"Dur\xe9e pendant laquelle le scan mDNS \xe9coute les n\u0153uds ESPHome sur le r\xe9seau."},"required":false,"default":8,"min":3,"max":30},{"key":"connection_timeout","type":"number","label":{"en":"Connection timeout (s)","fr":"D\xe9lai d\'attente de connexion (s)"},"description":{"en":"How long to wait for a node to answer before giving up on it.","fr":"Temps d\'attente pour qu\'un n\u0153ud r\xe9ponde avant de l\'abandonner."},"required":false,"default":10,"min":5,"max":60}],"stars":0,"pushed_at":"2026-09-11T21:12:48Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"free-mobile-sms","store_slug":"William-De71/gladys-free-mobile","repo_url":"https://github.com/William-De71/gladys-free-mobile","name":"Free Mobile SMS","type":"communication","version":"1.1.1","description":{"en":"Send SMS notifications to your own phone number through the Free Mobile SMS API.","fr":"Envoyez des notifications SMS ver
1s votre propre num\xe9ro via l\'API SMS de Free Mobile."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-free-mobile.jpg","docker_image":"ghcr.io/william-de71/gladys-free-mobile:1.1.1","gladys_version":">=4.86.0","config_schema":[],"stars":0,"pushed_at":"2026-08-20T12:53:34Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"freebox","store_slug":"William-De71/gladys-freebox","repo_url":"https://github.com/William-De71/gladys-freebox","name":"Freebox","type":"device","version":"1.1.0","description":{"en":"Control your Freebox home automation devices, players and cameras from Gladys.","fr":"Contr\xf4lez la domotique, les players et les cam\xe9ras de votre Freebox depuis Gladys."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-freebox.jpg","docker_image":"ghcr.io/william-de71/gladys-freebox:1.1.0","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Connect your Freebox","fr":"Connectez votre Freebox"},"description":{"en":"This integration talks to your Freebox Server over your local network. To pair it, click \\"Pair with the Freebox\\" below, then physically confirm the authorization on your Freebox Server LCD screen (press the right arrow on the box). You have about 55 seconds to confirm, so stand next to your Freebox before clicking; if the delay expires, just run the action again. The pairing is done only once.","fr":"Cette int\xe9gration communique avec votre Freebox Server sur votre r\xe9seau local. Pour l\'appairer, cliquez sur \xab Appairer avec la Freebox \xbb ci-dessous, puis confirmez physiquement l\'autorisation sur l\'\xe9cran LCD de votre Freebox Server (fl\xe8che de droite sur la box). Vous disposez d\'environ 55 secondes pour confirmer : placez-vous pr\xe8s de votre Freebox avant de cliquer ; si le d\xe9lai expire, relancez simplement l\'action. L\'appairage n\'est \xe0 faire qu\'une seule fois."},"links":[{"url":"https://dev.freebox.fr/sdk/os/","label":{"en":"Freebox OS API documentation","fr":"Documentation de l\'API Freebox OS"}}]},{"key":"permissions","type":"section","label":{"en":"Grant the permissions","fr":"Accordez les permissions"},"description":{"en":"After pairing, open your Freebox settings (Freebox OS > Settings > Access management > Applications > Gladys Assistant) and enable the Home automation, Camera and Player permissions. Without them, the matching devices will not appear during discovery.","fr":"Apr\xe8s l\'appairage, ouvrez les r\xe9glages de votre Freebox (Freebox OS > Param\xe8tres > Gestion des acc\xe8s > Applications > Gladys Assistant) et cochez les permissions Domotique, Cam\xe9ra et Player. Sans elles, les appareils correspondants n\'appara\xeetront pas lors de la d\xe9couverte."}}],"stars":0,"pushed_at":"2026-08-20T12:43:28Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"fully-kiosk-browser","store_slug":"vincentBesseau/gladys-fullykiosk","repo_url":"https://github.com/vincentBesseau/gladys-fullykiosk","name":"Fully Kiosk Browser","type":"device","version":"1.0.0","description":{"en":"Discover Fully Kiosk tablets over MQTT or by IP, and control them through their local HTTP API.","fr":"D\xe9couvrez vos tablettes Fully Kiosk via MQTT ou par IP, et pilotez-les via leur API HTTP locale."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/vincentBesseau--gladys-fullykiosk.jpg","docker_image":"ghcr.io/vincentbesseau/gladys-fullykiosk:1.0.0","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Fully Kiosk Browser, over MQTT + local HTTP","fr":"Fully Kiosk Browser, via MQTT + HTTP local"},"description":{"en":"This integration discovers your Fully Kiosk Browser tablets from MQTT status messages, then controls them through their local REST API. MQTT reporting requires a Fully Kiosk PLUS license - on the free edition, use the \\"Add a tablet by IP\\" action instead, no MQTT needed. Fully Kiosk\'s REST API (used to control tablets either way) is protected by a password set per tablet (Fully Kiosk settings > Remote Administration).","fr":"Cette int\xe9gration d\xe9couvre vos tablettes Fully Kiosk Browser \xe0 partir de messages de statut MQTT, puis les pilote via leur API REST locale. Le reporting MQTT n\xe9cessite une licence Fully Kiosk PLUS - avec l\'\xe9dition gratuite, utilisez plut\xf4t l\'action \xab Ajouter une tablette par IP \xbb, sans MQTT. L\'API REST de Fully Kiosk (utilis\xe9e pour piloter les tablettes dans les deux cas) est prot\xe9g\xe9e par un mot de passe d\xe9fini par tablette (param\xe8tres Fully Kiosk > Administration \xe0 distance)."}},{"key":"broker_mode","type":"select","label":{"en":"MQTT broker","fr":"Broker MQTT"},"description":{"en":"Only relevant if you use MQTT discovery (requires a Fully Kiosk PLUS license). If you only add tablets via the \\"Add a tablet by IP\\" action, pick \\"Disable MQTT\\" - no broker is started or contacted. \\"Run a dedicated broker\\": this integration starts and manages its own Mosquitto broker - nothing else to install, generated credentials shown by the \\"Show managed broker
1credentials\\" action below. \\"Connect to an existing broker\\": use the MQTT server you already run, with the fields further down.","fr":"Pertinent uniquement si vous utilisez la d\xe9couverte MQTT (n\xe9cessite une licence Fully Kiosk PLUS). Si vous n\'ajoutez vos tablettes que via l\'action \xab Ajouter une tablette par IP \xbb, choisissez \xab D\xe9sactiver MQTT \xbb - aucun broker n\'est d\xe9marr\xe9 ni contact\xe9. \xab Lancer un broker d\xe9di\xe9 \xbb : cette int\xe9gration d\xe9marre et g\xe8re son propre broker Mosquitto - rien d\'autre \xe0 installer, identifiants g\xe9n\xe9r\xe9s affich\xe9s par l\'action \xab Afficher les identifiants du broker d\xe9di\xe9 \xbb ci-dessous. \xab Se connecter \xe0 un broker existant \xbb : utilisez le serveur MQTT que vous avez d\xe9j\xe0, avec les champs plus bas."},"options":[{"value":"managed","label":{"en":"Run a dedicated broker (recommended)","fr":"Lancer un broker d\xe9di\xe9 (recommand\xe9)"}},{"value":"external","label":{"en":"Connect to an existing broker","fr":"Se connecter \xe0 un broker existant"}},{"value":"disabled","label":{"en":"Disable MQTT (\\"Add a tablet by IP\\" only)","fr":"D\xe9sactiver MQTT (\xab Ajouter une tablette par IP \xbb uniquement)"}}],"default":"managed"},{"key":"mqtt_host","type":"string","label":{"en":"MQTT broker host (external mode only)","fr":"H\xf4te du broker MQTT (mode externe uniquement)"},"placeholder":{"en":"192.168.1.10","fr":"192.168.1.10"}},{"key":"mqtt_port","type":"number","label":{"en":"MQTT broker port (external mode only)","fr":"Port du broker MQTT (mode externe uniquement)"},"default":1883},{"key":"mqtt_use_tls","type":"boolean","label":{"en":"Use TLS (mqtts://) (external mode only)","fr":"Utiliser TLS (mqtts://) (mode externe uniquement)"},"default":false},{"key":"mqtt_username","type":"string","label":{"en":"MQTT username (external mode only)","fr":"Identifiant MQTT (mode externe uniquement)"}},{"key":"mqtt_password","type":"secret","label":{"en":"MQTT password (external mode only)","fr":"Mot de passe MQTT (mode externe uniquement)"}},{"key":"mqtt_topic_prefix","type":"string","label":{"en":"MQTT topic prefix","fr":"Pr\xe9fixe des topics MQTT"},"description":{"en":"This integration subscribes to \\"<prefix>/#\\" and reads any JSON message that looks like a Fully Kiosk deviceInfo report. Must match the \\"MQTT Report Topic\\" root configured in each tablet\'s Fully Kiosk settings.","fr":"Cette int\xe9gration s\'abonne \xe0 \xab <pr\xe9fixe>/# \xbb et lit tout message JSON qui ressemble \xe0 un rapport deviceInfo de Fully Kiosk. Doit correspondre \xe0 la racine du \xab MQTT Report Topic \xbb configur\xe9 dans les param\xe8tres Fully Kiosk de chaque tablette."},"placeholder":{"en":"fully","fr":"fully"},"default":"fully"},{"key":"http_use_https","type":"boolean","label":{"en":"Tablets serve their REST API over HTTPS","fr":"Les tablettes exposent leur API REST en HTTPS"},"default":false}],"stars":0,"pushed_at":"2026-09-07T17:53:51Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33568805?v=4"},{"slug":"gardena-smart-system","store_slug":"Nagromdark/gladys-gardena","repo_url":"https://github.com/Nagromdark/gladys-gardena","name":"GARDENA smart system","type":"device","version":"1.0.2","description":{"en":"Control your GARDENA mowers, valves, power sockets and sensors from Gladys.","fr":"Pilotez vos tondeuses, vannes, prises et capteurs GARDENA depuis Gladys."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Nagromdark--gladys-gardena.png","docker_image":"ghcr.io/nagromdark/gladys-gardena:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Connect your GARDENA account","fr":"Connectez votre compte GARDENA"},"description":{"en":"This integration uses the official public GARDENA smart system API. Create a free account on the Husqvarna developer portal, sign in with your GARDENA (Husqvarna) account, create an application, connect the \\"GARDENA smart system API\\" to it, then copy its Application key and Application secret below.","fr":"Cette int\xe9gration utilise l\'API publique officielle GARDENA smart system. Cr\xe9ez un compte gratuit sur le portail d\xe9veloppeur Husqvarna, connectez-vous avec votre compte GARDENA (Husqvarna), cr\xe9ez une application, connectez-lui l\'API \xab GARDENA smart system API \xbb, puis copiez sa cl\xe9 et son secret d\'application ci-dessous."}
1,"links":[{"url":"https://developer.husqvarnagroup.cloud/","label":{"en":"Husqvarna developer portal","fr":"Portail d\xe9veloppeur Husqvarna"}},{"url":"https://developer.husqvarnagroup.cloud/apis/gardena-smart-system-api","label":{"en":"GARDENA smart system API","fr":"API GARDENA smart system"}}]},{"key":"application_key","type":"string","label":{"en":"Application key","fr":"Cl\xe9 d\'application"},"description":{"en":"The Application key of your application on the Husqvarna developer portal.","fr":"La cl\xe9 d\'application de votre application sur le portail d\xe9veloppeur Husqvarna."},"placeholder":{"en":"00000000-0000-0000-0000-000000000000","fr":"00000000-0000-0000-0000-000000000000"},"required":true},{"key":"application_secret","type":"secret","label":{"en":"Application secret","fr":"Secret d\'application"},"description":{"en":"The Application secret of the same application. It is stored encrypted and never sent back to the browser.","fr":"Le secret d\'application de cette m\xeame application. Il est stock\xe9 chiffr\xe9 et n\'est jamais renvoy\xe9 au navigateur."},"required":true},{"key":"location_id","type":"string","label":{"en":"Location id (optional)","fr":"Identifiant d\'emplacement (optionnel)"},"description":{"en":"Restrict the integration to a single GARDENA location (garden). Leave empty to use every location of the account.","fr":"Limiter l\'int\xe9gration \xe0 un seul emplacement GARDENA (jardin). Laissez vide pour utiliser tous les emplacements du compte."},"required":false},{"key":"poll_frequency","type":"number","label":{"en":"GARDENA API refresh (s)","fr":"Relecture de l\'API GARDENA (s)"},"description":{"en":"Minimum delay between two full reads of the GARDENA API, the safety net behind the real-time stream. GARDENA counts a weekly request quota and this is what spends it: one hour costs about 170 calls a week, fifteen minutes would cost about 670. Changes already arrive in real time, so keep it high.","fr":"D\xe9lai minimum entre deux relectures compl\xe8tes de l\'API GARDENA, le filet de s\xe9curit\xe9 derri\xe8re le flux temps r\xe9el. GARDENA compte un quota hebdomadaire de requ\xeates et c\'est ce r\xe9glage qui le consomme : une heure co\xfbte environ 170 appels par semaine, quinze minutes en co\xfbteraient environ 670. Les changements arrivent d\xe9j\xe0 en temps r\xe9el, gardez une valeur \xe9lev\xe9e."},"required":false,"default":3600,"min":900,"max":86400},{"key":"default_duration","type":"number","label":{"en":"Default duration (min)","fr":"Dur\xe9e par d\xe9faut (min)"},"description":{"en":"How long a valve waters, or a power socket stays on, when you switch it on from Gladys.","fr":"Dur\xe9e d\'arrosage d\'une vanne, ou d\'allumage d\'une prise, lorsque vous l\'activez depuis Gladys."},"required":false,"default":30,"min":1,"max":1440},{"key":"power_socket_on_mode","type":"select","label":{"en":"Power socket switch-on","fr":"Allumage des prises"},"description":{"en":"What happens when a GARDENA power socket is switched on from Gladys.","fr":"Ce qui se passe lorsqu\'une prise GARDENA est allum\xe9e depuis Gladys."},"required":false,"default":"duration","options":[{"value":"duration","label":{"en":"Switch off after the default duration","fr":"\xc9teindre apr\xe8s la dur\xe9e par d\xe9faut"}},{"value":"forever","label":{"en":"Stay on until switched off","fr":"Rester allum\xe9e jusqu\'\xe0 extinction"}}]},{"key":"mower_start_mode","type":"select","label":{"en":"Mower start","fr":"D\xe9marrage de la tondeuse"},"description":{"en":"What starting the mower from Gladys means: let it obey its own calendar, or override it for a fixed duration.","fr":"Ce que signifie d\xe9marrer la tondeuse depuis Gladys : la laisser suivre son calendrier, ou le forcer pendant une dur\xe9e fixe."},"required":false,"default":"schedule","options":[{"value":"schedule","label":{"en":"Obey the mower schedule","fr":"Suivre le calendrier de la tondeuse"}},{"value":"duration","label":{"en":"Mow for the duration below","fr":"Tondre pendant la dur\xe9e ci-dessous"}}]},{"key":"mower_duration","type":"number","label":{"en":"Mowing duration (min)","fr":"Dur\xe9e de tonte (min)"},"description":{"en":"Used when the mower start mode overrides the schedule.","fr":"Utilis\xe9e lorsque le mode de d\xe9marrage force le calendrier."},"required":false,"default":180,"min":1,"max":1440},{"key":"mower_stop_mode","type":"select","label":{"en":"Mower stop","fr":"Arr\xeat de la tondeuse"},"description":{"en":"What stopping the mower from Gladys means: park it until the next scheduled task, or cancel the schedule entirely.","fr":"Ce que signifie arr\xeater la tondeuse depuis Gladys : la garer jusqu\'\xe0 la prochaine t\xe2che planifi\xe9e, ou annuler le calendrier."},"required":false,"default":"next_task","options":[{"value":"next_task","label":{"en":"Park until the next scheduled task","fr":"Garer jusqu\'\xe0 la prochaine t\xe2che"}},{"value":"further_notice","label":{"en":"Park until further notice","fr":"Garer jusqu\'\xe0 nouvel ordre"}}]}],"stars":0,"pushed_at":"2026-08-20T05:09:18Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/214889285?v=4"},{"slug":"home-connect","store_slug":"prohand/gladys-homeconnect","repo_url":"https://github.com/prohand/gladys-homeconnect","name":"Home Connect","type":"device","version":"1.0.5","description":{"en":"Monitor and control your Bosch, Siemens, Neff and Gaggenau appliances via Home Connect.","fr":"Pilotez et suivez vos appareils Bosch, Siemens, Neff et Gaggenau via Home Connect."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-homeconnect.png","docker_image":"ghcr.io/prohand/gladys-homeconnect:1.0.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Before you start","fr":"Avant de commencer"},"description":{"en":"Home Connect has no local API: everything goes through the BSH cloud. Create a free developer account, register an application of type \\"Home Connect Application\\" with the Authorization Code Grant Flow, and paste its Client ID and Client Secret below. The redirect URI to register is shown by the \\"Test the connection\\" action once you start the connection.","fr":"Home Connect n\'a pas d\'API locale : tout passe par le cloud BSH. Cr\xe9ez un compte d\xe9veloppeur gratuit, enregistrez une application de type \xab Home Connect Application \xbb avec le flux Authorization Code Grant, pu
1is collez ses Client ID et Client Secret ci-dessous. L\'URL de redirection \xe0 d\xe9clarer est affich\xe9e par l\'action \xab Tester la connexion \xbb une fois la connexion lanc\xe9e."},"links":[{"url":"https://developer.home-connect.com/","label":{"en":"Home Connect developer portal","fr":"Portail d\xe9veloppeur Home Connect"}},{"url":"https://developer.home-connect.com/application/add","label":{"en":"Register an application","fr":"Enregistrer une application"}}]},{"key":"client_id","type":"string","label":{"en":"Client ID","fr":"Client ID"},"description":{"en":"Client ID of your Home Connect application.","fr":"Client ID de votre application Home Connect."},"required":true,"placeholder":{"en":"1A2B3C\u2026","fr":"1A2B3C\u2026"}},{"key":"client_secret","type":"secret","label":{"en":"Client Secret","fr":"Client Secret"},"description":{"en":"Client Secret of your Home Connect application. Leave empty only if you registered a public client without a secret.","fr":"Client Secret de votre application Home Connect. Laissez vide uniquement si vous avez enregistr\xe9 un client public sans secret."},"required":false},{"key":"account","type":"oauth2","label":{"en":"Home Connect account","fr":"Compte Home Connect"},"description":{"en":"Sign in with the Home Connect account your appliances are paired with, then allow Gladys.","fr":"Connectez-vous avec le compte Home Connect auquel vos appareils sont associ\xe9s, puis autorisez Gladys."},"required":true},{"key":"language","type":"select","label":{"en":"Language","fr":"Langue"},"description":{"en":"Language of the device feature names and of the program names returned by Home Connect.","fr":"Langue des noms de fonctionnalit\xe9s et des noms de programmes renvoy\xe9s par Home Connect."},"required":false,"default":"fr","options":[{"value":"fr","label":{"en":"French","fr":"Fran\xe7ais"}},{"value":"en","label":{"en":"English","fr":"Anglais"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"Safety net behind the real-time event stream. Home Connect enforces a daily request quota, so keep it high unless you have a reason not to.","fr":"Filet de s\xe9curit\xe9 derri\xe8re le flux d\'\xe9v\xe9nements temps r\xe9el. Home Connect impose un quota de requ\xeates quotidien : gardez une valeur \xe9lev\xe9e sauf raison particuli\xe8re."},"required":false,"default":900,"min":120,"max":3600},{"key":"scope","type":"string","label":{"en":"OAuth scopes","fr":"Scopes OAuth"},"description":{"en":"Space-separated Home Connect scopes requested during authorization. Narrow it down if your developer application was registered with fewer permissions.","fr":"Scopes Home Connect demand\xe9s lors de l\'autorisation, s\xe9par\xe9s par des espaces. R\xe9duisez-les si votre application d\xe9veloppeur a \xe9t\xe9 enregistr\xe9e avec moins de permissions."},"required":false,"default":"IdentifyAppliance Monitor Settings Control"},{"key":"use_simulator","type":"boolean","label":{"en":"Use the Home Connect simulator","fr":"Utiliser le simulateur Home Connect"},"description":{"en":"Talk to simulator.home-connect.com instead of the production API, to test without real appliances.","fr":"Utiliser simulator.home-connect.com au lieu de l\'API de production, pour tester sans appareil r\xe9el."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-15T16:09:33Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"immich-slideshow","store_slug":"gboulvin/Gladys-Immich","repo_url":"https://github.com/gboulvin/Gladys-Immich","name":"Immich Slideshow","type":"device","version":"0.1.8","description":{"en":"Streams an Immich album or memories as a Gladys dashboard camera slideshow.","fr":"Diffuse un album ou les souvenirs Immich en diaporama cam\xe9ra sur le dashboard Gladys."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/gboulvin--Gladys-Immich.jpg","docker_image":"ghcr.io/gboulvin/gladys-immich:0.1.8","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Slideshow 1 \u2014 connect Immich","fr":"Diaporama 1 \u2014 connecter Immich"},"description":{"en":"Create an Immich API key with album.read, asset.read, asset.view, and memory.read permissions. The key is securely stored by Gladys and is never sent to the dashboard browser.","fr":"Cr\xe9ez une cl\xe9 API Immich avec les permissions album.read, asset.read, asset.view et memory.read. Gladys stocke cette cl\xe9 de mani\xe8re s\xe9curis\xe9e ; elle n\u2019est jamais envoy\xe9e au navigateur du dashboard."},"links":[{"url":"https://docs.immich.app/features/administration/user-settings/","label":{"en":"Immich user settings","fr":"Param\xe8tres utilisateur Immich"}},{"url":"https://api.immich.app/endpoints","label":{"en":"Immich API reference","fr":"R\xe9f\xe9rence de l\u2019API Immich"}}]},{"key":"immich_url","type":"string","label":{"en":"Immich server URL","fr":"URL du serveur Immich"},"description":{"en":"For example: http://192.168.1.20:2283. The Gladys integration container must be able to reach this address.","fr":"Par exemple : http://192.168.1.20:2283. Le conteneur d\u2019int\xe9gration Gladys doit pouvoir joindre cette adresse."},"placeholder":{"en":"https://immich.example.net","fr":"https://immich.exemple.net"},"required":true},{"key":"api_key","type":"secret","label":{"en":"Immich API key","fr":"Cl\xe9 API Immich"},"placeholder":{"en":"Paste the API key","fr":"Collez la cl\xe9 API"},"required":true},{"key":"source_mode","type":"select","label":{"en":"Photo source","fr":"Source des photos"},"description":{"en":"Choose a specific album or Immich memories from this day in previous years.","fr":"Choisissez un album pr\xe9cis ou les souvenirs Immich de cette date les ann\xe9es pr\xe9c\xe9dentes."},"required":true,"default":"album","options":[{"value":"album","label":{"en":"Album","fr":"Album"}},{"value":"memories","label":{"en":"Memories \u2014 on this day","fr":"Souvenirs \u2014 ce jour-l\xe0"}}]},{"key":"album_id","type":"string","label":{"en":"Album UUIDs","fr":"UUID des albums"},"description":{"en":"Required only when the source is Album. Enter one or more UUIDs separated by commas or line breaks; use \u201CList Immich albums\u201D below to copy them. Leave it empty for Memories.","fr":"Requis uniquement pour la source Album. Saisissez un ou plusieurs UUID s\xe9par\xe9s par des virgules ou des retours \xe0 la ligne ; utilisez \xab Lister les albums Immich \xbb ci-dessous pour les copier. Laissez vide pour Souvenirs."},"placeholder":{"en":"e.g. 1033b9e2-\u2026, a490c2f0-\u2026","fr":"ex. 1033b9e2-\u2026, a490c2f0-\u2026"},"required":false},{"key":"slide_interval","type":"number","label":{"en":"Slide interval (seconds)","fr":"Intervalle entre les photos (secondes)"},"description":{"en":"How long each image stays on the dashboard camera. The minimum respects Gladys camera-channel limits.","fr":"Dur\xe9e d\u2019affichage de chaque image sur la cam\xe9ra du dashboard. Le minimum respecte les limites du canal cam\xe9ra Gladys."},"required":true,"default":60,"min":10,"max":3600},{"key":"source_refresh_interval","type":"number","label":{"en":"Source refresh interval (seconds)","fr":"Intervalle d\u2019actualisation de la source (secondes)"},"description":{"en":"How often the integration asks Immich again for the album or today\u2019s memories. Existing slides continue between refreshes.","fr":"Fr\xe9quence \xe0 laquelle l\u2019int\xe9gration redemande l\u2019album ou les souvenirs du jour \xe0 Immich. Les diapositives existantes d\xe9filent entre deux actualisations."},"required":true,"default":3600,"min":300,"max":86400},{"key":"max_assets","type":"number","label":{"en":"Maximum images","fr":"Nombre maximal d\u2019images"},"description":{"en":"Caps large albums to keep the integration responsive. The newest images are selected unless random order is enabled.","fr":"Limite les grands albums pour pr\xe9server la r\xe9activit\xe9. Les images les plus r\xe9centes sont s\xe9lectionn\xe9es, sauf si l\u2019ordre al\xe9atoire est activ\xe9."},"required":true,"default":200,"min":1,"max":500},{"key":"random_order","type":"boolean","label":{"en":"Randomize images","fr":"M\xe9langer les images"},"description":{"en":"When disabled, the slideshow starts with the most recent image.","fr":"Lorsqu\u2019il est d\xe9sactiv\xe9, le diaporama commence par l\u2019image la plus r\xe9cente."},"required":false,"default":false},{"key":"show_caption","type":"boolean","label":{"en":"Show Immich caption","fr":"Afficher la l\xe9gende Immich"},"description":{"en":"Adds the Immich description, location and capture date when available in a readable band at the bottom of each image.","fr":"Ajoute la description, le lieu et la date de prise de vue Immich lorsqu\u2019ils sont disponibles, dans un bandeau lisible au bas de chaque image."},"required":false,"default":false},{"key":"second_slideshow_intro","type":"section","label":{"en":"Slideshow 2 \u2014 connect Immich","fr":"Diaporama 2 \u2014 connecter Immich"},"description":{"en":"Optional. Configure this independent slideshow to display a different album, memories source, or Immich server on a second Gladys dashboard camera.","fr":"Optionnel. Configurez ce diaporama ind\xe9pendant pour afficher un autre album, une autre source de souvenirs ou un autre serveur Immich sur une seconde cam\xe9ra Gladys."}},{"key":"immich_url_2","type":"string","label":{"en":"Immich server URL","fr":"URL du serveur Immich"},"description":{"en":"The server used by the second slideshow. It may be the same as slideshow 1 or a different Immich instance.","fr":"Serveur utilis\xe9 par le second diaporama. Il peut \xeatre identique \xe0 celui du diaporama 1 ou pointer vers une autre instance Immich."},"placeholder":{"en":"https://immich.example.net","fr":"https://immich.exemple.net"},"required":false},{"key":"api_key_2","type":"secret","label":{"en":"Immich API key","fr":"Cl\xe9 API Immich"},"placeholder":{"en":"Paste the API key","fr":"Collez la cl\xe9 API"},"required":false},{"key":"source_mode_2","type":"select","label":{"en":"Photo source","fr":"Source des photos"},"description":{"en":"Choose a specific album or Immich memories from this day in previous years for the second dashboard camera.","fr":"Choisissez un album pr\xe9cis ou les souvenirs Immich de cette date les ann\xe9es pr\xe9c\xe9dentes pour la seconde cam\xe9ra du dashboard."},"required":false,"default":"album","options":[{"value":"album","label":{"en":"Album","fr":"Album"}},{"value":"memories","label":{"en":"Memories \u2014 on this day","fr":"Souvenirs \u2014 ce jour-l\xe0"}}]},{"key":"album_id_2","type":"string","label":{"en":"Album UUIDs","fr":"UUID des albums"},"description":{"en":"Required only when the second source is Album. Enter one or more UUIDs separated by commas or line breaks. Leave it empty for Memories.","fr":"Requis uniquement lorsque la seconde source est Album. Saisissez un ou plusieurs UUID s\xe9par\xe9s par des virgules ou des retours \xe0 la ligne. Laissez vide pour Souvenirs."},"placeholder":{"en":"e.g. 1033b9e2-\u2026, a490c2f0-\u2026","fr":"ex. 1033b9e2-\u2026, a490c2f0-\u2026"},"required":false},{"key":"slide_interval_2","type":"number","label":{"en":"Slide interval (seconds)","fr":"Intervalle entre les photos (secondes)"},"description":{"en":"How long each image from the second slideshow stays on its dashboard camera.","fr":"Dur\xe9e d\u2019affichage de chaque image du second diaporama sur sa cam\xe9ra du dashboard."},"required":false,"default":60,"min":10,"max":3600},{"key":"source_refresh_interval_2","type":"number","label":{"en":"Source refresh interval (seconds)","fr":"Intervalle d\u2019actualisation de la source (secondes)"},"description":{"en":"How often the second slideshow asks Immich for its album or today\u2019s memories.","fr":"Fr\xe9quence \xe0 laquelle le second diaporama redemande son album ou les souvenirs du jour \xe0 Immich."},"required":false,"default":3600,"min":300,"max":86400},{"key":"max_assets_2","type":"number","label":{"en":"Maximum images","fr":"Nombre maximal d\u2019images"},"description":{"en":"Caps the second slideshow source to keep the integration responsive.","fr":"Limite la source du second diaporama pour pr\xe9server la r\xe9activit\xe9."},"required":false,"default":200,"min":1,"max":500},{"key":"random_order_2","type":"boolean","label":{"en":"Randomize images","fr":"M\xe9langer les images"},"description":{"en":"Randomizes only the images shown by the second slideshow.","fr":"M\xe9lange uniquement les images affich\xe9es par le second diaporama."},"required":false,"default":false},{"key":"show_caption_2","type":"boolean","label":{"en":"Show Immich caption","fr":"Afficher la l\xe9gende Immich"},"description":{"en":"Adds the Immich description, location and capture date to images from the second slideshow when available.","fr":"Ajoute la description, le lieu et la date de prise de vue Immich aux images du second diaporama lorsqu\u2019ils sont disponibles."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-18T07:20:59Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/78817935?v=4"},{"slug":"indice-uv","store_slug":"prohand/gladys-uvindex","repo_url":"https://github.com/prohand/gladys-uvindex","name":"Indice UV","type":"device","version":"1.0.5","description":{"en":"UV index for the locations you choose, from the Copernicus CAMS forecast.","fr":"Indice UV des lieux de votre choix, via la pr\xe9vision CAMS de Copernicus."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-uvindex.jpg","docker_image":"ghcr.io/prohand/gladys-uvindex:1.0.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"Add a location with the button below: type its French postal code, it is resolved to a commune, and a UV device appears in the Discovery tab, ready to be added to Gladys. The UV index comes from the CAMS forecast (Copernicus), republished as open data by Open-Meteo, and postal codes are read through the French state\'s \\"D\xe9coupage administratif\\" API: no account and no API key are needed. Outside France, add a location by its latitude and longitude \u2014 the UV data itself is worldwide.","fr":"Ajoutez un lieu avec le bouton ci-dessous : saisissez son code postal, il est r\xe9solu en commune, puis un appareil UV appara\xeet dans l\'onglet D\xe9couverte, pr\xeat \xe0 \xeatre ajout\xe9 \xe0 Gladys. L\'indice UV provient de la pr\xe9vision CAMS (Copernicus), rediffus\xe9e en open data par Open-Meteo, et les codes postaux sont lus via l\'API \xab D\xe9coupage administratif \xbb de l\'\xc9tat : aucun compte ni cl\xe9 d\'API n\'est n\xe9cessaire. Hors de France, ajoutez un lieu par sa latitude et sa longitude \u2014 les donn\xe9es UV sont mondiales."},"links":[{"url":"https://open-meteo.com/en/docs/air-quality-api","label":{"en":"Open-Meteo Air Quality API","fr":"API Qualit\xe9 de l\'air Open-Meteo"}},{"url":"https://geo.api.gouv.fr/decoupage-administratif/communes","label":{"en":"API D\xe9coupage administratif (data.gouv.fr)","fr":"API D\xe9coupage administratif (data.gouv.fr)"}},{"url":"https://www.who.int/news-room/questions-and-answers/item/radiation-the-ultraviolet-uv-index","label":{"en":"WHO \u2014 the UV index scale","fr":"OMS \u2014 l\'\xe9chelle de l\'indice UV"}}]},{"key":"settings_section","type":"section","label":{"en":"General settings","fr":"R\xe9glages g\xe9n\xe9raux"},"description":{"en":"These settings apply to every configured location.","fr":"Ces r\xe9glages s\'appliquent \xe0 tous les lieux configur\xe9s."}},{"key":"language","type":"select","label":{"en":"Language of the device names","fr":"Langue du nom des appareils"},"description":{"en":"The language the device and feature names are written in: \\"Indice UV\\" or \\"UV index\\". Everything else this integration displays already follows your Gladys language, but the name of a device and of its features is stored as it is published, so it has to be chosen here. A device already added to Gladys keeps the names it was created with: delete it and add it again from the Discovery tab to rename it.","fr":"La langue dans laquelle sont \xe9crits les n
1oms des appareils et de leurs fonctionnalit\xe9s : \xab Indice UV \xbb ou \xab UV index \xbb. Tout le reste de ce que l\'int\xe9gration affiche suit d\xe9j\xe0 la langue de votre compte Gladys, mais le nom d\'un appareil et de ses fonctionnalit\xe9s est enregistr\xe9 tel qu\'il est publi\xe9 : il faut donc le choisir ici. Un appareil d\xe9j\xe0 ajout\xe9 \xe0 Gladys conserve les noms avec lesquels il a \xe9t\xe9 cr\xe9\xe9 : supprimez-le et rajoutez-le depuis l\'onglet D\xe9couverte pour le renommer."},"required":false,"default":"fr","options":[{"value":"fr","label":{"en":"French","fr":"Fran\xe7ais"}},{"value":"en","label":{"en":"English","fr":"Anglais"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each location is refreshed, in seconds. The forecast has an hourly resolution, so there is nothing to gain from going much below half an hour.","fr":"Fr\xe9quence de rafra\xeechissement de chaque lieu, en secondes. La pr\xe9vision est horaire : descendre nettement sous la demi-heure n\'apporte rien."},"required":false,"default":1800,"min":600,"max":21600},{"key":"locations_section","type":"section","label":{"en":"Your locations","fr":"
1Vos lieux"},"description":{"en":"Use the buttons below to add, list and remove your locations. \\"Add my Gladys houses\\" adds them all in one click, from the houses you already placed on the map in Gladys. They are not fields of this form: a list you build as you go cannot be one, so everything about them happens under a button, and the answer displayed there is what shows you the list.","fr":"Utilisez les boutons ci-dessous pour ajouter, lister et supprimer vos lieux. \xab Ajouter mes maisons Gladys \xbb les ajoute tous en un clic, \xe0 partir des maisons que vous avez d\xe9j\xe0 plac\xe9es sur la carte dans Gladys. Ce ne sont pas des champs de ce formulaire : une liste que l\'on construit au fil de l\'eau ne peut pas en \xeatre un, donc tout se passe sous un bouton et c\'est la r\xe9ponse affich\xe9e l\xe0 qui vous montre la liste."}}],"stars":0,"pushed_at":"2026-08-15T16:02:25Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"klf200-io-homecontrol","store_slug":"vincentBesseau/gladys-klf-200-io-homecontrol","repo_url":"https://github.com/vincentBesseau/gladys-klf-200-io-homecontrol","name":"KLF200 - io-homecontrol","type":"device","version":"1.0.3","description":{"en":"Discover and control io-homecontrol shutters already paired to a Velux KLF200 gateway.","fr":"D\xe9couvre et pilote les volets io-homecontrol d\xe9j\xe0 appair\xe9s \xe0 une passerelle Velux KLF200."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/vincentBesseau--gladys-klf-200-io-homecontrol.png","docker_image":"ghcr.io/vincentbesseau/gladys-klf-200-io-homecontrol:1.0.3","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"KLF200 gateway","fr":"Passerelle KLF200"},"description":{"en":"Shutters must already be paired via the Velux app or the gateway\'s own UI.","fr":"Les volets doivent d\xe9j\xe0 \xeatre appair\xe9s via l\'appli Velux ou l\'interface du KLF200."}},{"key":"klf200_ip","type":"string","label":{"en":"KLF200 IP address","fr":"Adresse IP du KLF200"},"required":true},{"key":"klf200_password","type":"secret","label":{"en":"KLF200 password","fr":"Mot de passe du KLF200"},"required":true},{"key":"klf200_fingerprint","type":"string","label":{"en":"TLS fingerprint (optional)","fr":"Empreinte TLS (optionnelle)"},"description":{"en":"Leave empty to skip certificate pinning.","fr":"Laisser vide pour ne pas \xe9pingler le certificat."},"required":false}],"stars":0,"pushed_at":"2026-08-28T22:18:02Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33568805?v=4"},{"slug":"lg-thinq","store_slug":"prohand/gladys-lg-thinq","repo_url":"https://github.com/prohand/gladys-lg-thinq","name":"LG ThinQ","type":"device","version":"1.0.1","description":{"en":"Discover and control the LG appliances of your ThinQ account, through the official LG API.","fr":"D\xe9couvrez et pilotez les appareils LG de votre compte ThinQ, via l\'API officielle LG."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-lg-thinq.png","docker_image":"ghcr.io/prohand/gladys-lg-thinq:1.0.1","gladys_version":">=4.86.0","config_schema":[{"key":"credentials","type":"section","label":{"en":"Connect your LG account","fr":"Connectez votre compte LG"},"description":{"en":"This integration uses the official LG ThinQ Connect API. Log in on the LG page below with the LG account your appliances are registered on, create a Personal Access Token, tick the scopes of the appliances you want to use, then paste the token here.","fr":"Cette int\xe9gration utilise l\'API officielle LG ThinQ Connect. Connectez-vous sur la page LG ci-dessous avec le compte LG sur lequel vos appareils sont enregistr\xe9s, cr\xe9ez un jeton d\'acc\xe8s personnel (PAT), cochez les autorisations des appareils souhait\xe9s, puis collez le jeton ici."},"links":[{"url":"https://connect-pat.lgthinq.com","label":{"en":"Create a Personal Access Token","fr":"Cr\xe9er un jeton d\'acc\xe8s personnel"}},{"url":"https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/PAT-en/","label":{"en":"LG documentation","fr":"Documentation LG"}}]},{"key":"access_token","type":"secret","label":{"en":"Personal Access Token","fr":"Jeton d\'acc\xe8s personnel"},"description":{"en":"The token created on the LG page above. It is stored encrypted and never sent back to the browser.","fr":"Le jeton cr\xe9\xe9 sur la page LG ci-dessus. Il est stock\xe9 chiffr\xe9 et jamais renvoy\xe9 au navigateur."},"required":true},{"key":"country_code","type":"select","label":{"en":"Country of the LG account","fr":"Pays du compte LG"},"description":{"en":"LG hosts accounts on regional servers: pick the country your LG account was created in, not the one you live in today.","fr":"LG h\xe9berge les comptes sur des serveurs r\xe9gionaux : choisissez le pays de cr\xe9ation du compte LG, pas votre pays de r\xe9sidence actuel."},"required":true,"default":"FR","options":[{"value":"AE","label":{"en":"United Arab Emirates (AE)"}},{"value":"AF","label":{"en":"Afghanistan (AF)"}},{"value":"AG","label":{"en":"Antigua and Barbuda (AG)"}},{"value":"AL","label":{"en":"Albania (AL)"}},{"value":"AM","label":{"en":"Armenia (AM)"}},{"value":"AO","label":{"en":"Angola (AO)"}},{"value":"AR","label":{"en":"Argentina (AR)"}},{"value":"AT","label":{"en":"Austria (AT)"}},{"value":"AU","label":{"en":"Australia (AU)"}},{"value":"AW","label":{"en":"Aruba (AW)"}},{"value":"AZ","label":{"en":"Azerbaijan (AZ)"}},{"value":"BA","label":{"en":"Bosnia and Herzegovina (BA)"}},{"value":"BB","label":{"en":"Barbados (BB)"}},{"value":"BD","label":{"en":"Bangladesh (BD)"}},{"value":"BE","label":{"en":"Belgium (BE)"}},{"value":"BF","label":{"en":"Burkina Faso (BF)"}},{"value":"BG","label":{"en":"Bulgaria (BG)"}},{"value":"BH","label":{"en":"Bahrain (BH)"}},{"value":"BJ","label":{"en":"Benin (BJ)"}},{"value":"BO","label":{"en":"Bolivia (BO)"}},{"value":"BR","label":{"en":"Brazil (BR)"}},{"value":"BS","label":{"en":"Bahamas (BS)"}},{"value":"BY","label":{"en":"Belarus (BY)"}},{"value":"BZ","label":{"en":"Belize (BZ)"}},{"value":"CA","label":{"en":"Canada (CA)"}},{"value":"CD","label":{"en":"Democratic Republic of the Congo (CD)"}},{"value":"CF","label":{"en":"Central African Republic (CF)"}},{"value":"CG","label":{"en":"Republic of the Congo (CG)"}},{"value":"CH","label":{"en":"Switzerland (CH)"}},{"value":"CI","label":{"en":"Republic of Ivory Coast (CI)"}},{"value":"CL","label":{"en":"Chile (CL)"}},{"value":"CM","label":{"en":"Cameroon (CM)"}},{"value":"CN","label":{"en":"China (CN)"}},{"value":"CO","label":{"en":"Colombia (CO)"}},{"value":"CR","label":{"en":"Costa Rica (CR)"}},{"value":"CU","label":{"en":"Cuba (CU)"}},{"value":"CV","label":{"en":"Cape Verde (CV)"}},{"value":"CY","label":{"en":"Cyprus (CY)"}},{"value":"CZ","label":{"en":"Czech Republic (CZ)"}},{"value":"DE","label":{"en":"Germany (DE)"}},{"value":"DJ","label":{"en":"Djibouti (DJ)"}},{"value":"DK","label":{"en":"Denmark (DK)"}},{"value":"DM","label":{"en":"Dominica (DM)"}},{"value":"DO","label":{"en":"Dominican Republic (DO)"}},{"value":"DZ","label":{"en":"Algeria (DZ)"}},{"value":"EC","label":{"en":"Ecuador (EC)"}},{"value":"EE","label":{"en":"Estonia (EE)"}},{"value":"EG","label":{"en":"Egypt (EG)"}},{"value":"ES","label":{"en":"Spain (ES)"}},{"value":"ET","label":{"en":"Ethiopia (ET)"}},{"value":"FI","label":{"en":"Finland (FI)"}},{"value":"FR","label":{"en":"France (FR)"}},{"value":"GA","label":{"en":"Gabon (GA)"}},{"value":"GB","label":{"en":"United Kingdom (GB)"}},{"value":"GD","label":{"en":"Grenada (GD)"}},{"value":"GE","label":{"en":"Georgia (GE)"}},{"value":"GH","label":{"en":"Gana (GH)"}},{"value":"GM","label":{"en":"Gambia (GM)"}},{"value":"GN","label":{"en":"Guinea (GN)"}},{"value":"GQ","label":{"en":"Equatorial Guinea (GQ)"}},{"value":"GR","label":{"en":"Greece (GR)"}},{"value":"GT","label":{"en":"Guatemala (GT)"}},{"value":"GY","label":{"en":"Guyana (GY)"}},{"value":"HK","label":{"en":"Hong Kong (HK)"}},{"value":"HN","label":{"en":"Honduras (HN)"}},{"value":"HR","label":{"en":"Croatia (HR)"}},{"value":"HT","label":{"en":"Haiti (HT)"}},{"value":"HU","label":{"en":"Hungary (HU)"}},{"value":"ID","label":{"en":"Indonesia (ID)"}},{"value":"IE","label":{"en":"Ireland (IE)"}},{"value":"IL","label":{"en":"Israel (IL)"}},{"value":"IN","label":{"en":"India (IN)"}},{"value":"IQ","label":{"en":"Iraq (IQ)"}},{"value":"IR","label":{"en":"Iran (IR)"}},{"value":"IS","label":{"en":"Iceland (IS)"}},{"value":"IT","label":{"en":"Italy (IT)"}},{"value":"JM","label":{"en":"Jamaica (JM)"}},{"value":"JO","label":{"en":"Jordan (JO)"}},{"value":"JP","label":{"en":"Japan (JP)"}},{"value":"KE","label":{"en":"Kenya (KE)"}},{"value":"KG","label":{"en":"Kyrgyzstan (KG)"}},{"value":"KH","label":{"en":"Cambodia (KH)"}},{"value":"KN","label":{"en":"Saint Kitts and Nevis (KN)"}},{"value":"KR","label":{"en":"Korea (KR)"}},{"value":"KW","label":{"en":"Kuwait (KW)"}}
1,{"value":"KZ","label":{"en":"Kazakhstan (KZ)"}},{"value":"LA","label":{"en":"Laos (LA)"}},{"value":"LB","label":{"en":"Lebanon (LB)"}},{"value":"LC","label":{"en":"Saint Lucia (LC)"}},{"value":"LK","label":{"en":"Sri Lanka (LK)"}},{"value":"LR","label":{"en":"Liberia (LR)"}},{"value":"LT","label":{"en":"Lithuania (LT)"}},{"value":"LU","label":{"en":"Luxembourg (LU)"}},{"value":"LV","label":{"en":"Latvia (LV)"}},{"value":"LY","label":{"en":"Libyan Arab Jamahiriya (LY)"}},{"value":"MA","label":{"en":"Morocco (MA)"}},{"value":"MD","label":{"en":"Republic of Moldova (MD)"}},{"value":"ME","label":{"en":"Montenegro (ME)"}},{"value":"MK","label":{"en":"Macedonia (MK)"}},{"value":"ML","label":{"en":"Mali (ML)"}},{"value":"MM","label":{"en":"Myanmar (MM)"}},{"value":"MR","label":{"en":"Mauritania (MR)"}},{"value":"MT","label":{"en":"Malta (MT)"}},{"value":"MU","label":{"en":"Mauritius (MU)"}},{"value":"MW","label":{"en":"Malawi (MW)"}},{"value":"MX","label":{"en":"Mexico (MX)"}},{"value":"MY","label":{"en":"Malaysia (MY)"}},{"value":"NE","label":{"en":"Niger (NE)"}},{"value":"NG","label":{"en":"Nigeria (NG)"}},{"value":"NI","label":{"en":"Nicaragua (NI)"}},{"value":"NL","label":{"en":"Netherlands (NL)"}},{"value":"NO","label":{"en":"Norway (NO)"}},{"value":"NP","label":{"en":"Nepal (NP)"}},{"value":"NZ","label":{"en":"New Zealand (NZ)"}},{"value":"OM","label":{"en":"Oman (OM)"}},{"value":"PA","label":{"en":"Panama (PA)"}},{"value":"PE","label":{"en":"Peru (PE)"}},{"value":"PH","label":{"en":"Philippines (PH)"}},{"value":"PK","label":{"en":"Pakistan (PK)"}},{"value":"PL","label":{"en":"Poland (PL)"}},{"value":"PR","label":{"en":"Puerto Rico (PR)"}},{"value":"PS","label":{"en":"Occupied Palestinian Territory (PS)"}},{"value":"PT","label":{"en":"Portugal (PT)"}},{"value":"PY","label":{"en":"Paraguay (PY)"}},{"value":"QA","label":{"en":"Qatar (QA)"}},{"value":"RO","label":{"en":"Romania (RO)"}},{"value":"RS","label":{"en":"Serbia (RS)"}},{"value":"RU","label":{"en":"Russian Federation (RU)"}},{"value":"RW","label":{"en":"Rwanda (RW)"}},{"value":"SA","label":{"en":"Saudi Arabia (SA)"}},{"value":"SD","label":{"en":"Sudan (SD)"}},{"value":"SE","label":{"en":"Sweden (SE)"}},{"value":"SG","label":{"en":"Singapore (SG)"}},{"value":"SI","label":{"en":"Slovenia (SI)"}},{"value":"SK","label":{"en":"Slovakia (SK)"}},{"value":"SL","label":{"en":"Sierra Leone (SL)"}},{"value":"SN","label":{"en":"Senegal (SN)"}},{"value":"SO","label":{"en":"Somalia (SO)"}},{"value":"SR","label":{"en":"Suriname (SR)"}},{"value":"ST","label":{"en":"Sao Tome and Principe (ST)"}},{"value":"SV","label":{"en":"El Salvador (SV)"}},{"value":"SY","label":{"en":"Syrian Arab Republic (SY)"}},{"value":"TD","label":{"en":"Chad (TD)"}},{"value":"TG","label":{"en":"Togo (TG)"}},{"value":"TH","label":{"en":"Thailand (TH)"}},{"value":"TN","label":{"en":"Tunisia (TN)"}},{"value":"TR","label":{"en":"Turkey (TR)"}},{"value":"TT","label":{"en":"Trinidad and Tobago (TT)"}},{"value":"TW","label":{"en":"Taiwan (TW)"}},{"value":"TZ","label":{"en":"United Republic of Tanzania (TZ)"}},{"value":"UA","label":{"en":"Ukraine (UA)"}},{"value":"UG","label":{"en":"Uganda (UG)"}},{"value":"US","label":{"en":"USA (US)"}},{"value":"UY","label":{"en":"Uruguay (UY)"}},{"value":"UZ","label":{"en":"Uzbekistan (UZ)"}},{"value":"VC","label":{"en":"Saint Vincent and the Grenadines (VC)"}},{"value":"VE","label":{"en":"Venezuela (VE)"}},{"value":"VN","label":{"en":"Vietnam (VN)"}},{"value":"XK","label":{"en":"Kosovo (XK)"}},{"value":"YE","label":{"en":"Yemen (YE)"}},{"value":"ZA","label":{"en":"South Africa (ZA)"}},{"value":"ZM","label":{"en":"Zambia (ZM)"}}]},{"key":"behaviour","type":"section","label":{"en":"Behaviour","fr":"Comportement"},"description":{"en":"LG meters the number of API calls per client. Each appliance costs one call per refresh, so keep the interval comfortable if you own many appliances.","fr":"LG limite le nombre d\'appels d\'API par client. Chaque appareil co\xfbte un appel par rafra\xeechissement : gardez un intervalle confortable si vous poss\xe9dez beaucoup d\'appareils."}},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each appliance is read, in seconds.","fr":"Fr\xe9quence de lecture de chaque appareil, en secondes."},"required":false,"default":300,"min":60,"max":3600},{"key":"temperature_unit","type":"select","label":{"en":"Temperature unit","fr":"Unit\xe9 de temp\xe9rature"},"description":{"en":"LG publishes each temperature twice, in Celsius and in Fahrenheit. Only the chosen unit becomes a Gladys feature.","fr":"LG publie chaque temp\xe9rature deux fois, en Celsius et en Fahrenheit. Seule l\'unit\xe9 choisie devient une fonctionnalit\xe9 Gladys."},"required":false,"default":"celsius","options":[{"value":"celsius","label":{"en":"Celsius","fr":"Celsius"}},{"value":"fahrenheit","label":{"en":"Fahrenheit","fr":"Fahrenheit"}}]},{"key":"expose_all_properties","type":"boolean","label":{"en":"Expose every numeric property","fr":"Exposer toutes les propri\xe9t\xe9s num\xe9riques"},"description":{"en":"Also create features for the numeric properties with no obvious meaning (scheduling offsets, counters). Useful to explore what an appliance reports.","fr":"Cr\xe9er aussi de
1s fonctionnalit\xe9s pour les propri\xe9t\xe9s num\xe9riques sans signification \xe9vidente (d\xe9calages de programmation, compteurs). Utile pour explorer ce que remonte un appareil."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-15T21:34:41Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"lg-webos","store_slug":"vincentBesseau/gladys-lg-webos","repo_url":"https://github.com/vincentBesseau/gladys-lg-webos","name":"LG webOS","type":"device","version":"2.2.2","description":{"en":"Control an LG webOS television locally from Gladys Assistant.","fr":"Contr\xf4lez localement une t\xe9l\xe9vision LG webOS depuis Gladys Assistant.","de":"Steuern Sie einen LG webOS Fernseher lokal \xfcber Gladys Assistant."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/vincentBesseau--gladys-lg-webos.jpg","docker_image":"ghcr.io/vincentbesseau/gladys-lg-webos:2.2.2","gladys_version":">=4.86.1","config_schema":[{"key":"intro","type":"section","label":{"en":"LG webOS TV","fr":"TV LG webOS","de":"LG webOS TV"},"description":{"en":"Start with the Discover tab. The TV must be turned on to be detected by SSDP. When connecting for the first time, an authorization request will appear on the TV and must be accepted using the remote control. After adding a TV, use the Configure a TV action below to enter its MAC address if you want Wake-on-LAN support.","fr":"Commencez par l\'onglet D\xe9couvrir. La TV doit \xeatre allum\xe9e pour \xeatre d\xe9tect\xe9e via SSDP. Lors de la premi\xe8re connexion, une demande d\'autorisation s\'affichera sur la TV et devra \xeatre accept\xe9e avec la t\xe9l\xe9commande. Apr\xe8s avoir ajout\xe9 une TV, utilisez l\'action Configurer une TV ci-dessous pour renseigner son adresse MAC si vous souhaitez utiliser le Wake-on-LAN.","de":"Beginnen Sie mit dem Tab Entdecken. Der Fernseher muss eingeschaltet sein, damit er \xfcber SSDP erkannt werden kann. Bei der ersten Verbindung erscheint eine Autorisierungsanfrage auf dem Fernseher, die mit der Fernbedienung best\xe4tigt werden muss. Verwenden Sie nach dem Hinzuf\xfcgen eines Fernsehers die Aktion Fernseher konfigurieren unten, um seine MAC-Adresse f\xfcr Wake-on-LAN einzutragen."}},{"key":"connection_mode","type":"select","label":{"en":"Connection mode","fr":"Mode de connexion","de":"Verbindungsmodus"},"default":"auto","required":false,"options":[{"value":"auto","label":{"en":"Automatic","fr":"Automatique","de":"Automatisch"}},{"value":"ws","label":{"en":"WebSocket (port 3000)","fr":"WebSocket (port 3000)","de":"WebSocket (Port 3000)"}},{"value":"wss","label":{"en":"Secure WebSocket (port 3001)","fr":"WebSocket s\xe9curis\xe9 (port 3001)","de":"Sicherer WebSocket (Port 3001)"}}]}],"stars":0,"pushed_at":"2026-08-28T22:12:51Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33568805?v=4"},{"slug":"melcloud","store_slug":"GladysAssistant/gladys-melcloud","repo_url":"https://github.com/GladysAssistant/gladys-melcloud","name":"MELCloud","type":"device","version":"1.0.2","description":{"en":"Control your Mitsubishi Electric air conditioners through the MELCloud cloud service.","fr":"Contr\xf4lez vos climatiseurs Mitsubishi Electric via le service cloud MELCloud."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/GladysAssistant--gladys-melcloud.jpg","docker_image":"ghcr.io/gladysassistant/gladys-melcloud:1.0.2","gladys_version":">=4.62.0","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":"[email protected]","fr":"[email protected]"},"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":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","fr":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"},"required":true}],"stars":0,"pushed_at":"2026-07-23T12:42:21Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/7365162?v=4"},{"slug":"meross","store_slug":"PhilippeMA/gladys-Meross","repo_url":"https://github.com/PhilippeMA/gladys-Meross","name":"Meross","type":"device","version":"1.1.4","description":{"en":"Read and control your Meross smart plugs, switches, lights and garage doors.","fr":"Pilotez vos prises, interrupteurs, lampes et portes de garage Meross."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/PhilippeMA--gladys-Meross.png","docker_image":"ghcr.io/philippema/gladys-meross:1.1.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Connect your Meross account","fr":"Connectez votre compte Meross"},"description":{"en":"Sign in with the same email and password you use in the Meross mobile app. Your devices are then discovered automatically, with no pairing to redo. Meross allows a limited number of[...]","fr":"Utilisez les m\xeames identifiants que dans l\'application mobile Meross. Vos appareils sont ensuite d\xe9couverts automatiquement, sans r\xe9appairage. Meross limite le nombre de sessions[...]"},"links":[{"url":"https://www.meross.com/support/","label":{"en":"Meross support","fr":"Support Meross"}}]},{"key":"email","type":"string","label":{"en":"Meross email","fr":"E-mail Meross"},"description":{"en":"The email address of your Meross account.","fr":"L\'adresse e-mail de votre compte Meross."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Meross password","fr":"Mot de passe Meross"},"description":{"en":"Stored encrypted by Gladys and only ever sent, hashed, to the Meross authentication server.","fr":"Stock\xe9 chiffr\xe9 par Gladys et envoy\xe9 uniquement, sous forme hach\xe9e, au serveur d\'authentification Meross."},"required":true},{"key":"region","type":"select","label":{"en":"Meross region","fr":"R\xe9gion Meross"},"description":{"en":"The region your Meross account was created in. Pick the wrong one and the login is refused.","fr":"La r\xe9gion de cr\xe9ation de votre compte Meross. En cas d\'erreur, la connexion est refus\xe9e."}
1,"required":true,"default":"eu","options":[{"value":"eu","label":{"en":"Europe","fr":"Europe"}},{"value":"us","label":{"en":"America","fr":"Am\xe9rique"}},{"value":"ap","label":{"en":"Asia / Pacific","fr":"Asie / Pacifique"}},{"value":"global","label":{"en":"Global (default)","fr":"Global (par d\xe9faut)"}}]},{"key":"poll_frequency","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"How often metering plugs and hub sensors are read. On/off states arrive in real time and are never polled, so the slowest setting suits most homes.","fr":"Fr\xe9quence de lecture des prises avec mesure et des capteurs de hub. Les \xe9tats on/off arrivent en temps r\xe9el : l\'intervalle le plus lent convient \xe0 la plupart des installations.[...]"},"required":false,"default":"60000","options":[{"value":"60000","label":{"en":"Every minute","fr":"Chaque minute"}},{"value":"30000","label":{"en":"Every 30 seconds","fr":"Toutes les 30 secondes"}},{"value":"15000","label":{"en":"Every 15 seconds","fr":"Toutes les 15 secondes"}},{"value":"10000","label":{"en":"Every 10 seconds","fr":"Toutes les 10 secondes"}},{"value":"2000","label":{"en":"Every 2 seconds","fr":"Toutes les 2 secondes"}},{"value":"1000","label":{"en":"Every second","fr":"Chaque seconde"}}]}],"stars":0,"pushed_at":"2026-08-21T18:45:45Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/25247304?v=4"},{"slug":"meteo-benelux","store_slug":"gboulvin/Gladys-IRM-KMI-V2","repo_url":"https://github.com/gboulvin/Gladys-IRM-KMI-V2","name":"M\xe9t\xe9o B\xe9n\xe9lux","type":"weather","version":"1.0.3","description":{"fr":"Pr\xe9visions, conditions courantes et avertissements m\xe9t\xe9o de l\u2019IRM/KMI pour le Benelux.","en":"IRM/KMI current weather, forecasts and alerts for Belgium, Luxembourg and the Netherlands."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/gboulvin--Gladys-IRM-KMI-V2.jpg","docker_image":"ghcr.io/gboulvin/gladys-irm-kmi-v2:1.0.3","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"fr":"Donn\xe9es IRM/KMI","en":"IRM/KMI data"},"description":{"fr":"Cette int\xe9gration utilise l\u2019API mobile non document\xe9e de l\u2019Institut royal m\xe9t\xe9orologique de Belgique. Aucun compte ni cl\xe9 personnelle n\u2019est requis. Le service couvre la Belgique, le Luxembourg et les Pays-Bas ; son interface peut \xe9voluer sans pr\xe9avis.","en":"This integration uses the undocumented mobile API of the Royal Meteorological Institute of Belgium. No account or personal key is required. The service covers Belgium, Luxembourg and the Netherlands; its interface may change without notice."},"links":[{"url":"https://github.com/jdejaegh/irm-kmi-api","label":{"fr":"R\xe9f\xe9rence technique du protocole IRM/KMI","en":"IRM/KMI protocol technical reference"}}]},{"key":"cache_duration","type":"number","label":{"fr":"Dur\xe9e du cache (secondes)","en":"Cache duration (seconds)"},"description":{"fr":"Dur\xe9e de conservation d\u2019une pr\xe9vision pour une m\xeame position. La valeur 0 d\xe9sactive le cache.","en":"How long a forecast for the same location is kept. Set to 0 to disable caching."},"required":false,"default":600,"min":0,"max":3600}],"stars":0,"pushed_at":"2026-08-14T15:35:21Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/78817935?v=4"},{"slug":"meteo-france","store_slug":"William-De71/gladys-meteo-france","repo_url":"https://github.com/William-De71/gladys-meteo-france","name":"M\xe9t\xe9o France","type":"weather","version":"1.2.0","description":{"en":"French weather forecasts and official vigilance alerts from M\xe9t\xe9o France.","fr":"Pr\xe9visions m\xe9t\xe9o et vigilance officielle M\xe9t\xe9o France pour la France."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-meteo-france.jpg","docker_image":"ghcr.io/william-de71/gladys-meteo-france:1.2.0","gladys_version":">=5.0.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Ready to use","fr":"Pr\xeat \xe0 l\'emploi"},"description":{"en":"Forecasts and vigilance alerts work with no configuration at all. The optional API key below only unlocks the national vigilance map image.","fr":"Les pr\xe9visions et la vigilance fonctionnent sans aucune configuration. La cl\xe9 d\'API optionnelle ci-dessous sert uniquement \xe0 afficher la carte de vigilance nationale."},"links":[{"url":"https://portail-api.meteofrance.fr/","label":{"en":"M\xe9t\xe9o France API portal","fr":"Portail API M\xe9t\xe9o France"}}]},{"key":"api_key","type":"secret","label":{"en":"M\xe9t\xe9o France API key (optional)","fr":"Cl\xe9 d\'API M\xe9t\xe9o France (optionnelle)"},"description":{"en":"Only needed to display the national vigilance map. Create a free account on the M\xe9t\xe9o France API portal and subscribe to the \\"Donn\xe9es Publiques de Vigilance\\" API. Pick the \\"API Key\\" token type, NOT OAuth2 (which expires after about an hour), and set the mandatory \\"Dur\xe9e\\" field to 94672800 seconds \u2014 about 3 years, the maximum the portal accepts. The map stops loading once that duration runs out.","fr":"N\xe9cessaire uniquement pour afficher la carte de vigilance nationale. Cr\xe9ez un compte gratuit sur le portail API M\xe9t\xe9o France et souscrivez \xe0 l\'API \xab Donn\xe9es Publiques de Vigilance \xbb. Choisissez le type de token \xab API Key \xbb, PAS OAuth2 (qui expire au bout d\'une heure environ), et renseignez le champ obligatoire \xab Dur\xe9e \xbb avec 94672800 secondes \u2014 environ 3 ans, le maximum accept\xe9 par le portail. La carte cesse de s\'afficher une fois cette dur\xe9e \xe9coul\xe9e."},"required":false},{"key":"cache_duration","type":"number","label":{"en":"Cache duration (s)","fr":"Dur\xe9e du cache (s)"},"description":{"en":"In seconds, between 0 and 3600. How long a weather answer is reused before calling M\xe9t\xe9o France again. The forecast endpoint can take up to 20 seconds on a cold cache, so reusing a recent answer keeps the dashboard responsive. The default of 600 (10 min) suits most setups; raising it to 1800 costs almost no freshness, as M\xe9t\xe9o France only refreshes a few times an hour. Set to 0 to always call the API (slower dashboard). A vigilance change always refreshes immediately, whatever this value.","fr":"En secondes, entre 0 et 3600. Dur\xe9e pendant laquelle une r\xe9ponse est r\xe9utilis\xe9e avant de rappeler M\xe9t\xe9o France. L\'API de pr\xe9visions peut mettre jusqu\'\xe0 20 secondes \xe0 froid : r\xe9utiliser une r\xe9ponse r\xe9cente garde le tableau de bord r\xe9actif. La valeur par d\xe9faut de 600 (10 min) convient \xe0 la plupart des installations ; monter \xe0 1800 ne fait presque rien perdre en fra\xeecheur, M\xe9t\xe9o France ne mettant \xe0 j
1our que quelques fois par heure. Mettre 0 pour toujours appeler l\'API (tableau de bord plus lent). Une vigilance qui change rafra\xeechit toujours imm\xe9diatement, quelle que soit cette valeur."},"required":false,"default":600,"min":0,"max":3600}],"stars":0,"pushed_at":"2026-08-28T19:38:26Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"myneomitis-axenco","store_slug":"Dreamthy/gladys-neomitis","repo_url":"https://github.com/Dreamthy/gladys-neomitis","name":"MyNeomitis (Axenco)","type":"device","version":"1.0.2","description":{"en":"Control your Neomitis / Axenco heaters and thermostats from Gladys.","fr":"Pilotez vos radiateurs et thermostats Neomitis / Axenco depuis Gladys."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Dreamthy--gladys-neomitis.png","docker_image":"ghcr.io/dreamthy/gladys-neomitis:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Your MyNeomitis account","fr":"Votre compte MyNeomitis"},"description":{"en":"Use the same email address and password as the MyNeomitis mobile app. The integration talks to the Axenco cloud: your heaters must already be paired in the app.","fr":"Utilisez la m\xeame adresse e-mail et le m\xeame mot de passe que l\'application mobile MyNeomitis. L\'int\xe9gration passe par le cloud Axenco : vos radiateurs doivent d\xe9j\xe0 \xeatre appair\xe9s dans l\'application."},"links":[{"url":"https://www.neomitis.com/","label":{"en":"Neomitis website","fr":"Site Neomitis"}}]},{"key":"email","type":"string","label":{"en":"Email address","fr":"Adresse e-mail"},"description":{"en":"The email address of your MyNeomitis account.","fr":"L\'adresse e-mail de votre compte MyNeomitis."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"description":{"en":"The password of your MyNeomitis account.","fr":"Le mot de passe de votre compte MyNeomitis."},"required":true},{"key":"refresh_interval","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"Safety net: updates normally arrive in real time, this is how often the full state is re-read anyway.","fr":"Filet de s\xe9curit\xe9 : les mises \xe0 jour arrivent normalement en temps r\xe9el, ceci est la fr\xe9quence de relecture compl\xe8te malgr\xe9 tout."},"required":false,"default":300,"min":60,"max":3600}],"stars":0,"pushed_at":"2026-08-16T18:06:32Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/86977969?v=4"},{"slug":"netatmo","store_slug":"Terdious/gladys-netatmo","repo_url":"https://github.com/Terdious/gladys-netatmo","name":"Netatmo","type":"device","version":"1.2.0","description":{"en":"Connect your Netatmo devices (weather station, thermostats, cameras) to Gladys Assistant.","fr":"Connectez vos appareils Netatmo (station m\xe9t\xe9o, thermostats, cam\xe9ras) \xe0 Gladys Assistant."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Terdious--gladys-netatmo.png","docker_image":"ghcr.io/terdious/gladys-netatmo:1.2.0","gladys_version":">=4.83.0","config_schema":[{"key":"section_connect","type":"section","label":{"en":"Netatmo Connect application","fr":"Application Netatmo Connect"},"description":{"en":"Gladys talks to Netatmo through YOUR own Netatmo Connect application. Create a Netatmo account, then a developer application to obtain the client id and client secret below. The scopes (read + write) are requested automatically at connection \u2014 nothing to configure on the portal. See the step-by-step in the Documentation.","fr":"Gladys communique avec Netatmo via VOTRE propre application Netatmo Connect. Cr\xe9ez un compte Netatmo, puis une application d\xe9veloppeur pour obtenir l\'identifiant et le secret client ci-dessous. Les scopes (lecture + \xe9criture) sont demand\xe9s automatiquement \xe0 la connexion \u2014 rien \xe0 configurer sur le portail. Voir le pas-\xe0-pas dans la Documentation."},"links":[{"url":"https://dev.netatmo.com/","label":{"en":"Netatmo Connect","fr":"Netatmo Connect"}},{"url":"https://dev.netatmo.com/apps/","label":{"en":"Create an application","fr":"Cr\xe9er une application"}}]},{"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.
1netatmo.com (Netatmo Connect).","fr":"L\'identifiant client de l\'application cr\xe9\xe9e 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\xe9\xe9e 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 \xe0 acc\xe9der \xe0 vos appareils."},"required":true},{"key":"section_devices","type":"section","label":{"en":"Devices to discover","fr":"Appareils \xe0 d\xe9couvrir"},"description":{"en":"Choose which Netatmo device families Gladys should discover. Enabling a family and saving re-runs the discovery automatically \u2014 no manual re-scan needed. Security covers the cameras and their accessories (door/window tag, siren, smoke alarm).","fr":"Choisissez les familles d\'appareils Netatmo que Gladys doit d\xe9couvrir. Activer une famille et sauvegarder relance la d\xe9couverte automatiquement \u2014 pas besoin de re-scanner. La S\xe9curit\xe9 couvre les cam\xe9ras et leurs accessoires (capteur porte/fen\xeatre, sir\xe8ne, d\xe9tecteur de fum\xe9e)."}},{"key":"energy_api","type":"boolean","label":{"en":"Energy devices (thermostats, valves)","fr":"Appareils \xc9nergie (thermostats, vannes)"},"description":{"en":"Discover the Netatmo Energy devices: thermostats, relay plugs and radiator valves.","fr":"D\xe9couvrir les appareils Netatmo \xc9nergie : 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\xe9t\xe9o (stations et modules)"},"description":{"en":"Discover the Netatmo Weather devices: stations, outdoor, wind, rain and indoor modules.","fr":"D\xe9couvrir les appareils Netatmo M\xe9t\xe9o : stations, modules ext\xe9rieur, vent, pluie et int\xe9rieur."},"required":false,"default":true},{"key":"security_api","type":"boolean","label":{"en":"Security devices (cameras)","fr":"Appareils S\xe9curit\xe9 (cam\xe9ras)"},"description":{"en":"Discover the Netatmo Security devices: indoor (NACamera) and outdoor (NOC) cameras.","fr":"D\xe9couvrir les appareils Netatmo S\xe9curit\xe9 : cam\xe9ras int\xe9rieure (NACamera) et ext\xe9rieure (NOC)."},"required":false,"default":false},{"key":"camera_quality","type":"select","label":{"en":"Camera live stream quality","fr":"Qualit\xe9 du flux vid\xe9o des cam\xe9ras"},"description":{"en":"Quality of the camera live stream (per-camera override via the camera_quality device param).","fr":"Qualit\xe9 du flux vid\xe9o des cam\xe9ras (surcharge par cam\xe9ra via le param\xe8tre 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"}}]}],"stars":0,"pushed_at":"2026-08-08T16:11:16Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/35010958?v=4"},{"slug":"network-ups-tools-nut","store_slug":"prohand/gladys-nut","repo_url":"https://github.com/prohand/gladys-nut","name":"Network UPS Tools (NUT)","type":"device","version":"1.0.7","description":{"en":"Monitor the status, load and battery runtime of the UPS devices on your NUT servers.","fr":"Suivez l\u2019\xe9tat, la charge et l\u2019autonomie des onduleurs de vos serveurs Network UPS Tools."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-nut.jpg","docker_image":"ghcr.io/prohand/gladys-nut:1.0.7","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"NUT servers","fr":"Serveurs NUT"},"description":{"en":"Configure one or more reachable upsd servers. Every UPS exposed by every configured server is discovered as a separate Gladys device.","fr":"Configurez un ou plusieurs serveurs upsd accessibles. Chaque onduleur expos\xe9 par chaque serveur configur\xe9 est d\xe9couvert comme un appareil Gladys distinct."},"links":[{"url":"https://networkupstools.org/docs/developer-guide.chunked/net-protocol.html","label":{"en":"NUT network protocol","fr":"Protocole r\xe9seau NUT"}}]},{"key":"server_1_host","type":"string","label":{"en":"Server 1 host","fr":"H\xf4te du serveur 1"},"description":{"en":"IP address or DNS name of the first NUT upsd server.","fr":"Adresse IP ou nom DNS du premier serveur NUT upsd."},"placeholder":{"en":"192.168.1.20","fr":"192.168.1.20"},"required":true},{"key":"server_1_port","type":"number","label":{"en":"Server 1 port","fr":"Port du serveur 1"},"description":{"en":"The default NUT TCP port is 3493.","fr":"Le port TCP NUT par d\xe9faut est 3493."},"required":false,"default":3493,"min":1,"max":65535},{"key":"server_1_username","type":"string","label":{"en":"Server 1 username (optional)","fr":"Nom d\u2019utilisateur du serveur 1 (facultatif)"},"required":false},{"key":"server_1_password","type":"secret","label":{"en":"Server 1 password (optional)","fr":"Mot de passe du serveur 1 (facultatif)"},"description":{"en":"Required when a username is configured.","fr":"Obligatoire lorsqu\u2019un nom d\u2019utilisateur est configur\xe9."},"required":false},{"key":"server_2_host","type":"string","label":{"en":"Server 2 host (optional)","fr":"H\xf4te du serveur 2 (facultatif)"},"placeholder":{"en":"192.168.1.21","fr":"192.168.1.21"},"required":false},{"key":"server_2_port","type":"number","label":{"en":"Server 2 port","fr":"Port du serveur 2"},"required":false,"default":3493,"min":1,"max":65535},{"key":"server_2_username","type":"string","label":{"en":"Server 2 username","fr":"Nom d\u2019utilisateur du serveur 2"},"required":false},{"key":"server_2_password","type":"secret","label":{"en":"Server 2 password","fr":"Mot de passe du serveur 2"},"required":false},{"key":"server_3_host","type":"string","label":{"en":"Server 3 host (optional)","fr":"H\xf4te du serveur 3 (facultatif)"},"placeholder":{"en":"192.168.1.22","fr":"192.168.1.22"},"required":false},{"key":"server_3_port","type":"number","label":{"en":"Server 3 port","fr":"Port du serveur 3"},"required":false,"default":3493,"min":1,"max":65535},{"key":"server_3_username","type":"string","label":{"en":"Server 3 username","fr":"Nom d\u2019utilisateur du serveur 3"},"required":false},{"key":"server_3_password","type":"secret","label":{"en":"Server 3 password","fr":"Mot de passe du serveur 3"},"required":false},{"key":"server_4_host","type":"string","label":{"en":"Server 4 host (optional)","fr":"H\xf4te du serveur 4 (facultatif)"},"placeholder":{"en":"192.168.1.23","fr":"192.168.1.23"},"required":false},{"key":"server_4_port","type":"number","label":{"en":"Server 4 port","fr":"Port du serveur 4"},"required":false,"default":3493,"min":1,"max":65535},{"key":"server_4_username","type":"string","label":{"en":"Server 4 username","fr":"Nom d\u2019utilisateur du serveur 4"},"required":false},{"key":"server_4_password","type":"secret","label":{"en":"Server 4 password","fr":"Mot de passe du serveur 4"},"required":false},{"key":"server_5_host","type":"string","label":{"en":"Server 5 host (optional)","fr":"H\xf4te du serveur 5 (facultatif)"},"placeholder":{"en":"192.168.1.24","fr":"192.168.1.24"},"required":false},{"key":"server_5_port","type":"number","label":{"en":"Server 5 port","fr":"Port du serveur 5"},"required":false,"default":3493,"min":1,"max":65535},{"key":"server_5_username","type":"string","label":{"en":"Server 5 username","fr":"Nom d\u2019utilisateur du serveur 5"},"required":false},{"key":"server_5_password","type":"secret","label":{"en":"Server 5 password","fr":"Mot de passe du serveur 5"},"required":false},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each UPS is queried. Every reading is kept in the Gladys history, so a short interval quickly grows the database: keep 300 s unless you really need finer measurements.","fr":"Fr\xe9quence d\u2019interrogation de chaque onduleur. Chaque relev\xe9 est conserv\xe9 dans l\u2019historique Gladys : un intervalle court fait grossir vite la base, conservez 300 s sauf besoin r\xe9el de mesures plus fines."},"required":false,"default":300,"min":60,"max":86400}],"stars":0,"pushed_at":"2026-08-16T09:05:17Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"nginx-proxy-manager","store_slug":"JeremieMercier/gladys-nginx-proxy-manager","repo_url":"https://github.com/JeremieMercier/gladys-nginx-proxy-manager","name":"Nginx Proxy Manager","type":"device","version":"1.0.1","description":{"en":"Install and run Nginx Proxy Manager from Gladys, with direct access to its admin portal.","fr":"Installez Nginx Proxy Manager depuis Gladys et acc\xe9dez directement \xe0 son portail d\'admin."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/JeremieMercier--gladys-nginx-proxy-manager.png","docker_image":"ghcr.io/jeremiemercier/gladys-nginx-proxy-manager:1.0.1","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Fonctionnement"},"description":{"en":"This integration installs and runs Nginx Proxy Manager on your Gladys machine: nothing to install by hand, the container is created, supervised and updated by Gladys. Manage your proxy hosts, redirections and
1SSL certificates from its own web portal.","fr":"Cette int\xe9gration installe et fait tourner Nginx Proxy Manager sur la machine de Gladys : rien \xe0 installer \xe0 la main, le conteneur est cr\xe9\xe9, supervis\xe9 et mis \xe0 jour par Gladys. G\xe9rez vos proxy hosts, redirections et certificats SSL depuis son portail web."},"links":[{"url":"https://nginxproxymanager.com/guide/","label":{"en":"Nginx Proxy Manager documentation","fr":"Documentation Nginx Proxy Manager"}}]},{"key":"access","type":"section","label":{"en":"Access the portal","fr":"Acc\xe9der au portail"},"description":{"en":"The admin portal is available at http://{{gladys_host}}:{{port:admin}} \u2014 also one click away via the \\"Open NPM admin portal\\" button on the Supervision screen. On your first visit, Nginx Proxy Manager asks you to create the administrator account.","fr":"Le portail d\'administration est disponible sur http://{{gladys_host}}:{{port:admin}} \u2014 accessible aussi en un clic via le bouton \xab Ouvrir Portail d\'administration NPM \xbb de l\'\xe9cran Supervision. \xc0 la premi\xe8re visite, Nginx Proxy Manager vous demande de cr\xe9er le compte administrateur."}},{"key":"forwarding","type":"section","label":{"en":"Expose your services","fr":"Exposer vos services"},"description":{"en":"To serve your domains from the internet, forward port 443 of your router to port {{port:https}} on the Gladys machine \u2014 that is the only essential one, your sites are served encrypted (HTTPS). Port 80 (to {{port:http}}) is optional and must never serve content: it is only used by Let\'s Encrypt to issue/renew your certificates (default method) and to redirect visitors typing http:// to https://. If you open it, enable \\"Force SSL\\" on your hosts in NPM; if you keep it closed, use the DNS challenge for your certificates.","fr":"Pour servir vos domaines depuis internet, redirigez le port 443 de votre box vers le port {{port:https}} de la machine Gladys \u2014 c\'est le seul indispensable, vos sites sont servis chiffr\xe9s (HTTPS). Le port 80 (vers {{port:http}}) est optionnel et ne doit jamais servir de contenu : il sert uniquement \xe0 Let\'s Encrypt pour d\xe9livrer/renouveler vos certificats (m\xe9thode par d\xe9faut) et \xe0 rediriger les visiteurs qui tapent http:// vers https://. Si vous l\'ouvrez, activez \xab Force SSL \xbb sur vos hosts dans NPM ; si vous le laissez ferm\xe9, utilisez le d\xe9fi DNS pour vos certificats."}}],"stars":0,"pushed_at":"2026-08-19T16:26:50Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/7955782?v=4"},{"slug":"ntfy","store_slug":"callemand/gladys-ntfy","repo_url":"https://github.com/callemand/gladys-ntfy","name":"ntfy","type":"communication","version":"1.0.0","description":{"en":"Send push notifications through ntfy (ntfy.sh or self-hosted).","fr":"Envoyez des notifications push via ntfy (ntfy.sh ou auto-h\xe9berg\xe9)."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-ntfy.png","docker_image":"ghcr.io/callemand/gladys-ntfy:1.0.0","gladys_version":">=4.62.0","config_schema":[{"key":"server_url","type":"string","label":{"en":"ntfy server URL","fr":"URL du serveur ntfy"},"description":{"en":"The base URL of the ntfy server, shared by everyone. Use the public https://ntfy.sh or your own self-hosted server.","fr":"L\'URL de base du serveur ntfy, commune \xe0 tous. Utilisez le service public https://ntfy.sh ou votre propre serveur auto-h\xe9berg\xe9."},"placeholder":{"en":"https://ntfy.sh","fr":"https://ntfy.sh"},"default":"https://ntfy.sh","required":true},{"key":"default_priority","type":"select","label":{"en":"Default priority","fr":"Priorit\xe9 par d\xe9faut"},"description":{"en":"Priority applied to the notifications sent by Gladys.","fr":"Priorit\xe9 appliqu\xe9e aux notifications envoy\xe9es par Gladys."},"default":"3","options":[{"value":"1","label":{"en":"Min","fr":"Min"}},{"value":"2","label":{"en":"Low","fr":"Basse"}},{"value":"3","label":{"en":"Default","fr":"Normale"}},{"value":"4","label":{"en":"High","fr":"Haute"}},{"value":"5","label":{"en":"Max / Urgent","fr":"Max / Urgente"}}],"required":false},{"key":"default_title","type":"string","label":{"en":"Default notification title","fr":"Titre par d\xe9faut des notifications"},"description":{"en":"Title shown on the notifications sent by Gladys.","fr":"Titre affich\xe9 sur les notifications envoy\xe9es par Gladys."},"placeholder":{"en":"Gladys","fr":"Gladys"},"default":"Gladys","required":false}],"stars":0,"pushed_at":"2026-07-24T09:51:36Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"olvid","store_slug":"prohand/gladys-olvid","repo_url":"https://github.com/prohand/gladys-olvid","name":"Olvid","type":"communication","version":"1.0.4","description":{"en":"Chat with your home from Olvid, the end-to-e
1nd encrypted messenger (personal profile).","fr":"Discutez avec votre maison depuis Olvid, la messagerie chiffr\xe9e de bout en bout."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-olvid.png","docker_image":"ghcr.io/prohand/gladys-olvid:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"Olvid has no cloud bot API: messages go through an Olvid daemon holding your personal Olvid profile. Gladys runs that daemon for you, in its own container, with a key it generates \u2014 nothing to install by hand. Use the buttons below to introduce Gladys to your Olvid app, then link your account.","fr":"Olvid n\'a pas d\'API bot dans le cloud : les messages passent par un d\xe9mon Olvid qui h\xe9berge votre profil Olvid particulier. Gladys fait tourner ce d\xe9mon pour vous, dans son propre conteneur, avec une cl\xe9 qu\'elle g\xe9n\xe8re \u2014 rien \xe0 installer \xe0 la main. Utilisez les boutons ci-dessous pour pr\xe9senter Gladys \xe0 votre application Olvid, puis liez votre compte."},"links":[{"url":"https://doc.bot.olvid.io/en/stable/daemon/daemon.html","label":{"en":"Olvid daemon documentation","fr":"Documentation du d\xe9mon Olvid"}}]},{"key":"daemon_mode","type":"select","display":"radio","label":{"en":"Olvid daemon","fr":"D\xe9mon Olvid"},"description":{"en":"Managed by Gladys: the daemon runs in a container Gladys starts, keeps up and secures with a generated key \u2014 leave the two fields below empty. Pick your own daemon only if you already run one, then fill them in.","fr":"G\xe9r\xe9 par Gladys : le d\xe9mon tourne dans un conteneur que Gladys d\xe9marre, maintient et s\xe9curise avec une cl\xe9 g\xe9n\xe9r\xe9e \u2014 laissez les deux champs ci-dessous vides. Ne choisissez votre propre d\xe9mon que si vous en faites d\xe9j\xe0 tourner un, puis renseignez-les."},"required":false,"default":"managed","options":[{"value":"managed","label":{"en":"Managed by Gladys (recommended)","fr":"G\xe9r\xe9 par Gladys (recommand\xe9)"}},{"value":"external","label":{"en":"My own daemon","fr":"Mon propre d\xe9mon"}}]},{"key":"daemon_url","type":"string","label":{"en":"Olvid daemon URL","fr":"URL du d\xe9mon Olvid"},"description":{"en":"Your own daemon only: gRPC endpoint, reachable from this container. http:// for plaintext, https:// when the daemon serves TLS.","fr":"Uniquement pour votre propre d\xe9mon : point d\'acc\xe8s gRPC, joignable depuis ce conteneur. http:// en clair, https:// si le d\xe9mon expose du TLS."},"required":false,"placeholder":{"en":"http://olvid-daemon:50051","fr":"http://olvid-daemon:50051"}},{"key":"admin_client_key","type":"secret","label":{"en":"Admin client key","fr":"Cl\xe9 client admin"},"description":{"en":"Your own daemon only: its OLVID_ADMIN_CLIENT_KEY_* value. Gladys uses it once to pick its profile and mint its own key.","fr":"Uniquement pour votre propre d\xe9mon : sa valeur OLVID_ADMIN_CLIENT_KEY_*. Gladys s\'en sert pour choisir son profil et cr\xe9er sa propre cl\xe9."},"required":false},{"key":"identity_id","type":"number","label":{"en":"Olvid profile number","fr":"Num\xe9ro du profil Olvid"},"description":{"en":"Which profile of the daemon to use. Leave 0 to take the first one, and create one when the daemon is empty.","fr":"Profil du d\xe9mon \xe0 utiliser. Laissez 0 pour prendre le premier, et en cr\xe9er un si le d\xe9mon est vide."},"required":false,"default":0,"min":0,"max":1000},{"key":"profile_first_name","type":"string","label":{"en":"Profile first name","fr":"Pr\xe9nom du profil"},"description":{"en":"Name shown to your contacts, used when Gladys creates the Olvid profile.","fr":"Nom affich\xe9 \xe0 vos contacts, utilis\xe9 quand Gladys cr\xe9e le profil Olvid."},"required":false,"default":"Gladys"},{"key":"profile_last_name","type":"string","label":{"en":"Profile last name","fr":"Nom du profil"},"required":false,"default":"Assistant"},{"key":"auto_accept_invitations","type":"boolean","label":{"en":"Accept invitations automatically","fr":"Accepter automatiquement les invitations"},"description":{"en":"Gladys accepts the invitations it receives, so you only have to exchange the 4-digit code. Group invitations are never accepted.","fr":"Gladys accepte les invitations re\xe7ues, il ne vous reste que le code \xe0 4 chiffres \xe0 \xe9changer. Les invitations de groupe ne sont jamais accept\xe9es."},"required":false,"default":true}],"stars":0,"pushed_at":"2026-09-02T08:09:58Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"openweather","store_slug":"GladysAssistant/gladys-openweather","repo_url":"https://github.com/GladysAssistant/gladys-openweather","name":"OpenWeather","type":"weather","version":"1.0.2","description":{"en":"Weather conditions, forecasts and alerts from OpenWeather.","fr":"Conditions, pr\xe9visions et alertes m\xe9t\xe9o fournies par OpenWeather."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/GladysAssistant--gladys-openweather.png","docker_image":"ghcr.io/gladysassistant/gladys-openweather:1.0.2","gladys_version":">=4.85.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Your OpenWeather account","fr":"Votre compte OpenWeather"},"description":{"en":"OpenWeather is a free weather API. Create an account, copy the API key from the \\"API keys\\" tab and paste it below. A new key takes up to a couple of hours to become active.","fr":"OpenWeather est une API m\xe9t\xe9o gratuite. Cr\xe9ez un compte, copiez la cl\xe9 d\'API depuis l\'onglet \xab API keys \xbb et collez-la ci-dessous. Une nouvelle cl\xe9 peut mettre jusqu\'\xe0 quelques heures avant d\'\xeatre active."},"links":[{"url":"https://home.openweathermap.org/users/sign_up","label":{"en":"Create a free account","fr":"Cr\xe9er un compte gratuit"}},{"url":"https://home.openweathermap.org/api_keys","label":{"en":"Get my API key","fr":"Obtenir ma cl\xe9 d\'API"}}]},{"key":"api_key","type":"secret","label":{"en":"API key","fr":"Cl\xe9 d\'API"},"description":{"en":"The OpenWeather API key used for every request.","fr":"La cl\xe9 d\'API OpenWeather utilis\xe9e pour chaque requ\xeate."},"placeholder":{"en":"1234567890abcdef1234567890abcdef","fr":"1234567890abcdef1234567890abcdef"},"required":true},{"key":"api_version","type":"select","label":{"en":"OpenWeather API","fr":"API OpenWeather"},"description":{"en":"\\"Free\\" works with any account. \\"One Call 3.0\\" needs the One Call subscription (1000 free calls a day, a credit card is required) and adds hourly detail, UV index, dew point and weather alerts.","fr":"\xab Gratuite \xbb fonctionne avec n\'importe quel compte. \xab One Call 3.0 \xbb n\xe9cessite l\'abonnement One Call (1000 appels gratuits par jour, carte bancaire requise) et ajoute le d\xe9tail heure par heure, l\'indice UV, le point de ros\xe9e et les alertes m\xe9t\xe9o."},"required":false,"default":"2.5","display":"radio","options":[{"value":"2.5","label":{"en":"Free (current weather + 5 days)","fr":"Gratuite (m\xe9t\xe9o actuelle + 5 jours)"}},{"value":"3.0","label":{"en":"One Call 3.0 (hourly, UV, alerts)","fr":"One Call 3.0 (horaire, UV, alertes)"}}]},{"key":"cache_duration","type":"number","label":{"en":"Cache duration (s)","fr":"Dur\xe9e du cache (s)"},"description":{"en":"How long a weather answer is reused before calling OpenWeather again. Keeps the dashboard within the free quota. Set to 0 to always call the API.","fr":"Dur\xe9e pendant laquelle une r\xe9ponse est r\xe9utilis\xe9e avant de rappeler OpenWeather. Permet de rester dans le quota gratuit. Mettre 0 pour toujours appeler l\'API."},"required":false,"default":600,"min":0,"max":3600}],"stars":0,"pushed_at":"2026-08-10T13:36:24Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/7365162?v=4"},{"slug":"overkiz","store_slug":"cicoub13/gladys-overkiz","repo_url":"https://github.com/cicoub13/gladys-overkiz","name":"Overkiz","type":"device","version":"1.5.2","description":{"en":"Control your Overkiz devices (Somfy TaHoma, Connexoon, Cozytouch...), up to 3 accounts.","fr":"Contr\xf4lez vos appareils Overkiz (Somfy TaHoma, Connexoon, Cozytouch...), jusqu\'\xe0 3 comptes."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/cicoub13--gladys-overkiz.png","docker_image":"ghcr.io/cicoub13/gladys-overkiz:1.5.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Overkiz account 1","fr":"Compte Overkiz 1"},"description":{"en":"Connect with the credentials of your Overkiz-based hub. Pick the server matching your hub, then enter the email and password of your provider account. Up to 3 accounts can run side by side \u2014 a Somfy hub for your covers and a Cozytouch account for your water heater, for instance. Covers, lights, switches, sensors and water heaters are supported; heating devices are not mapped yet.","fr":"Connectez-vous avec les identifiants de votre box Overkiz. Choisissez le serveur correspondant \xe0 votre box, puis saisissez l\'email et le mot de passe de votre compte fournisseur. Jusqu\'\xe0 3 comptes peuvent fonctionner en parall\xe8le \u2014 une box Somfy pour vos volets et un compte Cozytouch pour votre chauffe-eau, par exemple. Les volets, lampes, interrupteurs, capteurs et chauffe-eau sont support\xe9s ; les appareils de chauffage ne le sont pas encore."},"links":[{"url":"https://github.com/cicoub13/gladys-overkiz","label":{"en":"Documentation","fr":"Documentation"}}]},{"key":"server","type":"select","label":{"en":"Server (hub type)","fr":"Serveur (type de box)"},"required":true,"default":"somfy_europe","options":[{"value":"somfy_europe","label":{"en":"Somfy Europe (TaHoma, Switch, Connexoon IO)","fr":"Somfy Europe (TaHoma, Switch, Connexoon IO)"}},{"value":"somfy_australia","label":{"en":"Somfy Australia / Oceania (Connexoon RTS)","fr":"Somfy Australie / Oc\xe9anie (Connexoon RTS)"}},{"value":"somfy_north_america","label":{"en":"Somfy North America","fr":"Somfy Am\xe9rique du Nord"}},{"value":"cozytouch","label":{"en":"Atlantic Cozytouch / Thermor / Sauter","fr":"Atlantic Cozytouch / Thermor / Sauter"}},{"value":"flexom","label":{"en":"Bouygues Flexom","fr":"Bouygues Flexom"}},{"value":"rexel","label":{"en":"Rexel Energeasy Connect","fr":"Rexel Energeasy Connect"}},{"value":"hi_kumo","label":{"en":"Hitachi Hi Kumo","fr":"Hitachi Hi Kumo"}}]},{"key":"username","type":"string","label":{"en":"Email / username","fr":"Email / identifiant"},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"required":true},{"key":"account_2_intro","type":"section","label":{"en":"Overkiz account 2 (optional)","fr":"Compte Overkiz 2 (optionnel)"},"description":{"en":"Leave the email and the password empty if you have a single Overkiz account. Fill them in to add a second hub or a second provider \u2014 for example an Atlantic Cozytouch account for a water heater, next to a Somfy hub for your covers. To disable this account later, clear the email.","fr":"Laissez l\'email et le mot de passe vides si vous n\'avez qu\'un seul compte Overkiz. Renseignez-les pour ajouter une deuxi\xe8me box ou un deuxi\xe8me fournisseur \u2014 par exemple un compte Atlantic Cozytouch pour un chauffe-eau, \xe0 c\xf4t\xe9 d\'une box Somfy pour vos volets. Pour d\xe9sactiver ce compte plus tard, videz l\'email."}},{"key":"server_2","type":"select","label":{"en":"Server (hub type)","fr":"Serveur (type de box)"},"required":false,"default":"somfy_europe","options":[{"value":"somfy_europe","label":{"en":"Somfy Europe (TaHoma, Switch, Connexoon IO)","fr":"Somfy Europe (TaHoma, Switch, Connexoon IO)"}},{"value":"somfy_australia","label":{"en":"Somfy Australia / Oceania (Connexoon RTS)","fr":"Somfy Australie / Oc\xe9anie (Connexoon RTS)"}},{"value":"somfy_north_america","label":{"en":"Somfy North America","fr":"Somfy Am\xe9rique du Nord"}},{"value":"cozytouch","label":{"en":"Atlantic Cozytouch / Thermor / Sauter","fr":"Atlantic Cozytouch / Thermor / Sauter"}},{"value":"flexom","label":{"en":"Bouygues Flexom","fr":"Bouygues Flexom"}},{"value":"rexel","label":{"en":"Rexel Energeasy Connect","fr":"Rexel Energeasy Connect"}},{"value":"hi_kumo","label":{"en":"Hitachi Hi Kumo","fr":"Hitachi Hi Kumo"}}]},{"key":"username_2","type":"string","label":{"en":"Email / username","fr":"Email / identifiant"},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":false},{"key":"password_2","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"required":false},{"key":"account_3_intro","type":"section","label":{"en":"Overkiz account 3 (optional)","fr":"Compte Overkiz 3 (
1optionnel)"},"description":{"en":"A third account, same principle. Leave it empty if you do not need it.","fr":"Un troisi\xe8me compte, m\xeame principe. Laissez-le vide si vous n\'en avez pas besoin."}},{"key":"server_3","type":"select","label":{"en":"Server (hub type)","fr":"Serveur (type de box)"},"required":false,"default":"somfy_europe","options":[{"value":"somfy_europe","label":{"en":"Somfy Europe (TaHoma, Switch, Connexoon IO)","fr":"Somfy Europe (TaHoma, Switch, Connexoon IO)"}},{"value":"somfy_australia","label":{"en":"Somfy Australia / Oceania (Connexoon RTS)","fr":"Somfy Australie / Oc\xe9anie (Connexoon RTS)"}},{"value":"somfy_north_america","label":{"en":"Somfy North America","fr":"Somfy Am\xe9rique du Nord"}},{"value":"cozytouch","label":{"en":"Atlantic Cozytouch / Thermor / Sauter","fr":"Atlantic Cozytouch / Thermor / Sauter"}},{"value":"flexom","label":{"en":"Bouygues Flexom","fr":"Bouygues Flexom"}},{"value":"rexel","label":{"en":"Rexel Energeasy Connect","fr":"Rexel Energeasy Connect"}},{"value":"hi_kumo","label":{"en":"Hitachi Hi Kumo","fr":"Hitachi Hi Kumo"}}]},{"key":"username_3","type":"string","label":{"en":"Email / username","fr":"Email / identifiant"},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":false},{"key":"password_3","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"required":false},{"key":"advanced","type":"section","label":{"en":"Advanced","fr":"Avanc\xe9"}},{"key":"polling_period","type":"number","label":{"en":"Event polling period (s)","fr":"P\xe9riode d\'interrogation des \xe9v\xe9nements (s)"},"description":{"en":"How often events are fetched from the Overkiz cloud, in seconds. Applies to every configured account.","fr":"Fr\xe9quence de r\xe9cup\xe9ration des \xe9v\xe9nements depuis le cloud Overkiz, en secondes. S\'applique \xe0 tous les comptes configur\xe9s."},"required":false,"default":30,"min":10,"max":300}],"stars":0,"pushed_at":"2026-08-17T21:35:50Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/1773153?v=4"},{"slug":"philips-hue","store_slug":"cicoub13/gladys-philips-hue","repo_url":"https://github.com/cicoub13/gladys-philips-hue","name":"Philips Hue","type":"device","version":"1.1.1","description":{"en":"Control Philips Hue lights (on/off, brightness, color, white temperature) from Gladys, locally.","fr":"Pilotez vos lampes Philips Hue (marche/arr\xeat, luminosit\xe9, couleur, temp\xe9rature de blanc) en local."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/cicoub13--gladys-philips-hue.jpg","docker_image":"ghcr.io/cicoub13/gladys-philips-hue:1.1.1","gladys_version":">=4.62.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Pairing your Hue bridge","fr":"Appairer votre bridge Hue"},"description":{"en":"Use the buttons below: first \\"Discover bridges\\" to find your Hue bridge on the network, then press the physical link button on top of the bridge and click \\"Pair bridge\\" within 30 seconds. You can also fill the bridge IP manually if auto-discovery fails.","fr":"Utilisez les boutons ci-dessous : d\'abord \xab D\xe9couvrir les bridges \xbb pour trouver votre bridge Hue sur le r\xe9seau, puis appuyez sur le bouton physique du bridge et cliquez sur \xab Appairer le bridge \xbb dans les 30 secondes. Vous pouvez aussi renseigner l\'IP du bridge manuellement si la d\xe9couverte automatique \xe9choue."}},{"key":"bridge_ip","type":"string","label":{"en":"Bridge IP address (optional)","fr":"Adresse IP du bridge (optionnel)"},"description":{"en":"Only needed if automatic discovery does not find your bridge. Example: 192.168.1.42","fr":"N\xe9cessaire uniquement si la d\xe9couverte automatique ne trouve pas votre bridge. Exemple : 192.168.1.42"},"required":false,"default":""},{"key":"poll_frequency","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"How often the light states are refreshed from the bridge.","fr":"Fr\xe9quence de rafra\xeechissement de l\'\xe9tat des lampes depuis le bridge."},"required":false,"default":"60000","options":[{"value":"10000","label":{"en":"Every 10 seconds","fr":"Toutes les 10 secondes"}},{"value":"15000","label":{"en":"Every 15 seconds","fr":"Toutes les 15 secondes"}},{"value":"30000","label":{"en":"Every 30 seconds","fr":"Toutes les 30 secondes"}},{"value":"60000","label":{"en":"Every minute","fr":"Toutes les minutes"}}]}],"stars":0,"pushed_at":"2026-08-14T12:12:00Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/1773153?v=4"},{"slug":"plex","store_slug":"guim31/gladys-plex","repo_url":"https://github.com/guim31/gladys-plex","name":"Plex","type":"device","version":"1.0.3","description":{"en":"Control your Plex players: playback, now playing, activity and library sensors.","fr":"Contr\xf4lez vos lecteurs Plex : lecture, en cours, activit\xe9 et biblioth\xe8ques."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-plex.png","docker_image":"ghcr.io/guim31/gladys-plex:1.0.3","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Connect to your Plex Media Server","fr":"Connexion \xe0 votre serveur Plex"},"description":{"en":"Enter the local address of your Plex Media Server (for example http://192.168.1.20:32400) and a Plex authentication token (X-Plex-Token). The linked article explains how to find your token from the Plex web app.","fr":"Indiquez l\'adresse locale de votre serveur Plex (par exemple http://192.168.1.20:32400) et un jeton d\'authentification Plex (X-Plex-Token). L\'article en lien explique comment trouver votre jeton depuis l\'application web Plex."},"links":[{"url":"https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/","label":{"en":"How to find your Plex token","fr":"Trouver votre jeton Plex"}}]},{"key":"plex_url","type":"string","label":{"en":"Plex server URL","fr":"URL du serveur Plex"},"description":{"en":"Base URL of the Plex Media Server, including the port (32400 by default).","fr":"URL de base du serveur Plex, port inclus (32400 par d\xe9faut)."},"placeholder":{"en":"http://192.168.1.20:32400"},"required":true},{"key":"plex_token","type":"secret","label":{"en":"Plex token (X-Plex-Token)","fr":"Jeton Plex (X-Plex-Token)"},"required":true},{"key":"session_poll_frequency","type":"number","label":{"en":"Playback refresh interval (s)","fr":"Rafra\xeechissement de la lecture (s)"},"description":{"en":"How often active playback sessions are refreshed, in seconds. Real-time notifications from the server speed this up when something starts, pauses or stops.","fr":"Fr\xe9quence de rafra\xeechissement des lectures en cours, en secondes. Les notifications temps r\xe9el du serveur acc\xe9l\xe8rent la mise \xe0 jour quand une lecture d\xe9marre, se met en pause ou s\'arr\xeate."},"required":false,"default":10,"min":5,"max":120},{"key":"poll_frequency","type":"number","label":{"en":"Library refresh interval (s)","fr":"Rafra\xeechissement des biblioth\xe8ques (s)"},"description":{"en":"How often library statistics (item counts) are refreshed, in seconds.","fr":"Fr\xe9quence de rafra\xeechissement des statistiques des biblioth\xe8ques (nombre d\'\xe9l\xe9ments), en secondes."},"required":false,"default":300,"min":60,"max":3600},{"key":"library_sensors","type":"boolean","label":{"en":"Library sensors","fr":"Capteurs de biblioth\xe8ques"},"description":{"en":"Add one item-count sensor per Plex library on the server device (plus episodes for TV shows and tracks for music).","fr":"Ajoute un capteur de compte d\'\xe9l\xe9ments par biblioth\xe8que Plex sur l\'appareil serveur (plus les \xe9pisodes pour les s\xe9ries et les pistes pour la musique)."},"required":false,"default":true},{"key":"allow_self_signed","type":"boolean","label":{"en":"Accept self
1-signed certificate","fr":"Accepter un certificat auto-sign\xe9"},"description":{"en":"Only for https URLs: accept the self-signed certificate of the Plex server. Leave off for http URLs.","fr":"Uniquement pour les URL https : accepte le certificat auto-sign\xe9 du serveur Plex. Laissez d\xe9sactiv\xe9 pour les URL http."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-16T19:53:10Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"pollens","store_slug":"prohand/gladys-pollen","repo_url":"https://github.com/prohand/gladys-pollen","name":"Pollens","type":"device","version":"1.0.4","description":{"en":"Pollen risk for the locations you choose, from the Copernicus CAMS European forecast.","fr":"Risque pollinique pour les lieux de votre choix, via la pr\xe9vision europ\xe9enne CAMS de Copernicus."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-pollen.png","docker_image":"ghcr.io/prohand/gladys-pollen:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"Add a location with the button below: type a town, it is geocoded, and a pollen device appears in the Discovery tab, ready to be added to Gladys. Pollen data comes from the CAMS European air quality forecast (Copernicus), republished as open data by Open-Meteo, and places are searched through the Open-Meteo geocoding API: no account and no API key are needed. Coverage is Europe, wherever the CAMS model reaches.","fr":"Ajoutez un lieu avec le bouton ci-dessous : saisissez une commune, elle est g\xe9ocod\xe9e, puis un appareil pollens appara\xeet dans l\'onglet D\xe9couverte, pr\xeat \xe0 \xeatre ajout\xe9 \xe0 Gladys. Les donn\xe9es polliniques proviennent de la pr\xe9vision europ\xe9enne de qualit\xe9 de l\'air CAMS (Copernicus), rediffus\xe9e en open data par Open-Meteo, et les lieux sont recherch\xe9s via l\'API de g\xe9ocodage Open-Meteo : aucun compte ni cl\xe9 d\'API n\'est n\xe9cessaire. La couverture est europ\xe9enne, partout o\xf9 porte le mod\xe8le CAMS."},"links":[{"url":"https://open-meteo.com/en/docs/air-quality-api","label":{"en":"Open-Meteo Air Quality API","fr":"API Qualit\xe9 de l\'air Open-Meteo"}},{"url":"https://open-meteo.com/en/docs/geocoding-api","label":{"en":"Open-Meteo Geocoding API","fr":"API de g\xe9ocodage Open-Meteo"}}]},{"key":"settings_section","type":"section","label":{"en":"General settings","fr":"R\xe9glages g\xe9n\xe9raux"},"description":{"en":"These settings apply to every configured location.","fr":"Ces r\xe9glages s\'appliquent \xe0 tous les lieux configur\xe9s."}},{"key":"language","type":"select","label":{"en":"Language of the device names","fr":"Langue du nom des appareils"},"description":{"en":"The language the pollen names are written in: \\"Bouleau\\" or \\"Birch\\". Everything else this integration displays already follows your Gladys language, but the name of a device and of its features is stored as it is published, so it has to be chosen here. A device already added to Gladys keeps the names it was created with: delete it and add it again from the Discovery tab to rename it.","fr":"La langue dans laquelle sont \xe9crits les noms de pollens : \xab Bouleau \xbb ou \xab Birch \xbb. Tout le reste de ce que l\'int\xe9gration affiche suit d\xe9j\xe0 la langue de votre compte Gladys, mais le nom d\'un appareil et de ses fonctionnalit\xe9s est enregistr\xe9 tel qu\'il est publi\xe9 : il faut donc le choisir ici. Un appareil d\xe9j\xe0 ajout\xe9 \xe0 Gladys conserve les noms avec lesquels il a \xe9t\xe9 cr\xe9\xe9 : supprimez-le et rajoutez-le depuis l\'onglet D\xe9couverte pour le renommer."},"required":false,"default":"fr","options":[{"value":"fr","label":{"en":"French","fr":"Fran\xe7ais"}},{"value":"en","label":{"en":"English","fr":"Anglais"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each location is refreshed, in seconds. The forecast is updated once a day and interpolated hourly, so there is nothing to gain below one hour.","fr":"Fr\xe9quence de rafra\xeechissement de chaque lieu, en secondes. La pr\xe9vision est mise \xe0 jour une fois par jour et interpol\xe9e \xe0 l\'heure : desce
1ndre sous une heure n\'apporte rien."},"required":false,"default":3600,"min":900,"max":86400},{"key":"locations_section","type":"section","label":{"en":"Your locations","fr":"Vos lieux"},"description":{"en":"Use the buttons below to add, list and remove your locations. \\"Add my Gladys houses\\" turns the houses you already placed on the map in Gladys into locations, in one click. They are not fields of this form: a list you build as you go cannot be one, so everything about them happens under a button, and the answer displayed there is what shows you the list.","fr":"Utilisez les boutons ci-dessous pour ajouter, lister et supprimer vos lieux. \xab Ajouter mes maisons Gladys \xbb transforme en lieux, en un clic, les maisons que vous avez d\xe9j\xe0 plac\xe9es sur la carte dans Gladys. Ce ne sont pas des champs de ce formulaire : une liste que l\'on construit au fil de l\'eau ne peut pas en \xeatre un, donc tout se passe sous un bouton et c\'est la r\xe9ponse affich\xe9e l\xe0 qui vous montre la liste."}}],"stars":0,"pushed_at":"2026-08-15T16:07:25Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"proxmox","store_slug":"prohand/gladys-proxmox","repo_url":"https://github.com/prohand/gladys-proxmox","name":"Proxmox","type":"device","version":"1.0.3","description":{"en":"Proxmox VE backups per node (last run, duration, status) and the state of every VM and LXC.","fr":"Sauvegardes Proxmox VE par n\u0153ud (derni\xe8re, dur\xe9e, statut) et \xe9tat de chaque VM et LXC."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-proxmox.png","docker_image":"ghcr.io/prohand/gladys-proxmox:1.0.3","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"First Proxmox server \u2014 read-only API token","fr":"Premier serveur Proxmox \u2014 jeton d\'API en lecture seule"},"description":{"en":"This integration only READS Proxmox: the backup task log of the nodes, and the state of the VMs/LXC. Create a dedicated user, give it the built-in PVEAuditor role on / (Sys.Audit on /nodes and VM.Audit on /vms), then add an API token to that user. With privilege separation enabled, the token needs the same ACL as its user. Full step-by-step in the Documentation link below.","fr":"Cette int\xe9gration LIT uniquement Proxmox : le journal des t\xe2ches de sauvegarde des n\u0153uds, et l\'\xe9tat des VM/LXC. Cr\xe9ez un utilisateur d\xe9di\xe9, donnez-lui le r\xf4le int\xe9gr\xe9 PVEAuditor sur / (Sys.Audit sur /nodes et VM.Audit sur /vms), puis ajoutez-lui un jeton d\'API. Si la s\xe9paration de privil\xe8ges est activ\xe9e, le jeton doit recevoir la m\xeame ACL que son utilisateur. Proc\xe9dure d\xe9taill\xe9e dans le lien Documentation ci-dessous."},"links":[{"url":"https://pve.proxmox.com/wiki/User_Management","label":{"en":"Proxmox user management","fr":"Gestion des utilisateurs Proxmox"}},{"url":"https://pve.proxmox.com/pve-docs/api-viewer/index.html","label":{"en":"Proxmox VE API viewer","fr":"Explorateur d\'API Proxmox VE"}}]},{"key":"label","type":"string","label":{"en":"Name of this Proxmox","fr":"Nom de ce Proxmox"},"description":{"en":"Prefixes the name of every device of this server, e.g. \\"Proxmox pve1\\". Leave empty to use \\"Proxmox\\". Renaming it here does not rename the devices Gladys already created.","fr":"Pr\xe9fixe le nom de chaque appareil de ce serveur, par exemple \xab Proxmox pve1 \xbb. Laissez vide pour utiliser \xab Proxmox \xbb. Le renommer ici ne renomme pas les appareils d\xe9j\xe0 cr\xe9\xe9s par Gladys."},"placeholder":{"en":"Proxmox","fr":"Proxmox"},"required":false},{"key":"host","type":"string","label":{"en":"Proxmox host","fr":"H\xf4te Proxmox"},"description":{"en":"IP address or hostname of a Proxmox VE node (any node of the cluster answers for all of them).","fr":"Adresse IP ou nom d\'h\xf4te d\'un n\u0153ud Proxmox VE (n\'importe quel n\u0153ud du cluster r\xe9pond pour tous)."},"placeholder":{"en":"192.168.1.10","fr":"192.168.1.10"},"required":true},{"key":"port","type":"number","label":{"en":"API port","fr":"Port de l\'API"},"description":{"en":"HTTPS port of the Proxmox VE API. The default Proxmox port is 8006.","fr":"Port HTTPS de l\'API Proxmox VE. Le port Proxmox par d\xe9faut est 8006."},"required":false,"default":8006,"min":1,"max":65535},{"key":"token_id","type":"string","label":{"en":"API token ID","fr":"Identifiant du jeton d\'API"},"description":{"en":"Full token id, in the user@realm!tokenname form, as shown by Proxmox when the token is created.","fr":"Identifiant complet du jeton, sous la forme utilisateur@realm!nomdujeton, tel qu\'affich\xe9 par Proxmox \xe0 la cr\xe9ation."},"placeholder":{"en":"gladys@pve!tasks","fr":"gladys@pve!tasks"},"required":true},{"key":"token_secret","type":"secret","label":{"en":"API token secret","fr":"Secret du jeton d\'API"},"description":{"en":"The secret value Proxmox shows ONCE when the token is created. Stored encrypted by Gladys and never sent back to the browser.","fr":"La valeur secr\xe8te affich\xe9e UNE SEULE FOIS par Proxmox \xe0 la cr\xe9ation du jeton. Stock\xe9e chiffr\xe9e par Gladys et jamais renvoy\xe9e au navigateur."},"required":true},{"key":"tls_fingerprint","type":"string","label":{"en":"TLS certificate fingerprint","fr":"Empreinte du certificat TLS"},"description":{"en":"Recommended with the default self-signed Proxmox certificate: pin its SHA-256 fingerprint (Datacenter > Certificates > pveproxy-ssl.pem). Leave empty when the node serves a certificate signed by a public CA.","fr":"Recommand\xe9 avec le certificat auto-sign\xe9 Proxmox par d\xe9faut : \xe9pinglez son empreinte SHA-256 (Datacenter > Certificats > pveproxy-ssl.pem). Laissez vide si le n\u0153ud pr\xe9sente un certificat sign\xe9 par une AC publique."},"placeholder":{"en":"AA:BB:CC:...:FF","fr":"AA:BB:CC:...:FF"},"required":false},{"key":"tls_verify","type":"boolean","label":{"en":"Verify the TLS certificate","fr":"V\xe9rifier le certificat TLS"},"description":{"en":"Turn OFF only as a last resort, on a trusted LAN: the connection stays encrypted but nothing proves the server is the real one. Pinning the fingerprint above is the safe way to accept a self-signed certificate.","fr":"\xc0 d\xe9sactiver en dernier recours seulement, sur un r\xe9seau local de confiance : la connexion reste chiffr\xe9e mais rien ne prouve l\'identit\xe9 du serveur. \xc9pingler l\'empreinte ci-dessus est la fa\xe7on s\xfbre d\'accepter un certificat auto-sign\xe9."},"required":false,"default":true},{"key":"nodes_filter","type":"string","label":{"en":"Nodes to monitor","fr":"N\u0153uds \xe0 surveiller"},"description":{"en":"Comma-separated node names. Leave empty to monitor every node the token can see. VMs and LXC are filtered the same way: only the guests running on those nodes are reported.","fr":"Noms de n\u0153uds s\xe9par\xe9s par des virgules. Laissez vide pour surveiller tous les n\u0153uds visibles par le jeton. Les VM et LXC sont filtr\xe9es de la m\xeame fa\xe7on : seuls les invit\xe9s h\xe9berg\xe9s par ces n\u0153uds sont remont\xe9s."},"placeholder":{"en":"pve1, pve2","fr":"pve1, pve2"},"required":false},{"key":"second_server","type":"section","label":{"en":"Second Proxmox server (optional)","fr":"Second serveur Proxmox (optionnel)"},"description":{"en":"Leave this block empty if you only have one Proxmox. Filled in, it monitors a second, fully independent server: its own host, its own API token and its own TLS settings, read the same way and needing the same PVEAuditor privileges. Its nodes and its VMs/LXC show up as their own Gladys devices, so a node
1called pve on both servers stays two distinct devices.","fr":"Laissez ce bloc vide si vous n\'avez qu\'un seul Proxmox. Renseign\xe9, il surveille un second serveur totalement ind\xe9pendant : son propre h\xf4te, son propre jeton d\'API et ses propres r\xe9glages TLS, lus de la m\xeame fa\xe7on et n\xe9cessitant les m\xeames droits PVEAuditor. Ses n\u0153uds et ses VM/LXC apparaissent comme des appareils Gladys distincts : un n\u0153ud nomm\xe9 pve pr\xe9sent sur les deux serveurs reste deux appareils."}},{"key":"label_2","type":"string","label":{"en":"Name of this Proxmox","fr":"Nom de ce Proxmox"},"description":{"en":"Prefixes the name of every device of this server, e.g. \\"Proxmox 2 pve1\\". Leave empty to use \\"Proxmox 2\\". Renaming it here does not rename the devices Gladys already created.","fr":"Pr\xe9fixe le nom de chaque appareil de ce serveur, par exemple \xab Proxmox 2 pve1 \xbb. Laissez vide pour utiliser \xab Proxmox 2 \xbb. Le renommer ici ne renomme pas les appareils d\xe9j\xe0 cr\xe9\xe9s par Gladys."},"placeholder":{"en":"Proxmox 2","fr":"Proxmox 2"},"required":false},{"key":"host_2","type":"string","label":{"en":"Proxmox host","fr":"H\xf4te Proxmox"},"description":{"en":"IP address or hostname of a node of the SECOND Proxmox VE installation. Leave empty if you only have one.","fr":"Adresse IP ou nom d\'h\xf4te d\'un n\u0153ud de la SECONDE installation Proxmox VE. Laissez vide si vous n\'en avez qu\'une."},"placeholder":{"en":"192.168.1.10","fr":"192.168.1.10"},"required":false},{"key":"port_2","type":"number","label":{"en":"API port","fr":"Port de l\'API"},"description":{"en":"HTTPS port of the Proxmox VE API. The default Proxmox port is 8006.","fr":"Port HTTPS de l\'API Proxmox VE. Le port Proxmox par d\xe9faut est 8006."},"required":false,"default":8006,"min":1,"max":65535},{"key":"token_id_2","type":"string","label":{"en":"API token ID","fr":"Identifiant du jeton d\'API"},"description":{"en":"Full token id of the second server, in the user@realm!tokenname form.","fr":"Identifiant complet du jeton du second serveur, sous la forme utilisateur@realm!nomdujeton."},"placeholder":{"en":"gladys@pve!tasks","fr":"gladys@pve!tasks"},"required":false},{"key":"token_secret_2","type":"secret","label":{"en":"API token secret","fr":"Secret du jeton d\'API"},"description":{"en":"The secret value the second Proxmox shows ONCE when the token is created. Stored encrypted by Gladys and never sent back to the browser.","fr":"La valeur secr\xe8te affich\xe9e UNE SEULE FOIS par le second Proxmox \xe0 la cr\xe9ation du jeton. Stock\xe9e chiffr\xe9e par Gladys et jamais renvoy\xe9e au navigateur."},"required":false},{"key":"tls_fingerprint_2","type":"string","label":{"en":"TLS certificate fingerprint","fr":"Empreinte du certificat TLS"},"description":{"en":"Recommended with the default self-signed Proxmox certificate: pin its SHA-256 fingerprint (Datacenter > Certificates > pveproxy-ssl.pem). Leave empty when the node serves a certificate signed by a public CA.","fr":"Recommand\xe9 avec le certificat auto-sign\xe9 Proxmox par d\xe9faut : \xe9pinglez son empreinte SHA-256 (Datacenter > Certificats > pveproxy-ssl.pem). Laissez vide si le n\u0153ud pr\xe9sente un certificat sign\xe9 par une AC publique."},"placeholder":{"en":"AA:BB:CC:...:FF","fr":"AA:BB:CC:...:FF"},"required":false},{"key":"tls_verify_2","type":"boolean","label":{"en":"Verify the TLS certificate","fr":"V\xe9rifier le certificat TLS"},"description":{"en":"Turn OFF only as a last resort, on a trusted LAN: the connection stays encrypted but nothing proves the server is the real one. Pinning the fingerprint above is the safe way to accept a self-signed certificate.","fr":"\xc0 d\xe9sactiver en dernier recours seulement, sur un r\xe9seau local de confiance : la connexion reste chiffr\xe9e mais rien ne prouve l\'identit\xe9 du serveur. \xc9pingler l\'empreinte ci-dessus est la fa\xe7on s\xfbre d\'accepter un certificat auto-sign\xe9."},"required":false,"default":true},{"key":"nodes_filter_2","type":"string","label":{"en":"Nodes to monitor","fr":"N\u0153uds \xe0 surveiller"},"description":{"en":"Comma-separated node names. Leave empty to monitor every node the token can see. VMs and LXC are filtered the same way: only the guests running on those nodes are reported.","fr":"Noms de n\u0153uds s\xe9par\xe9s par des virgules. Laissez vide pour surveiller tous les n\u0153uds visibles par le jeton. Les VM et LXC sont filtr\xe9es de la m\xeame fa\xe7on : seuls les invit\xe9s h\xe9berg\xe9s par ces n\u0153uds sont remont\xe9s."},"placeholder":{"en":"pve1, pve2","fr":"pve1, pve2"},"required":false},{"key":"shared_options","type":"section","label":{"en":"Backups and display","fr":"Sauvegardes et affichage"},"description":{"en":"These settings apply to every configured Proxmox server.","fr":"Ces r\xe9glages s\u2019appliquent \xe0 tous les serveurs Proxmox configur\xe9s."}},{"key":"backup_lookback_days","type":"number","label":{"en":"How far back to look for a backup (days)","fr":"Anciennet\xe9 maximale d\'une sauvegarde recherch\xe9e (jours)"},"description":{"en":"The last backup is looked for inside this window. A node with no backup in it reads \\"unknown\\" on \\"Last backup\\" and \\"Backup status\\", and publishes no duration at all. Raise it if your backup jobs run less often than that.","fr":"La derni\xe8re sauvegarde est recherch\xe9e dans cette fen\xeatre. Un n\u0153ud sans sauvegarde dedans affiche \xab unknown \xbb sur \xab Last backup \xbb et \xab Backup status \xbb, et ne publie aucune dur\xe9e. Augmentez-la si vos travaux de sauvegarde sont plus espac\xe9s."},"required":false,"default":7,"min":1,"max":365},{"key":"backup_success_scope","type":"select","label":{"en":"What counts as a successful backup","fr":"Ce qui compte comme une sauvegarde r\xe9ussie"},"description":{"en":"Proxmox marks a finished backup OK, WARNINGS: n (it completed but skipped something), or with an error string. Choose whether a backup that ended with warnings still reads \\"OK\\" on the \\"Backup status\\" feature, or \\"failed \u2014 WARNINGS: n\\".","fr":"Proxmox marque une sauvegarde termin\xe9e OK, WARNINGS: n (termin\xe9e mais avec des \xe9l\xe9ments ignor\xe9s), ou avec un message d\'erreur. Choisissez si une sauvegarde termin\xe9e avec des avertissements affiche quand m\xeame \xab OK \xbb sur la fonctionnalit\xe9 \xab Backup status \xbb, ou \xab failed \u2014 WARNINGS: n \xbb."},"required":false,"default":"ok_only","options":[{"value":"ok_only","label":{"en":"OK only","fr":"OK uniquement"}},{"value":"ok_and_warnings","label":{"en":"OK and warnings","fr":"OK et avertissements"}}]},{"key":"timezone","type":"string","label":{"en":"Time zone","fr":"Fuseau horaire"},"description":{"en":"IANA time zone used to render the \\"Last backup\\" timestamp (Europe/Paris, America/Ne
1w_York...). Leave empty to use the time zone of the Gladys host.","fr":"Fuseau horaire IANA utilis\xe9 pour afficher l\'horodatage \xab Last backup \xbb (Europe/Paris, America/New_York...). Laissez vide pour utiliser celui de l\'h\xf4te Gladys."},"placeholder":{"en":"Europe/Paris","fr":"Europe/Paris"},"required":false},{"key":"date_format","type":"select","label":{"en":"Date format","fr":"Format de date"},"description":{"en":"How the \\"Last backup\\" timestamp is written. The time is always shown on a 24-hour clock, in the time zone above \u2014 which is only printed on the tile if you pick the last option.","fr":"Fa\xe7on d\'\xe9crire l\'horodatage \xab Last backup \xbb. L\'heure est toujours affich\xe9e sur 24 heures, dans le fuseau ci-dessus \u2014 qui n\'est indiqu\xe9 sur la tuile que si vous choisissez la derni\xe8re option."},"required":false,"default":"day_month_year","options":[{"value":"day_month_year","label":{"en":"16/08/2026 11:25:04 (day/month/year)","fr":"16/08/2026 11:25:04 (jour/mois/ann\xe9e)"}},{"value":"month_day_year","label":{"en":"08/16/2026 11:25:04 (month/day/year)","fr":"08/16/2026 11:25:04 (mois/jour/ann\xe9e)"}},{"value":"year_month_day","label":{"en":"2026-08-16 11:25:04 (ISO)","fr":"2026-08-16 11:25:04 (ISO)"}},{"value":"year_month_day_timezone","label":{"en":"2026-08-16 11:25:04 (Europe/Paris) \u2014 with the time zone","fr":"2026-08-16 11:25:04 (Europe/Paris) \u2014 avec le fuseau horaire"}}]},{"key":"disks_monitoring","type":"select","label":{"en":"Disk monitoring (SMART)","fr":"Surveillance des disques (SMART)"},"description":{"en":"Adds a \\"SMART status\\" feature to every node, and one temperature sensor per physical disk. Reading the health costs one request per node; the temperatures cost one more per disk, each running a smartctl on the Proxmox side. Needs Sys.Audit on /nodes, like the backups. Add or replace a disk? Re-run a scan so its sensor appears.","fr":"Ajoute une fonctionnalit\xe9 \xab SMART status \xbb \xe0 chaque n\u0153ud, et un capteur de temp\xe9rature par disque physique. Lire la sant\xe9 co\xfbte une requ\xeate par n\u0153ud ; les temp\xe9ratures une de plus par disque, chacune ex\xe9cutant un smartctl c\xf4t\xe9 Proxmox. N\xe9cessite Sys.Audit sur /nodes, comme les sauvegardes. Disque ajout\xe9 ou remplac\xe9 ? Relancez une recherche pour voir son capteur."},"required":false,"default":"smart_and_temperature","options":[{"value":"smart_and_temperature","label":{"en":"SMART status and temperatures","fr":"\xc9tat SMART et temp\xe9ratures"}},{"value":"smart","label":{"en":"SMART status only","fr":"\xc9tat SMART uniquement"}},{"value":"off","label":{"en":"Off","fr":"D\xe9sactiv\xe9"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often Proxmox is read, in seconds.","fr":"Fr\xe9quence de lecture de Proxmox, en secondes."},"required":false,"default":300,"min":60,"max":3600}],"stars":0,"pushed_at":"2026-08-20T12:33:00Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"proxmox-backup-server","store_slug":"prohand/gladys-proxmox-backup-server","repo_url":"https://github.com/prohand/gladys-proxmox-backup-server","name":"Proxmox Backup Server","type":"device","version":"1.0.3","description":{"en":"Read-only monitoring of Proxmox Backup Server datastores and maintenance tasks.","fr":"Supervision en lecture seule des datastores et t\xe2ches de maintenance Proxmox Backup Server."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-proxmox-backup-server.png","docker_image":"ghcr.io/prohand/gladys-proxmox-backup-server:1.0.3","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Proxmox Backup Server connection","fr":"Connexion \xe0 Proxmox Backup Server"},"description":{"en":"Create a dedicated API token with the read-only DatastoreAudit and Audit roles. See the documentation for the exact commands.","fr":"Cr\xe9ez un jeton API d\xe9di\xe9 avec les r\xf4les de lecture seule DatastoreAudit et Audit. C
1onsultez la documentation pour les commandes exactes."},"links":[{"url":"https://pbs.proxmox.com/docs/user-management.html","label":{"en":"PBS permissions documentation","fr":"Documentation des permissions PBS"}}]},{"key":"base_url","type":"string","label":{"en":"Server URL","fr":"URL du serveur"},"description":{"en":"For example: https://pbs.example.com:8007","fr":"Par exemple : https://pbs.example.com:8007"},"required":true},{"key":"api_token_id","type":"string","label":{"en":"API token ID","fr":"Identifiant du jeton API"},"description":{"en":"Full ID, for example gladys@pbs!monitoring","fr":"Identifiant complet, par exemple gladys@pbs!monitoring"},"required":true},{"key":"api_token_secret","type":"secret","label":{"en":"API token secret","fr":"Secret du jeton API"},"required":true},{"key":"node","type":"string","label":{"en":"PBS node name","fr":"Nom du n\u0153ud PBS"},"required":false,"default":"localhost"},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (seconds)","fr":"Intervalle de rafra\xeechissement (secondes)"},"required":false,"default":900,"min":300,"max":86400},{"key":"verify_tls","type":"boolean","label":{"en":"Verify TLS certificate","fr":"V\xe9rifier le certificat TLS"},"required":false,"default":true},{"key":"date_format","type":"select","label":{"en":"Date format","fr":"Format de date"},"description":{"en":"Select how task dates are displayed. Dates are displayed in UTC.","fr":"S\xe9lectionnez le format d\'affichage des dates des t\xe2ches. Les dates sont affich\xe9es en UTC."},"display":"dropdown","options":[{"value":"iso","label":{"en":"ISO 8601 \u2014 2026-08-17T18:30:00.000Z","fr":"ISO 8601 \u2014 2026-08-17T18:30:00.000Z"}},{"value":"DD/MM/YYYY HH:mm:ss","label":{"en":"Day/month/year \u2014 17/08/2026 18:30:00","fr":"Jour/mois/ann\xe9e \u2014 17/08/2026 18:30:00"}},{"value":"YYYY-MM-DD HH:mm:ss","label":{"en":"Year-month-day \u2014 2026-08-17 18:30:00","fr":"Ann\xe9e-mois-jour \u2014 2026-08-17 18:30:00"}},{"value":"MM/DD/YYYY HH:mm:ss","label":{"en":"Month/day/year \u2014 08/17/2026 18:30:00","fr":"Mois/jour/ann\xe9e \u2014 08/17/2026 18:30:00"}}],"required":false,"default":"iso"}],"stars":0,"pushed_at":"2026-09-11T07:24:16Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"qualite-de-l-air","store_slug":"prohand/gladys-airquality","repo_url":"https://github.com/prohand/gladys-airquality","name":"Qualit\xe9 de l\'air","type":"device","version":"1.0.5","description":{"en":"Air quality index of any town in the world, from the Copernicus CAMS data.","fr":"Indice de qualit\xe9 de l\'air de n\'importe quelle commune du monde, donn\xe9es CAMS Copernicus."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-airquality.png","docker_image":"ghcr.io/prohand/gladys-airquality:1.0.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"Add a location with the button below: type a town, anywhere in the world, and an air quality device appears in the Discovery tab, ready to be added to Gladys. Towns are resolved by the Open-Meteo geocoding API (GeoNames), and the pollutant concentrations come from the Copernicus CAMS data, republished as open data by Open-Meteo: no account and no API key are needed. In Europe the ~11 km CAMS European model is used, elsewhere the ~40 km CAMS global one. The index is the European Air Quality Index, whose six classes and thresholds are the ones the French ATMO index has used since 2021 \u2014 it is applied worldwide, so it is not the local national index of a country outside Europe.","fr":"Ajoutez un lieu avec le bouton ci-dessous : saisissez une commune, n\'importe o\xf9 dans le monde, puis un appareil qualit\xe9 de l\'air appara\xeet dans l\'onglet D\xe9couverte, pr\xeat \xe0 \xeatre ajout\xe9 \xe0 Gladys. Les communes sont r\xe9solues par l\'API de g\xe9ocodage Open-Meteo (GeoNames), et les concentrations de polluants proviennent des donn\xe9es CAMS de Copernicus, rediffus\xe9es en open data par Open-Meteo : aucun compte ni cl\xe9 d\'API n\'est n\xe9cessaire. En Europe c\'est le mod\xe8le CAMS europ\xe9en \xe0 ~11 km qui est utilis\xe9, ailleurs le mod\xe8le CAMS mondial \xe0 ~40 km. L\'indice est l\'indice europ\xe9en de qualit\xe9 de l\'air, dont les six classes et les seuils sont ceux de l\'indice ATMO fran\xe7ais depuis 2021 \u2014 il est appliqu\xe9 partout, ce n\'est donc pas l\'indice national local d\'un pays hors d\'Europe."},"links":[{"url":"https://open-meteo.com/en/docs/air-quality-api","label":{"en":"Open-Meteo Air Quality API","fr":"API Qualit\xe9 de l\'air Open-Meteo"}},{"url":"https://open-meteo.com/en/docs/geocoding-api","label":{"en":"Open-Meteo geocoding API","fr":"API de g\xe9ocodage Open-Meteo"}},{"url":"https://www.atmo-france.org/article/lindice-atmo","label":{"en":"The French ATMO index","fr":"L\'indice ATMO"}}]},{"key":"settings_section","type":"section","label":{"en":"General settings","fr":"R\xe9glages g\xe9n\xe9raux"},"description":{"en":"These settings apply to every configured location.","fr":"Ces r\xe9glages s\'appliquent \xe0 tous les lieux configur\xe9s."}},{"key":"language","type":"select","label":{"en":"Language of the device names","fr":"Langue du nom des appareils"},"description":{"en":"The language the device and feature names are written in: \\"Dominant pollutant\\" or \\"Polluant dominant\\", \\"Nitrogen dioxide (NO\u2082)\\" or \\"Dioxyde d\'azote (NO\u2082)\\". Everything else this integration displays already follows your Gladys language, but the name of a device and of its features is stored as it is published, so it has to be chosen here. A device already added to Gladys keeps the names it was created with: delete it and add it again from the Discovery tab to rename it.","fr":"La langue dans laquelle sont \xe9crits les n
1oms des polluants et des mesures : \xab Polluant dominant \xbb ou \xab Dominant pollutant \xbb. Tout le reste de ce que l\'int\xe9gration affiche suit d\xe9j\xe0 la langue de votre compte Gladys, mais le nom d\'un appareil et de ses fonctionnalit\xe9s est enregistr\xe9 tel qu\'il est publi\xe9 : il faut donc le choisir ici. Un appareil d\xe9j\xe0 ajout\xe9 \xe0 Gladys conserve les noms avec lesquels il a \xe9t\xe9 cr\xe9\xe9 : supprimez-le et rajoutez-le depuis l\'onglet D\xe9couverte pour le renommer."},"required":false,"default":"fr","options":[{"value":"fr","label":{"en":"French","fr":"Fran\xe7ais"}},{"value":"en","label":{"en":"English","fr":"Anglais"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each location is refreshed, in seconds. The CAMS analysis is produced once an hour, so there is nothing to gain below one hour.","fr":"Fr\xe9quence de rafra\xeechissement de chaque lieu, en secondes. L\'analyse CAMS est produite une fois par heure : descendre sous une heure n\'apporte rien."},"required":false,"default":3600,"min":900,"max":86400},{"key":"locations_section","type":"section","label":{"en":"Your locations","fr":"
1Vos lieux"},"description":{"en":"Use the buttons below to add, list and remove your locations. \\"Add my Gladys houses\\" adds them all in one click, from the houses you already placed on the map in Gladys. They are not fields of this form: a list you build as you go cannot be one, so everything about them happens under a button, and the answer displayed there is what shows you the list.","fr":"Utilisez les boutons ci-dessous pour ajouter, lister et supprimer vos lieux. \xab Ajouter mes maisons Gladys \xbb les ajoute toutes en un clic, \xe0 partir des maisons que vous avez d\xe9j\xe0 plac\xe9es sur la carte dans Gladys. Ce ne sont pas des champs de ce formulaire : une liste que l\'on construit au fil de l\'eau ne peut pas en \xeatre un, donc tout se passe sous un bouton et c\'est la r\xe9ponse affich\xe9e l\xe0 qui vous montre la liste."}}],"stars":0,"pushed_at":"2026-08-15T16:11:52Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"reolink","store_slug":"William-De71/gladys-reolink","repo_url":"https://github.com/William-De71/gladys-reolink","name":"Reolink","type":"device","version":"1.2.0","description":{"en":"Your Reolink cameras in Gladys: images, detections, spotlight and siren.","fr":"Vos cam\xe9ras Reolink dans Gladys : images, d\xe9tections, projecteur et sir\xe8ne."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-reolink.jpg","docker_image":"ghcr.io/william-de71/gladys-reolink:1.2.0","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"This integration talks to your cameras directly on your network \u2014 no Reolink account, nothing goes through the cloud. Enter the account you use to log into your cameras below, then go to the Discover screen and run a scan.\\n\\nEach camera gets the features it actually has: image and motion for all of them, plus battery, spotlight, siren or PTZ presets depending on the model.","fr":"Cette int\xe9gration parle \xe0 vos cam\xe9ras directement sur votre r\xe9seau \u2014 sans compte Reolink, rien ne passe par le cloud. Renseignez ci-dessous le compte utilis\xe9 pour vous connecter \xe0 vos cam\xe9ras, puis allez dans l\'\xe9cran D\xe9couverte et lancez un scan.\\n\\nChaque cam\xe9ra re\xe7oit les fonctionnalit\xe9s qu\'elle poss\xe8de r\xe9ellement : image et mouvement pour toutes, plus batterie, projecteur, sir\xe8ne ou positions PTZ selon le mod\xe8le."},"links":[{"url":"https://reolink.com/","label":{"en":"Reolink website","fr":"Site Reolink"}}]},{"key":"username","type":"string","label":{"en":"Camera username","fr":"Identifiant des cam\xe9ras"},"description":{"en":"The user Gladys logs in with, the same one you use in the Reolink app. `admin` on most installations. A restricted user works too, but it must be allowed to read the camera settings.","fr":"L\'utilisateur avec lequel Gladys se connecte, celui que vous utilisez dans l\'application Reolink. `admin` dans la plupart des installations. Un utilisateur restreint fonctionne aussi, \xe0 condition qu\'il puisse lire les param\xe8tres de la cam\xe9ra."},"placeholder":{"en":"admin","fr":"admin"},"required":true,"default":"admin"},{"key":"password","type":"secret","label":{"en":"Camera password","fr":"Mot de passe des cam\xe9ras"},"description":{"en":"The password of that user. If your cameras do not all share the same one, fill in the per-camera accounts field further down.","fr":"Le mot de passe de cet utilisateur. Si vos cam\xe9ras n\'ont pas toutes le m\xeame, renseignez le champ des comptes par cam\xe9ra plus bas."},"required":true},{"key":"stream_quality","type":"select","label":{"en":"Image quality","fr":"Qualit\xe9 de l\'image"},"description":{"en":"HD captures the full-resolution stream and shrinks it if needed; SD asks the camera for its light stream directly \u2014 softer, but faster and easier on a battery camera.","fr":"HD capture le flux pleine r\xe9solution et le r\xe9duit si n\xe9cessaire ; SD demande directement le flux l\xe9ger de la cam\xe9ra \u2014 moins net, mais plus rapide et plus \xe9conome pour une cam\xe9ra sur batterie."},"required":false,"default":"HD","options":[{"value":"HD","label":{"en":"HD","fr":"HD"}},{"value":"SD","label":{"en":"SD","fr":"SD"}}]},{"key":"advanced","type":"section","label":{"en":"Advanced","fr":"Avanc\xe9"},"description":{"en":"Fill these fields only if a camera is not found automatically, or to adjust how often the cameras are questioned.","fr":"Ne remplissez ces champs que si une cam\xe9ra n\'est pas trouv\xe9e automatiquement, ou pour ajuster la fr\xe9quence d\'interrogation des cam\xe9ras."}},{"key":"camera_addresses","type":"string","label":{"en":"Camera addresses","fr":"Adresses des cam\xe9ras"},"description":{"en":"Addresses separated by a comma, for example `192.168.1.42, 192.168.1.43`. Gladys looks for your cameras on the network by itself; fill this in for one the scan does not find (another VLAN, broadcast filtered by your router). Add `:port` if a camera does not use the standard port, e.g. `192.168.1.42:8000`.","fr":"Adresses s\xe9par\xe9es par une virgule, par exemple `192.168.1.42, 192.168.1.43`. Gladys cherche vos cam\xe9ras sur le r\xe9seau tout seul ; remplissez ce champ pour une cam\xe9ra que le scan ne trouve pas (autre VLAN, broadcast filtr\xe9 par votre routeur). Ajoutez `:port` si une cam\xe9ra n\'utilise pas le port standard, par exemple `192.168.1.42:8000`."},"placeholder":{"en":"192.168.1.42, 192.168.1.43","fr":"192.168.1.42, 192.168.1.43"},"required":false},{"key":"camera_accounts","type":"secret","label":{"en":"Accounts per camera","fr":"Comptes par cam\xe9ra"},"description":{"en":"Only needed when a camera has different credentials from the ones above. Cameras separated by a comma, each as `address|username|password` \u2014 for example `192.168.1.42|gladys|MyPassword`.","fr":"Utile uniquement lorsqu\'une cam\xe9ra a des identifiants diff\xe9rents de ceux ci-dessus. Cam\xe9ras s\xe9par\xe9es par une virgule, chacune sous la forme `adresse|identifiant|motdepasse` \u2014 par exemple `192.168.1.42|gladys|MonMotDePasse`."},"placeholder":{"en":"192.168.1.42|gladys|MyPassword","fr":"192.168.1.42|gladys|MonMotDePasse"},"required":false},{"key":"event_poll_interval","type":"number","label":{"en":"Detection check interval (s)","fr":"Intervalle de v\xe9rification des d\xe9tections (s)"},"description":{"en":"How often the integration asks your cameras whether something is being detected. Cameras report their current state rather than a history, so this interval IS the detection delay: a shorter one reacts faster but questions your cameras more often.","fr":"Fr\xe9quence \xe0 laquelle l\'int\xe9gration demande \xe0 vos cam\xe9ras si quelque chose est d\xe9tect\xe9. Les cam\xe9ras rapportent leur \xe9tat courant et non un historique : cet intervalle EST donc le d\xe9lai de d\xe9tection \u2014 plus court, il r\xe9agit plus vite mais sollicite davantage vos cam\xe9ras."},"required":false,"default":15,"min":5,"max":300},{"key":"capture_timeout","type":"number","label":{"en":"Capture timeout (s)","fr":"D\xe9lai de capture (s)"},"description":{"en":"How long a camera is given to answer. Battery models waking from sleep need more time than a wired one. Above 14s the dashboard live view may time out first, but the scheduled refresh still succeeds.","fr":"Temps accord\xe9 \xe0 une cam\xe9ra pour r\xe9pondre. Les mod\xe8les sur batterie sortant de veille ont besoin de plus de temps qu\'une cam\xe9ra filaire. Au-del\xe0 de 14 s, la vue live du tableau de bord peut expirer avant, mais le rafra\xeechissement automatique aboutit quand m\xeame."},"required":false,"default":12,"min":5,"max":60},{"key":"image_refresh_interval","type":"number","label":{"en":"Image refresh interval (s)","fr":"Intervalle de rafra\xeechissement des images (s)"},"description":{"en":"How often a new image is captured for the dashboard, on MAINS-POWERED cameras only. Battery and solar cameras have their own setting below, so keeping your wired images fresh costs nothing to the others.","fr":"Fr\xe9quence \xe0 laquelle une nouvelle image est captur\xe9e pour le tableau de bord, pour les cam\xe9ras SUR SECTEUR uniquement. Les cam\xe9ras sur batterie ou solaires ont leur propre r\xe9glage ci-dessous : garder vos images filaires fra\xeeches ne co\xfbte donc rien aux autres."},"required":false,"default":60,"min":15,"max":3600},{"key":"battery_section","type":"section","label":{"en":"Battery protection","fr":"Protection de la batterie"},"description":{"en":"Capturing images is what drains a battery or solar camera. These settings apply ONLY to battery and solar models \u2014 wired cameras keep their own interval and are never throttled. Once a camera goes below the pause limit, capturing resumes as soon as it is back on its charger, or when it reaches the recharge level: a partial recharge would restart the drain, and repeated shallow cycles wear the battery faster.","fr":"La capture d\'images est ce qui vide une cam\xe9ra sur batterie ou solaire. Ces r\xe9glages s\'appliquent UNIQUEMENT aux mod\xe8les sur batterie ou solaires \u2014 les cam\xe9ras filaires gardent leur propre intervalle et ne sont jamais ralenties. Une fois pass\xe9e sous la limite de pause, la capture reprend d\xe8s que la cam\xe9ra est remise en charge, ou lorsqu\'elle atteint le niveau de recharge : une recharge partielle relancerait la d\xe9charge, et les cycles courts r\xe9p\xe9t\xe9s usent la batterie plus vite."}},{"key":"battery_image_refresh_interval","type":"number","label":{"en":"Battery camera refresh interval (s)","fr":"Intervalle de rafra\xeechissement des cam\xe9ras sur batterie (s)"},"description":{"en":"How often a battery or solar camera is captured, independently of your wired cameras. Waking a camera up is what costs the battery, so this is the single most effective setting: 900s (15 min) lets a solar panel refill between two captures. Lower it only if your cameras recharge faster than they discharge.","fr":"Fr\xe9quence \xe0 laquelle une cam\xe9ra sur batterie ou solaire est captur\xe9e, ind\xe9pendamment de vos cam\xe9ras filaires. C\'est le r\xe9veil de la cam\xe9ra qui co\xfbte de la batterie : ce r\xe9glage est donc le plus efficace de tous. 900 s (15 min) laisse \xe0 un panneau solaire le temps de recharger entre deux captures. Ne le baissez que si vos cam\xe9ras se rechargent plus vite qu\'elles ne se d\xe9chargent."},"required":false,"default":900,"min":60,"max":86400},{"key":"battery_pause_refresh","type":"number","label":{"en":"Pause automatic capture below (%)","fr":"Suspendre la capture automatique sous (%)"},"description":{"en":"Below this level the automatic refresh stops. Opening the camera widget or a detection still captures an image.","fr":"Sous ce niveau, le rafra\xeechissement automatique s\'arr\xeate. Ouvrir le widget de la cam\xe9ra ou une d\xe9tection capture toujours une image."},"required":false,"default":60,"min":0,"max":100},{"key":"battery_stop_all","type":"number","label":{"en":"Stop every capture below (%)","fr":"Bloquer toute capture sous (%)"},"description":{"en":"Below this level no image is captured at all, not even on request. The battery level and the detections keep being read: they cost almost nothing and tell when the camera has recharged.","fr":"Sous ce niveau, plus aucune image n\'est captur\xe9e, m\xeame \xe0 la demande. Le niveau de batterie et les d\xe9tections continuent d\'\xeatre lus : cela ne co\xfbte presque rien et permet de savoir quand la cam\xe9ra est recharg\xe9e."},"required":false,"default":40,"min":0,"max":100},{"key":"battery_resume","type":"number","label":{"en":"Resume automatic capture at (%)","fr":"Reprendre la capture automatique \xe0 (%)"},"description":{"en":"Once a camera has been paused, it stays paused until it reaches this level \u2014 deliberately well above the pause limit, so it does not immediately fall back into the drain it was pulled out of. A c
1amera put back on its charger resumes at once, so this only applies to solar recharging. Avoid 100%: a solar camera charges in bursts and rarely reads exactly full, which would keep it paused for good.","fr":"Une fois une cam\xe9ra mise en pause, elle le reste jusqu\'\xe0 ce niveau \u2014 volontairement bien au-dessus de la limite de pause, pour qu\'elle ne retombe pas aussit\xf4t dans la d\xe9charge dont elle vient de sortir. Une cam\xe9ra remise sur son chargeur reprend imm\xe9diatement : ce r\xe9glage ne concerne donc que la recharge solaire. \xc9vitez 100 % : une cam\xe9ra solaire se recharge par \xe0-coups et atteint rarement le plein exact, ce qui la laisserait en pause ind\xe9finiment."},"required":false,"default":80,"min":0,"max":100}],"stars":0,"pushed_at":"2026-08-26T17:58:35Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"rflink","store_slug":"PhilippeMA/gladys-RFlink","repo_url":"https://github.com/PhilippeMA/gladys-RFlink","name":"RFLink","type":"device","version":"1.0.4","description":{"en":"433/868 MHz devices through an RFLink gateway: switches, dimmers, sensors, weather stations.","fr":"Appareils 433/868 MHz via une passerelle RFLink : interrupteurs, variateurs, capteurs, m\xe9t\xe9o."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/PhilippeMA--gladys-RFlink.png","docker_image":"ghcr.io/philippema/gladys-rflink:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Connect your RFLink gateway","fr":"Connectez votre passerelle RFLink"},"description":{"en":"This integration talks to the RFLink gateway over TCP. An RFLink32 board on ESP8266/ESP32 exposes its TCP server natively (port 1234). A USB RFLink plugged into the Gladys host must be bridged to TCP, for example with ser2net, because an integration container has no access to serial ports. See the documentation for the step by step.","fr":"Cette int\xe9gration dialogue avec la passerelle RFLink en TCP. Une carte RFLink32 sur ESP8266/ESP32 expose son serveur TCP nativement (port 1234). Un RFLink USB branch\xe9 sur la machine Gladys doit \xeatre expos\xe9 en TCP, par exemple avec ser2net, car un conteneur d\'int\xe9gration n\'a pas acc\xe8s aux ports s\xe9rie. Voir la documentation pour le pas \xe0 pas."},"links":[{"url":"https://www.rflink.nl/","label":{"en":"RFLink project","fr":"Projet RFLink"}},{"url":"https://github.com/cpainchaud/RFLink32","label":{"en":"RFLink32 (ESP, native TCP)","fr":"RFLink32 (ESP, TCP natif)"}}]},{"key":"host","type":"string","label":{"en":"Gateway address","fr":"Adresse de la passerelle"},"description":{"en":"IP address or hostname of the RFLink gateway on your network.","fr":"Adresse IP ou nom d\'h\xf4te de la passerelle RFLink sur votre r\xe9seau."},"placeholder":{"en":"192.168.1.42","fr":"192.168.1.42"},"required":true},{"key":"port","type":"number","label":{"en":"TCP port","fr":"Port TCP"},"description":{"en":"1234 for RFLink32, or the port your serial bridge listens on.","fr":"1234 pour RFLink32, ou le port sur lequel \xe9coute votre passerelle s\xe9rie."},"required":true,"default":1234,"min":1,"max":65535},{"key":"discovery","type":"section","label":{"en":"Discovering your devices","fr":"D\xe9couverte de vos appareils"},"description":{"en":"A 433 MHz device is invisible until it transmits: press a remote button, or wait for a sensor to send its measurement, and it appears in the Discovery tab. Your receiver also hears your neighbours, so turn auto-discovery off once your devices are added.","fr":"Un appareil 433 MHz est invisible tant qu\'il n\'\xe9met pas : appuyez sur un bouton de t\xe9l\xe9commande, ou attendez qu\'un capteur envoie sa mesure, et il appara\xeet dans l\'onglet D\xe9couverte. Votre r\xe9cepteur entend aussi vos voisins : d\xe9sactivez la d\xe9couverte automatique une fois vos appareils ajout\xe9s."}},{"key":"auto_discover","type":"boolean","label":{"en":"Automatic discovery","fr":"D\xe9couverte automatique"},"description":{"en":"Add every new device heard on the air to the Discovery tab. Known devices keep working when this is off.","fr":"Ajoute \xe0 l\'onglet D\xe9couverte tout nouvel appareil entendu. Les appareils d\xe9j\xe0 connus continuent de fonctionner quand c\'est d\xe9sactiv\xe9."},"required":false,"default":true},{"key":"ignored_protocols","type":"string","label":{"en":"Ignored protocols","fr":"Protocoles ignor\xe9s"},"description":{"en":"Comma-separated RFLink protocol names to drop entirely, for the ones that flood your receiver.","fr":"Noms de protocoles RFLink \xe0 ignorer, s\xe9par\xe9s par des virgules, pour ceux qui saturent votre r\xe9cepteur."},"placeholder":{"en":"Oregon TempHygro, Cresta","fr":"Oregon TempHygro, Cresta"},"required":false},{"key":"debug_frames","type":"boolean","label":{"en":"Log raw frames","fr":"Journaliser les trames brutes"},"description":{"en":"Write every line received from the gateway to the logs. Useful while pairing a device, noisy the rest of the time.","fr":"\xc9crit dans les logs chaque ligne re\xe7ue de la passerelle. Utile pendant l\'appairage d\'un appareil, verbeux le reste du temps."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-21T11:59:02Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/25247304?v=4"},{"slug":"roborock","store_slug":"callemand/gladys-roborock","repo_url":"https://github.com/callemand/gladys-roborock","name":"Roborock","type":"device","version":"2.3.0","de
1scription":{"en":"Robot vacuums paired in the Roborock app: state, start/stop, fan power, dock, battery and routines.","fr":"Aspirateurs robots de l\'application Roborock : \xe9tat, marche/arr\xeat, aspiration, base, routines."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-roborock.jpg","docker_image":"ghcr.io/callemand/gladys-roborock:2.3.0","gladys_version":">=4.86.0","config_schema":[{"key":"roborock_account","type":"section","label":{"en":"Roborock account","fr":"Compte Roborock"},"description":{"en":"Two steps, in the Actions box below: ask for a code, then enter the code you receive. No password is ever needed.","fr":"Deux \xe9tapes, dans la bo\xeete Actions ci-dessous : demandez un code, puis saisissez le code re\xe7u. Aucun mot de passe n\'est jamais demand\xe9."}}],"stars":0,"pushed_at":"2026-08-16T18:54:45Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"samsung-smart-tv","store_slug":"cicoub13/gladys-samsung-tv","repo_url":"https://github.com/cicoub13/gladys-samsung-tv","name":"Samsung Smart TV","type":"device","version":"1.0.1","description":{"en":"Control your Samsung Smart TVs (Tizen) over the local network: power, volume, mute and input source.","fr":"Pilotez vos TV Samsung (Tizen) sur le r\xe9seau local : allumage, volume, sourdine et source."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/cicoub13--gladys-samsung-tv.png","docker_image":"ghcr.io/cicoub13/gladys-samsung-tv:1.0.1","gladys_version":">=4.86.0","config_schema":[{"key":"discovery","type":"section","label":{"en":"Finding your TV","fr":"Trouver votre t\xe9l\xe9viseur"},"description":{"en":"Turn the television ON before running a scan from the Discovery tab. A TV in standby cuts its network interface off: it answers nothing, and no scan can find it. If the scan comes back empty, switch the TV on, wait a few seconds, and scan again.","fr":"Allumez le t\xe9l\xe9viseur AVANT de lancer un scan depuis l\'onglet D\xe9couverte. Une TV en veille coupe son interface r\xe9seau : elle ne r\xe9pond plus \xe0 rien, et aucun scan ne peut la trouver. Si le scan ne remonte rien, allumez la TV, patientez quelques secondes, puis relancez un scan."}},{"key":"intro","type":"section","label":{"en":"Before you start","fr":"Avant de commencer"},"description":{"en":"Two settings on the TV itself matter. The first time Gladys sends a command, the TV asks you to authorize it: accept on screen, this happens only once. To turn the TV back ON, Gladys sends a Wake-on-LAN packet, which requires the wake-on-network option to be enabled on the TV (Settings > General > Network > Expert settings).","fr":"Deux r\xe9glages sur la TV comptent. \xc0 la premi\xe8re commande envoy\xe9e par Gladys, la TV demande de l\'autoriser : acceptez \xe0 l\'\xe9cran, cela n\'arrive qu\'une fois. Pour rallumer la TV, Gladys envoie un paquet Wake-on-LAN, ce qui exige d\'activer le r\xe9veil r\xe9seau sur la TV (Param\xe8tres > G\xe9n\xe9ral > R\xe9seau > Param\xe8tres experts)."}},{"key":"poll_frequency","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"How often the power state, volume and mute are read back from the TV.","fr":"Fr\xe9quence \xe0 laquelle l\'\xe9tat, le volume et la sourdine sont relus sur la TV."},"required":false,"default":"30000","options":[{"value":"10000","label":{"en":"Every 10 seconds","fr":"Toutes les 10 secondes"}},{"value":"15000","label":{"en":"Every 15 seconds","fr":"Toutes les 15 secondes"}},{"value":"30000","label":{"en":"Every 30 seconds","fr":"Toutes les 30 secondes"}},{"value":"60000","label":{"en":"Every minute","fr":"Toutes les minutes"}}]}],"stars":0,"pushed_at":"2026-09-07T19:21:31Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/1773153?v=4"},{"slug":"saunier-duval","store_slug":"PhilippeMA/gladys-Vaillant-SaunierDuval","repo_url":"https://github.com/PhilippeMA/gladys-Vaillant-SaunierDuval","name":"Saunier Duval","type":"device","version":"1.0.2","description":{"en":"Control your Saunier Duval boiler through your MiGo / MiGo Link account.","fr":"Pilotez votre chaudi\xe8re Saunier Duval via votre compte MiGo / MiGo Link."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/PhilippeMA--gladys-Vaillant-SaunierDuval.png","docker_image":"ghcr.io/philippema/gladys-vaillant-saunierduval:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"Use the email and password of the MiGo or MiGo Link account you already use in the mobile application. Your boiler must be connected through a MiGo or MiGo Link gateway: everything goes through the Saunier Duval cloud, there is no local access.","fr":"Utilisez l\'e-mail et le mot de passe du compte MiGo ou MiGo Link dont vous vous servez d\xe9j\xe0 dans l\'application mobile. Votre chaudi\xe8re doit \xeatre reli\xe9e \xe0 une passerelle MiGo ou MiGo Link : tout passe par le cloud Saunier Duval, il n\'y a pas d\'acc\xe8s local."},"links":[{"url":"https://www.saunierduval.fr/particulier/produits/thermostats-et-regulations/","label":{"en":"Saunier Duval thermostats and controls","fr":"Thermostats et r\xe9gulations S
1aunier Duval"}}]},{"key":"email","type":"string","label":{"en":"Email","fr":"E-mail"},"description":{"en":"Email address of your MiGo / MiGo Link account.","fr":"Adresse e-mail de votre compte MiGo / MiGo Link."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"description":{"en":"Password of your MiGo / MiGo Link account. Stored encrypted by Gladys and never sent back to the browser.","fr":"Mot de passe de votre compte MiGo / MiGo Link. Stock\xe9 chiffr\xe9 par Gladys et jamais renvoy\xe9 au navigateur."},"required":true},{"key":"country","type":"select","label":{"en":"Country of the account","fr":"Pays du compte"},"description":{"en":"The country you registered your account in. An account created in France cannot log in through another country.","fr":"Le pays dans lequel votre compte a \xe9t\xe9 cr\xe9\xe9. Un compte cr\xe9\xe9 en France ne peut pas se connecter via un autre pays."},"required":true,"default":"france","options":[{"value":"france","label":{"en":"France","fr":"France"}},{"value":"austria","label":{"en":"Austria","fr":"Autriche"}},{"value":"czechrepublic","label":{"en":"Czechia","fr":"Tch\xe9quie"}},{"value":"finland","label":{"en":"Finland","fr":"Finlande"}},{"value":"greece","label":{"en":"Greece","fr":"Gr\xe8ce"}},{"value":"hungary","label":{"en":"Hungary","fr":"Hongrie"}},{"value":"italy","label":{"en":"Italy","fr":"Italie"}},{"value":"lithuania","label":{"en":"Lithuania","fr":"Lituanie"}},{"value":"luxembourg","label":{"en":"Luxembourg","fr":"Luxembourg"}},{"value":"poland","label":{"en":"Poland","fr":"Pologne"}},{"value":"portugal","label":{"en":"Portugal","fr":"Portugal"}},{"value":"romania","label":{"en":"Romania","fr":"Roumanie"}},{"value":"slovakia","label":{"en":"Slovakia","fr":"Slovaquie"}},{"value":"spain","label":{"en":"Spain","fr":"Espagne"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the boiler is read, in seconds. The Saunier Duval platform is rate limited: keep a comfortable interval, a boiler is a slow system.","fr":"Fr\xe9quence de lecture de la chaudi\xe8re, en secondes. La plateforme Saunier Duval limite le nombre d\'appels : gardez un intervalle confortable, une chaudi\xe8re est un syst\xe8me lent."},"required":false,"default":300,"min":60,"max":3600},{"key":"quick_veto_duration","type":"number","label":{"en":"Default override duration (h)","fr":"Dur\xe9e de for\xe7age par d\xe9faut (h)"},"description":{"en":"When a zone follows its schedule, changing its temperature starts a temporary override, after which the schedule takes over again. This is the duration a zone starts from: each zone then carries its own \\"Override duration\\" control, from 30 minutes to 24 hours in 30-minute steps. Half-hours only.","fr":"Lorsqu\'une zone suit son programme horaire, changer sa temp\xe9rature d\xe9clenche un for\xe7age temporaire, puis le programme reprend la main. Ceci est la dur\xe9e initiale d\'une zone : chaque zone dispose ensuite de sa propre commande \xab Dur\xe9e du for\xe7age \xbb, de 30 minutes \xe0 24 heures par pas de 30 minutes. Demi-heures uniquement."},"required":false,"default":3,"min":0.5,"max":24}],"stars":0,"pushed_at":"2026-08-14T17:01:00Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/25247304?v=4"},{"slug":"sedif-eau-d-ile-de-france","store_slug":"PhilippeMA/gladys-sedif","repo_url":"https://github.com/PhilippeMA/gladys-sedif","name":"SEDIF \u2013 Eau d\'\xcele-de-France","type":"device","version":"1.0.1","description":{"en":"Track your SEDIF water consumption (L\'Eau d\'\xcele-de-France / Veolia) in Gladys.","fr":"Suivez votre consommation d\'eau SEDIF (L\'Eau d\'\xcele-de-France / Veolia) dans Gladys."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/PhilippeMA--gladys-sedif.jpg","docker_image":"ghcr.io/philippema/gladys-sedif:1.0.1","gladys_version":">=4.85.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Before you start","fr":"Avant de commencer"},"description":{"en":"This integration signs in to your leaudiledefrance.fr customer account and reads the daily consumption history of your water meter, the same one the Historique page shows. Use the credentials of your personal account. Readings are published once a day by the operator, with a one to two day delay.","fr":"Cette int\xe9gration se connecte \xe0 votre espace client leaudiledefrance.fr et lit l\'historique de consommation quotidienne de votre compteur, celui qu\'affiche la page Historique. Utilisez les identifiants de votre espace personnel. Les relev\xe9s sont publi\xe9s une fois par jour par l\'exploitant, avec un \xe0 deux jours de d\xe9calage."},"links":[{"url":"https://www.leaudiledefrance.fr/","label":{"en":"Customer portal","fr":"Espace client"}},{"url":"https://www.sedif.com","label":{"en":"SEDIF website","fr":"Site du SEDIF"}}]},{"key":"source","type":"select","display":"radio","label":{"en":"Where the readings come from","fr":"Origine des relev\xe9s"},"description":{"en":"Automatic signs in and reads the portal\'s own API \u2014 a handful of HTTP requests, no browser, light enough for any machine. Dropped file needs no credentials at all: you download the CSV from the portal yourself and put it in the integration\'s import folder. Both produce exactly the same device and the same charts.","fr":"Automatique se connecte et lit l\'API de l\'espace client \u2014 quelques requ\xeates HTTP, sans navigateur, l\xe9ger pour n\'importe quelle machine. Fichier d\xe9pos\xe9 ne demande aucun identifiant : vous t\xe9l\xe9chargez vous-m\xeame le CSV depuis l\'espace client et le d\xe9posez dans le dossier d\'import de l\'int\xe9gration. Les deux produisent exactement le m\xeame appareil et les m\xeames courbes."},"required":false,"default":"api","options":[{"value":"api","label":{"en":"Automatic (portal API)","fr":"Automatique (API de l\'espace client)"}},{"value":"file","label":{"en":"Dropped CSV file","fr":"Fichier CSV d\xe9pos\xe9"}}]},{"key":"email","type":"string","label":{"en":"Email address","fr":"Adresse e-mail"},"description":{"en":"The email address of your leaudiledefrance.fr account. Only used by the automatic source; leave empty if you drop the file yourself.","fr":"L\'adresse e-mail de votre compte leaudiledefrance.fr. Utilis\xe9e uniquement par la source automatique ; laissez vide si vous d\xe9posez le fichier vous-m\xeame."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":false},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"description":{"en":"The password of your leaudiledefrance.fr account, used only by the automatic source. Gladys stores integration settings in CLEAR TEXT in its database: the secret field only means the value is never sent back to the web interface, not that it is protected on disk. Prefer a password you do not reuse elsewhere.","fr":"Le mot de passe de votre compte leaudiledefrance.fr, utilis\xe9 uniquement par la source automatique. Gladys stocke la configuration des int\xe9grations EN CLAIR dans sa base : le champ secret garantit seulement que la valeur n\'est jamais renvoy\xe9e \xe0 l\'interface web, pas qu\'elle est prot\xe9g\xe9e sur le disque. Pr\xe9f\xe9rez un mot de passe que vous ne r\xe9utilisez pas ailleurs."},"required":false},{"key":"contract","type":"string","label":{"en":"Contract number","fr":"Num\xe9ro de contrat"}
1,"description":{"en":"Only needed if your account holds several contracts. Shown on your bill and in the portal. Leave empty to use the only contract of the account.","fr":"Utile uniquement si votre compte porte plusieurs contrats. Il figure sur votre facture et dans l\'espace client. Laissez vide si votre compte n\'a qu\'un seul contrat."},"placeholder":{"en":"1234567","fr":"1234567"},"required":false},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the portal is queried, in seconds. The meter is read once a day, so there is nothing to gain from a short interval.","fr":"Fr\xe9quence d\'interrogation de l\'espace client, en secondes. Le compteur n\'est relev\xe9 qu\'une fois par jour : un intervalle court n\'apporte rien."},"required":false,"default":21600,"min":3600,"max":86400},{"key":"history_days","type":"number","label":{"en":"History to import (days)","fr":"Historique \xe0 importer (jours)"},"required":false,"default":30,"min":1,"max":1095},{"key":"include_estimated","type":"boolean","label":{"en":"Include estimated readings","fr":"Inclure les relev\xe9s estim\xe9s"},"description":{"en":"The portal marks each reading as measured or estimated. Estimated readings are skipped by default because they can make the meter index go backwards.","fr":"L\'espace client indique si un relev\xe9 est mesur\xe9 ou estim\xe9. Les relev\xe9s estim\xe9s sont ignor\xe9s par d\xe9faut car ils peuvent faire reculer l\'index du compteur."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-08-22T15:18:19Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/25247304?v=4"},{"slug":"shelly","store_slug":"Terdious/gladys-shelly","repo_url":"https://github.com/Terdious/gladys-shelly","name":"Shelly","type":"device","version":"1.0.0","description":{"en":"Connect your Shelly devices (relays, plugs, energy meters) to Gladys Assistant.","fr":"Connectez vos appareils Shelly (relais, prises, compteurs d\'\xe9nergie) \xe0 Gladys Assistant."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Terdious--gladys-shelly.png","docker_image":"ghcr.io/terdious/gladys-shelly:1.0.0","gladys_version":">=4.83.0","config_schema":[{"key":"section_local","type":"section","label":{"en":"Local connection (recommended)","fr":"Connexion locale (recommand\xe9e)"},"description":{"en":"Gladys talks to your Shelly devices directly on your network, with no cloud in between: faster, and it keeps working when the Internet is down. Devices announce themselves over mDNS and are found automatically when you run a scan \u2014 nothing to fill in here unless your devices are password-protected or invisible to mDNS. Gen2 and later are supported (Plus, Pro, Mini, Gen3, Gen4); Gen1 devices are not supported yet.","fr":"Gladys communique directement avec vos Shelly sur votre r\xe9seau, sans passer par le cloud : plus rapide, et \xe7a continue de fonctionner quand Internet est coup\xe9. Les appareils s\'annoncent en mDNS et sont trouv\xe9s automatiquement lors d\'un scan \u2014 rien \xe0 remplir ici, sauf si vos appareils sont prot\xe9g\xe9s par mot de passe ou invisibles en mDNS. Les Gen2 et suivantes sont support\xe9es (Plus, Pro, Mini, Gen3, Gen4) ; les Gen1 ne le sont pas encore."},"links":[{"url":"https://shelly-api-docs.shelly.cloud/gen2/","label":{"en":"Shelly Gen2+ API documentation","fr":"Documentation de l\'API Shelly Gen2+"}}]},{"key":"manual_hosts","type":"string","label":{"en":"Additional device addresses","fr":"Adresses d\'appareils suppl\xe9mentaires"},"description":{"en":"Optional. Comma-separated IP addresses or hostnames of Shelly devices that mDNS does not find (different VLAN, mDNS disabled on the device, static setup). Example: 10.5.0.171, 10.5.0.172, shellypro4pm-ece334ea4d10.local","fr":"Optionnel. Adresses IP ou noms d\'h\xf4te, s\xe9par\xe9s par des virgules, des Shelly que le mDNS ne trouve pas (autre VLAN, mDNS d\xe9sactiv\xe9 sur l\'appareil, configuration statique). Exemple : 10.5.0.171, 10.5.0.172, shellypro4pm-ece334ea4d10.local"},"placeholder":{"en":"10.5.0.171, 10.5.0.172","fr":"10.5.0.171, 10.5.0.172"},"required":false},{"key":"device_username","type":"string","label":{"en":"Device username","fr":"Nom d\'utilisateur des appareils"},"description":{"en":"Only if you enabled authentication on your Shelly devices. On Gen2+ the username is always \'admin\' \u2014 leave it as is.","fr":"Uniquement si vous avez activ\xe9 l\'authentification sur vos Shelly. Sur les Gen2+, le nom d\'utilisateur est toujours \xab admin \xbb \u2014 laissez-le tel quel."},"required":false,"default":"admin"},{"key":"device_password","type":"secret","label":{"en":"Device password","fr":"Mot de passe des appareils"},"description":{"en":"Only if you enabled authentication on your Shelly devices. A single password is used for every device \u2014 set the same one on all of them, or leave this empty and disable authentication on your local network.","fr":"Uniquement si vous avez activ\xe9 l\'authentification sur vos Shelly. Un seul mot de passe est utilis\xe9 pour tous les appareils \u2014 d\xe9finissez le m\xeame partout, ou laissez vide et d\xe9sactivez l\'authentification sur votre r\xe9seau local."},"required":false},{"key":"section_cloud","type":"section","label":{"en":"Shelly Cloud (fallback)","fr":"Shelly Cloud (secours)"},"description":{"en":"Optional. When a device cannot be reached locally (away from home, another VLAN, Wi-Fi drop
1), Gladys can fall back to the Shelly Cloud. Get the authorization key and the server address in the Shelly app: Settings, then User settings, then Authorization cloud key. Leave this section empty for a local-only setup.","fr":"Optionnel. Quand un appareil n\'est pas joignable localement (hors du domicile, autre VLAN, coupure Wi-Fi), Gladys peut basculer sur le Shelly Cloud. R\xe9cup\xe9rez la cl\xe9 d\'autorisation et l\'adresse du serveur dans l\'application Shelly : R\xe9glages, puis R\xe9glages utilisateur, puis Cl\xe9 d\'autorisation cloud. Laissez cette section vide pour une installation 100 % locale."},"links":[{"url":"https://control.shelly.cloud/","label":{"en":"Shelly Cloud control panel","fr":"Panneau de contr\xf4le Shelly Cloud"}}]},{"key":"cloud_enabled","type":"boolean","label":{"en":"Enable the Shelly Cloud fallback","fr":"Activer le secours par le Shelly Cloud"},"description":{"en":"Use the Shelly Cloud when a device is unreachable on the local network. Requires the server address and the authorization key below.","fr":"Utiliser le Shelly Cloud quand un appareil est injoignable sur le r\xe9seau local. N\xe9cessite l\'adresse du serveur et la cl\xe9 d\'autorisation ci-dessous."},"required":false,"default":false},{"key":"cloud_server","type":"string","label":{"en":"Shelly Cloud server","fr":"Serveur Shelly Cloud"},"description":{"en":"The server your account is hosted on, shown next to the authorization key in the Shelly app. Example: shelly-53-eu.shelly.cloud","fr":"Le serveur qui h\xe9berge votre compte, affich\xe9 \xe0 c\xf4t\xe9 de la cl\xe9 d\'autorisation dans l\'application Shelly. Exemple : shelly-53-eu.shelly.cloud"},"placeholder":{"en":"shelly-53-eu.shelly.cloud","fr":"shelly-53-eu.shelly.cloud"},"required":false},{"key":"cloud_auth_key","type":"secret","label":{"en":"Shelly Cloud authorization key","fr":"Cl\xe9 d\'autorisation Shelly Cloud"},"description":{"en":"The authorization cloud key of your Shelly account. It grants full control over every device of the account \u2014 treat it like a password.","fr":"La cl\xe9 d\'autorisation cloud de votre compte Shelly. Elle donne le contr\xf4le total sur tous les appareils du compte \u2014 traitez-la comme un mot de passe."},"required":false},{"key":"section_mqtt","type":"section","label":{"en":"MQTT (recommended for large installations)","fr":"MQTT (recommand\xe9 pour les grandes installations)"},"description":{"en":"Optional, and the most reliable way to reach a large fleet. Shelly devices announce themselves over mDNS in short multicast bursts that are easily missed, so on an installation with many devices some are simply never discovered. A device configured to publish to your MQTT broker announces itself continuously instead: it is discovered, it reports in real time, and it can still be controlled when it is unreachable on the local network. Configure the broker in each Shelly: Settings, then MQTT, then tick Enable, Enable MQTT Control and RPC status notifications over MQTT.","fr":"Optionnel, et le moyen le plus fiable de joindre une grande installation. Les Shelly s\'annoncent en mDNS par courtes rafales multicast faciles \xe0 manquer : au-del\xe0 de quelques appareils, certains ne sont jamais d\xe9couverts. Un appareil configur\xe9 pour publier sur votre broker MQTT s\'annonce en permanence : il est d\xe9couvert, il remonte en temps r\xe9el, et il reste pilotable m\xeame injoignable sur le r\xe9seau local. Configurez le broker dans chaque Shelly : R\xe9glages, puis MQTT, puis cochez Enable, Enable MQTT Control et RPC status notifications over MQTT."},"links":[{"url":"https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt","label":{"en":"Shelly MQTT documentation","fr":"Documentation MQTT de Shelly"}}]},{"key":"mqtt_enabled","type":"boolean","label":{"en":"Enable MQTT","fr":"Activer MQTT"},"description":{"en":"Listen to your MQTT broker to discover, read and control the Shelly devices that publish to it.","fr":"\xc9couter votre broker MQTT pour d\xe9couvrir, lire et piloter les Shelly qui y publient."},"required":false,"default":false},{"key":"mqtt_server","type":"string","label":{"en":"MQTT broker address","fr":"Adresse du broker MQTT"},"description":{"en":"Host and port of your broker, exactly as entered in the Server field of your Shelly devices. The port defaults to 1883.","fr":"H\xf4te et port de votre broker, tels que saisis dans le champ Server de vos Shelly. Le port vaut 1883 par d\xe9faut."},"placeholder":{"en":"10.5.0.50:1883","fr":"10.5.0.50:1883"},"required":false},{"key":"mqtt_username","type":"string","label":{"en":"MQTT username","fr":"Nom d\'utilisateur MQTT"},"description":{"en":"Only if your broker requires authentication. Use the same credentials you set in your Shelly devices.","fr":"Uniquement si votre broker exige une authentification. Utilisez les m\xeames identifiants que dans vos Shelly."},"required":false},{"key":"mqtt_password","type":"secret","label":{"en":"MQTT password","fr":"Mot de passe MQTT"},"description":{"en":"Only if your broker requires authentication.","fr":"Uniquement si votre broker exige une authentification."},"required":false},{"key":"section_advanced","type":"section","label":{"en":"Advanced","fr":"Avanc\xe9"},"description":{"en":"Sensible defaults are already set \u2014 change these only if you know
1why. A shorter refresh interval means fresher values but more requests on your network and against the Gladys state rate limit.","fr":"Les valeurs par d\xe9faut conviennent \xe0 la plupart des installations \u2014 ne les changez qu\'en connaissance de cause. Un intervalle plus court donne des valeurs plus fra\xeeches mais g\xe9n\xe8re plus de requ\xeates sur votre r\xe9seau et vis-\xe0-vis de la limite de d\xe9bit des \xe9tats Gladys."}},{"key":"refresh_interval","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"How often Gladys reads the state of every device.","fr":"Fr\xe9quence \xe0 laquelle Gladys lit l\'\xe9tat de chaque appareil."},"required":false,"default":"30","options":[{"value":"10","label":{"en":"10 seconds","fr":"10 secondes"}},{"value":"30","label":{"en":"30 seconds","fr":"30 secondes"}},{"value":"60","label":{"en":"1 minute","fr":"1 minute"}},{"value":"300","label":{"en":"5 minutes","fr":"5 minutes"}}]},{"key":"realtime_interval","type":"select","label":{"en":"Real-time interval (power and on/off)","fr":"Intervalle temps r\xe9el (puissance et marche/arr\xeat)"},"description":{"en":"How fast the values a scene reacts to are published: every instantaneous power (total, per phase, per relay) and every on/off state. Everything else (voltages, currents, energy counters, temperatures) follows the refresh interval above. This is a floor, not a promise: Gladys accepts 300 states per minute in total, so on a large fleet the integration slows this lane down on its own and says so in the logs, then returns here as soon as the budget allows.","fr":"Vitesse de publication des valeurs auxquelles une sc\xe8ne r\xe9agit : toutes les puissances instantan\xe9es (totale, par phase, par relais) et tous les \xe9tats marche/arr\xeat. Tout le reste (tensions, intensit\xe9s, compteurs d\'\xe9nergie, temp\xe9ratures) suit l\'intervalle de rafra\xeechissement ci-dessus. C\'est un plancher, pas une promesse : Gladys accepte 300 \xe9tats par minute au total, donc sur un grand parc l\'int\xe9gration ralentit cette voie d\'elle-m\xeame en l\'indiquant dans les logs, puis y revient d\xe8s que le budget le permet."},"required":false,"default":"5","options":[{"value":"1","label":{"en":"1 second","fr":"1 seconde"}},{"value":"5","label":{"en":"5 seconds","fr":"5 secondes"}}
1,{"value":"10","label":{"en":"10 seconds","fr":"10 secondes"}},{"value":"30","label":{"en":"30 seconds","fr":"30 secondes"}},{"value":"0","label":{"en":"Disabled","fr":"D\xe9sactiv\xe9"}}]}],"stars":0,"pushed_at":"2026-08-01T10:57:04Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/35010958?v=4"},{"slug":"smartthings","store_slug":"callemand/gladys-smartthings","repo_url":"https://github.com/callemand/gladys-smartthings","name":"SmartThings","type":"device","version":"1.0.0","description":{"en":"Control your Samsung SmartThings switches, lights, locks, shades and sensors from Gladys.","fr":"Pilotez vos interrupteurs, lumi\xe8res, serrures, volets et capteurs Samsung SmartThings depuis Gladys."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-smartthings.png","docker_image":"ghcr.io/callemand/gladys-smartthings:1.0.0","gladys_version":">=4.62.0","config_schema":[{"key":"how_to_token","type":"section","label":{"en":"Get your Personal Access Token","fr":"Obtenir votre Personal Access Token"},"description":{"en":"Open the SmartThings token page below and sign in, then click \\"Generate new token\\". Give it a name, tick the scopes Devices (list all, see all, control all) and Locations (see all), and generate it. Copy the token (it is shown only once) and paste it in the field below. Note: newly created tokens expire after 24 hours.","fr":"Ouvrez la page des tokens SmartThings ci-dessous et connectez-vous, puis cliquez sur \xab Generate new token \xbb. Donnez-lui un nom, cochez les autorisations Devices (list all, see all, control all) et Locations (see all), et g\xe9n\xe9rez-le. Copiez le token (affich\xe9 une seule fois) et collez-le dans le champ ci-dessous. Note : les nouveaux tokens expirent au bout de 24 heures."},"links":[{"url":"https://account.smartthings.com/tokens","label":{"en":"Create a token on SmartThings","fr":"Cr\xe9er un token sur SmartThings"}}]},{"key":"token","type":"secret","label":{"en":"SmartThings Personal Access Token","fr":"Personal Access Token SmartThings"},"description":{"en":"Generate a token at https://account.smartthings.com/tokens with the Devices (list, see, control) and Locations (see) scopes. New tokens expire after 24 hours.","fr":"G\xe9n\xe9rez un token sur https://account.smartthings.com/tokens avec les autorisations Devices (lister, voir, contr\xf4ler) et Locations (voir). Les nouveaux tokens expirent apr\xe8s 24 heures."},"placeholder":{"en":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","fr":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"},"required":true}],"stars":0,"pushed_at":"2026-07-28T20:13:15Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"smtp","store_slug":"GladysAssistant/gladys-smtp","repo_url":"https://github.com/GladysAssistant/gladys-smtp","name":"SMTP","type":"communication","version":"1.0.1","description":{"en":"Send emails from Gladys through your own SMTP server.","fr":"Envoyez des emails depuis Gladys via votre propre serveur SMTP."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/GladysAssistant--gladys-smtp.png","docker_image":"ghcr.io/gladysassistant/gladys-smtp:1.0.1","gladys_version":">=4.62.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Your SMTP server","fr":"Votre serveur SMTP"},"description":{"en":"Gladys sends its notifications as emails through the SMTP server you configure here. Any provider works: your mailbox provider, a transactional service, or a mail server on your LAN. Each user then enters their own email address in the \\"My account\\" block below.","fr":"Gladys envoie ses notifications par email via le serveur SMTP configur\xe9 ici. N\'importe quel fournisseur convient : votre fournisseur de messagerie, un service transactionnel, ou un serveur mail de votre r\xe9seau local. Chaque utilisateur renseigne ensuite sa propre adresse email dans le bloc \xab Mon compte \xbb ci-dessous."},"links":[{"url":"https://github.com/GladysAssistant/gladys-smtp/blob/main/docs/en.md","label":{"en":"Setup guide","fr":"Guide de configuration"}}]},{"key":"host","type":"string","label":{"en":"SMTP server","fr":"Serveur SMTP"},"description":{"en":"Hostname or IP address of the SMTP server, e.g. smtp.gmail.com.","fr":"Nom d\'h\xf4te ou adresse IP du serveur SMTP, par exemple smtp.gmail.com."},"placeholder":{"en":"smtp.example.com","fr":"smtp.exemple.com"},"required":true},{"key":"port","type":"number","label":{"en":"Port","fr":"Port"},"description":{"en":"587 for STARTTLS (most common), 465 for implicit TLS, 25 for a local relay.","fr":"587 pour STARTTLS (le plus courant), 465 pour TLS implicite, 25 pour un relais local."},"required":true,"default":587,"min":1,"max":65535},{"key":"security","type":"select","label":{"en":"Encryption","fr":"Chiffrement"},"description":{"en":"How the connection is secured. Pick STARTTLS on port 587, TLS on port 465.","fr":"Comment la connexion est s\xe9curis\xe9e. Choisissez STARTTLS sur le port 587, TLS sur le port 465."},"required":true,"default":"starttls","options":[{"value":"starttls","label":{"en":"STARTTLS (port 587)","fr":"STARTTLS (port 587)"}},{"value":"tls","label":{"en":"TLS / SSL (port 465)","fr":"TLS / SSL (port 465)"}},{"value":"none","label":{"en":"None (local relay only)","fr":"Aucun (relais local uniquement)"}}]},{"key":"username","type":"string","label":{"en":"Username","fr":"Nom d\'utilisateur"},"description":{"en":"SMTP account used to authenticate. Leave empty for a relay that accepts anonymous submissions.","fr":"Compte SMTP utilis\xe9 pour l\'authentification. Laissez vide pour un relais acceptant les envois anonymes."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":false},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"description":{"en":"SMTP password. With Gmail, Outlook or iCloud, generate a dedicated app password instead of using your account password.","fr":"Mot de passe S
1MTP. Avec Gmail, Outlook ou iCloud, g\xe9n\xe9rez un mot de passe d\'application d\xe9di\xe9 plut\xf4t que celui de votre compte."},"required":false},{"key":"from_email","type":"string","label":{"en":"Sender address","fr":"Adresse d\'exp\xe9dition"},"description":{"en":"Address the emails are sent from. Most providers require it to match the authenticated account.","fr":"Adresse depuis laquelle les emails sont envoy\xe9s. La plupart des fournisseurs exigent qu\'elle corresponde au compte authentifi\xe9."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"from_name","type":"string","label":{"en":"Sender name","fr":"Nom de l\'exp\xe9diteur"},"description":{"en":"Display name shown in the recipient\'s mailbox.","fr":"Nom affich\xe9 dans la bo\xeete de r\xe9ception du destinataire."},"required":false,"default":"Gladys Assistant"},{"key":"subject_prefix","type":"string","label":{"en":"Subject prefix","fr":"Pr\xe9fixe du sujet"},"description":{"en":"Prepended to every subject, which is built from the first line of the message. Leave empty for no prefix.","fr":"Ajout\xe9 devant chaque sujet, construit \xe0 partir de la premi\xe8re ligne du message. Laissez vide pour ne pas en mettre."},"required":false,"default":"Gladys"},{"key":"reject_unauthorized","type":"boolean","label":{"en":"Verify the TLS certificate","fr":"V\xe9rifier le certificat TLS"},"description":{"en":"Keep it on. Turn it off only for a local mail server using a self-signed certificate.","fr":"Gardez-le activ\xe9. Ne le d\xe9sactivez que pour un serveur mail local utilisant un certificat auto-sign\xe9."},"required":false,"default":true}],"stars":0,"pushed_at":"2026-07-31T07:56:58Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/7365162?v=4"},{"slug":"solaredge","store_slug":"guim31/gladys-solaredge","repo_url":"https://github.com/guim31/gladys-solaredge","name":"SolarEdge","type":"device","version":"1.0.4","description":{"en":"Solar production, home consumption, grid exchanges and battery storage from SolarEdge.","fr":"Production solaire, consommation, \xe9changes r\xe9seau et batterie depuis SolarEdge."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-solaredge.jpg","docker_image":"ghcr.io/guim31/gladys-solaredge:1.0.4","gladys_version":">=4.62.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"This integration reads your installation through the SolarEdge Monitoring API. Generate an API key from the monitoring portal (Admin > Site Access > API Access), paste it below, then press \\"Test the connection\\". SolarEdge allows 300 requests per day and per site: the default refresh interval stays well within that budget.","fr":"Cette int\xe9gration lit votre installation via l\'API SolarEdge Monitoring. G\xe9n\xe9rez une cl\xe9 d\'API depuis le portail de supervision (Admin > Acc\xe8s au site > Acc\xe8s API), collez-la ci-dessous puis appuyez sur \xab Tester la connexion \xbb. SolarEdge autorise 300 requ\xeates par jour et par site : l\'intervalle de rafra\xeechissement par d\xe9faut reste largement dans ce budget."},"links":[{"url":"https://monitoring.solaredge.com/","label":{"en":"SolarEdge monitoring portal","fr":"Portail SolarEdge Monitoring"}}]},{"key":"api_key","type":"secret","label":{"en":"API key","fr":"Cl\xe9 d\'API"},"description":{"en":"SolarEdge Monitoring API key, generated in Admin > Site Access > API Access.","fr":"Cl\xe9 d\'API SolarEdge Monitoring, g\xe9n\xe9r\xe9e dans Admin > Acc\xe8s au site > Acc\xe8s API."},"required":true,"placeholder":{"en":"32 uppercase characters","fr":"32 caract\xe8res en majuscules"}},{"key":"site_id","type":"string","label":{"en":"Site ID","fr":"Identifiant du site"},"description":{"en":"Numeric site id. Leave empty when the API key covers a single site: it is detected automatically. Use the \\"List my sites\\" button otherwise.","fr":"Identifiant num\xe9rique du site. Laissez vide si la cl\xe9 ne couvre qu\'un seul site : il est d\xe9tect\xe9 automatiquement. Utilisez sinon le bouton \xab Lister mes sites \xbb."},"required":false,"default":"","placeholder":{"en":"1234567","fr":"1234567"}},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the live values (power flow, production totals) are refreshed. Each cycle costs 2 SolarEdge requests out of the 300 allowed per day, whatever the number of devices.","fr":"Fr\xe9quence de rafra\xeechissement des valeurs instantan\xe9es (flux de puissance,
1compteurs de production). Chaque cycle co\xfbte 2 requ\xeates SolarEdge sur les 300 autoris\xe9es par jour, quel que soit le nombre d\'appareils."},"required":false,"default":900,"min":300,"max":3600},{"key":"energy_details_frequency","type":"number","label":{"en":"Daily breakdown interval (s)","fr":"Intervalle du bilan quotidien (s)"},"description":{"en":"How often the daily breakdown (consumption, self-consumption, imported, exported) is refreshed. Slower than the live values on purpose: it costs one more request per refresh.","fr":"Fr\xe9quence de rafra\xeechissement du bilan du jour (consommation, autoconsommation, \xe9nergie soutir\xe9e et inject\xe9e). Volontairement plus lent que les valeurs instantan\xe9es : il co\xfbte une requ\xeate suppl\xe9mentaire \xe0 chaque fois."},"required":false,"default":1800,"min":900,"max":21600},{"key":"storage_details","type":"boolean","label":{"en":"Detailed battery telemetry","fr":"T\xe9l\xe9m\xe9trie d\xe9taill\xe9e de la batterie"},"description":{"en":"Add the stored energy and the battery temperature, read from the storage endpoint. Costs one more request per daily-breakdown cycle, and only applies to sites with a battery.","fr":"Ajoute l\'\xe9nergie stock\xe9e et la temp\xe9rature de la batterie, lues sur l\'endpoint de stockage. Co\xfbte une requ\xeate suppl\xe9mentaire par cycle de bilan quotidien, et ne concerne que les sites \xe9quip\xe9s d\'une batterie."},"required":false,"default":false},{"key":"daily_request_limit","type":"number","label":{"en":"Daily request budget","fr":"Budget de requ\xeates quotidien"},"description":{"en":"The integration stops calling SolarEdge once this many requests have been made today, so the API key never gets throttled. SolarEdge\'s own limit is 300 per day and per site.","fr":"L\'int\xe9gration cesse d\'appeler SolarEdge une fois ce nombre de requ\xeates atteint dans la journ\xe9e, pour que la cl\xe9 d\'API ne soit jamais bloqu\xe9e. La limite SolarEdge est de 300 par jour et par site."},"required":false,"default":300,"min":50,"max":10000},{"key":"currency","type":"select","label":{"en":"Revenue currency","fr":"Devise des revenus"},"description":{"en":"Currency of the daily revenue reported by SolarEdge, as configured on your site.","fr":"Devise du revenu quotidien remont\xe9 par SolarEdge, telle que configur\xe9e sur votre site."},"required":false,"default":"euro","options":[{"value":"euro","label":{"en":"Euro","fr":"Euro"}},{"value":"dollar","label":{"en":"Dollar","fr":"Dollar"}}
1,{"value":"pound-sterling","label":{"en":"Pound sterling","fr":"Livre sterling"}}]}],"stars":0,"pushed_at":"2026-08-07T13:19:45Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"sonos","store_slug":"vincentBesseau/gladys-sonos","repo_url":"https://github.com/vincentBesseau/gladys-sonos","name":"Sonos","type":"device","version":"1.1.0","description":{"en":"Control Sonos speakers locally, including VLAN setups, and play any content URI.","fr":"Contr\xf4lez vos enceintes Sonos en local, y compris en VLAN, et lancez n\'importe quelle URI."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/vincentBesseau--gladys-sonos.jpg","docker_image":"ghcr.io/vincentbesseau/gladys-sonos:1.1.0","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Sonos, controlled locally","fr":"Sonos, pilot\xe9 en local"},"description":{"en":"This integration controls your Sonos speakers directly over your local network - no cloud account, no Sonos app login. It discovers them automatically (SSDP). If your Sonos speakers are on a different VLAN/subnet than Gladys, automatic discovery will not find them: fill in one known IP below instead, it is enough to recover the whole household.","fr":"Cette int\xe9gration pilote vos enceintes Sonos directement sur votre r\xe9seau local - aucun compte cloud, aucune connexion \xe0 l\'app Sonos. Elle les d\xe9couvre automatiquement (SSDP). Si vos enceintes Sonos sont sur un VLAN/sous-r\xe9seau diff\xe9rent de Gladys, la d\xe9couverte automatique ne les trouvera pas : renseignez plut\xf4t une IP connue ci-dessous, cela suffit \xe0 retrouver toute l\'installation."}},{"key":"known_ips","type":"string","label":{"en":"Known IPs (VLAN fix)","fr":"IPs connues (contournement VLAN)"},"description":{"en":"One Sonos speaker IP is enough: this integration then asks it for your whole household\'s layout. Separate multiple entries with a comma or a new line.","fr":"L\'IP d\'une seule enceinte Sonos suffit : l\'int\xe9gration lui demande ensuite l\'organisation de toute votre installation. S\xe9parez plusieurs entr\xe9es par une virgule ou un retour \xe0 la ligne."},"placeholder":{"en":"192.168.10.21","fr":"192.168.10.21"}}],"stars":0,"pushed_at":"2026-09-05T19:24:51Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33568805?v=4"},{"slug":"speedtest-net","store_slug":"guim31/gladys-speedtest","repo_url":"https://github.com/guim31/gladys-speedtest","name":"Speedtest.net","type":"device","version":"1.0.2","description":{"en":"Measure your internet speed on a schedule using Speedtest.net servers.","fr":"Mesurez p\xe9riodiquement le d\xe9bit de votre connexion via les serveurs Speedtest.net."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-speedtest.png","docker_image":"ghcr.io/guim31/gladys-speedtest:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Fonctionnement"},"description":{"en":"A test saturates your connection for about 25 seconds and can transfer several hundred MB per run: mind your data cap when choosing the interval. Results are stored as four sensors (download, upload, ping, jitter) you can chart and use in scenes.","fr":"Un test sature la connexion pendant environ 25 secondes et peut transf\xe9rer plusieurs centaines de Mo : tenez compte de votre quota de donn\xe9es en choisissant l\'intervalle. Les r\xe9sultats alimentent quatre capteurs (d\xe9bits, ping, gigue) exploitables en graphiques et dans les sc\xe8nes."},"links":[{"url":"https://www.speedtest.net/","label":{"en":"Speedtest.net","fr":"Speedtest.net"}}]},{"key":"auto_test","type":"boolean","label":{"en":"Run tests automatically","fr":"Lancer les tests automatiquement"},"description":{"en":"When disabled, tests only run through the manual button below.","fr":"D\xe9sactiv\xe9, les tests ne partent que via le bouton manuel ci-dessous."},"required":false,"default":true},{"key":"poll_frequency","type":"number","label":{"en":"Interval between tests (s)","fr":"Intervalle entre les tests (s)"},"description":{"en":"Seconds between automatic tests. 3600 = one test per hour.","fr":"Secondes entre deux tests automatiques. 3600 = un test par heure."},"required":false,"default":3600,"min":600,"max":86400},{"key":"server_id","type":"string","label":{"en":"Server ID (optional)","fr":"ID du serveur (optionnel)"},"description":{"en":"Leave empty to auto-select the closest healthy server. Use the \\"List nearby servers\\" button to find IDs.","fr":"Laissez vide pour choisir automatiquement le meilleur serveur proche. Le bouton \xab Lister les serveurs proches \xbb donne les ID."},"required":false,"placeholder":{"en":"32565","fr":"32565"}},{"key":"connections","type":"number","label":{"en":"Parallel connections","fr":"Connexions parall\xe8les"},"description":{"en":"TCP connections per direction. More connections fill fast links better.","fr":"Connexions TCP par sens de mesure. Plus il y en a, mieux les liens rapides sont remplis."},"required":false,"default":4,"min":1,"max":8},{"key":"duration","type":"number","label":{"en":"Measurement time per direction (s)","fr":"Dur\xe9e de mesure par sens (s)"},"description":{"en":"Longer measurements are steadier but transfer more data.","fr":"Une mesure plus longue est plus stable mais transf\xe8re plus de donn\xe9es."},"required":false,"default":10,"min":5,"max":20}],"stars":0,"pushed_at":"2026-09-07T21:33:51Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"spotify","store_slug":"William-De71/gladys-spotify","repo_url":"https://github.com/William-De71/gladys-spotify","name":"Spotify","type":"device","version":"1.2.0","description":{"en":"Control your Spotify Connect devices and launch playlists, recent tracks or favorites.","fr":"Contr\xf4lez vos appareils Spotify Connect et lancez vos playlists, morceaux r\xe9cents ou favoris."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-spotify.jpg","docker_image":"ghcr.io/william-de71/gladys-spotify:1.2.0","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Connect your Spotify account","fr":"Connectez votre compte Spotify"},"description":{"en":"This integration controls your Spotify Connect devices through the Spotify Web API. A Spotify Premium account is required to control playback. First create a free Spotify application, declare the redirect URI shown below in it, paste its Client ID and Client Secret here, then click \\"Connect with Spotify\\".","fr":"Cette int\xe9gration pilote vos appareils Spotify Connect via l\'API Web de Spotify. Un compte Spotify Premium est n\xe9cessaire pour contr\xf4ler la lecture. Cr\xe9ez d\'abord une application Spotify gratuite, d\xe9clarez-y l\'adresse de redirection affich\xe9e plus bas, collez son Client ID et son Client Secret ici, puis cliquez sur \xab Se connecter avec Spotify \xbb."},"links":[{"url":"https://developer.spotify.com/dashboard","label":{"en":"Spotify Developer Dashboard","fr":"Tableau de bord d\xe9veloppeur Spotify"}},{"url":"https://developer.spotify.com/documentation/web-api","label":{"en":"Spotify Web API documentation","fr":"Documentation de l\'API Web Spotify"}}]},{"key":"client_id","type":"string","label":{"en":"Client ID","fr":"Client ID"},"placeholder":{"en":"Your Spotify app Client ID","fr":"Le Client ID de votre application Spotify"},"required":true},{"key":"client_secret","type":"secret","label":{"en":"Client Secret","fr":"Client Secret"},"placeholder":{"en":"Your Spotify app Client Secret","fr":"Le Client Secret de votre application Spotify"},"required":true},{"key":"spotify_oauth","type":"oauth2","label":{"en":"Connect with Spotify","fr":"Se connecter avec Spotify"},"description":{"en":"Once the Client ID and Client Secret are saved, click Connect to authorize Gladys on your Spotify account. If Gladys later reports missing permissions after an update, click it again: your devices and Gladys sce
1nes are kept.","fr":"Une fois le Client ID et le Client Secret enregistr\xe9s, cliquez sur Se connecter pour autoriser Gladys sur votre compte Spotify. Si Gladys signale plus tard des autorisations manquantes apr\xe8s une mise \xe0 jour, cliquez \xe0 nouveau dessus : vos appareils et vos sc\xe8nes Gladys seront conserv\xe9s."}},{"key":"manual_callback","type":"section","label":{"en":"Browser could not return to Gladys?","fr":"Le navigateur n\'a pas pu revenir \xe0 Gladys ?"},"description":{"en":"The return from Spotify is normally automatic. If your browser lands on a blank or error page instead of coming back to Gladys, the authorization did still succeed: copy the full address from your browser address bar, paste it below, save, then click \\"Finish the connection\\".","fr":"Le retour depuis Spotify est normalement automatique. Si votre navigateur aboutit \xe0 une page blanche ou d\'erreur au lieu de revenir dans Gladys, l\'autorisation a tout de m\xeame r\xe9ussi : copiez l\'adresse compl\xe8te depuis la barre d\'adresse de votre navigateur, collez-la ci-dessous, enregistrez, puis cliquez sur \xab Terminer la connexion \xbb."}},{"key":"callback_url","type":"string","label":{"en":"Returned address","fr":"Adresse de retour"},"placeholder":{"en":"http://192.168.1.50:1444/dashboard/...?code=...&state=...","fr":"http://192.168.1.50:1444/dashboard/...?code=...&state=..."}}],"stars":0,"pushed_at":"2026-09-02T06:41:26Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"subsonic","store_slug":"guim31/gladys-subsonic","repo_url":"https://github.com/guim31/gladys-subsonic","name":"Subsonic","type":"device","version":"1.0.8","description":{"en":"Link Gladys with a Subsonic-compatible music server: Navidrome, Airsonic, Gonic...","fr":"Reliez Gladys \xe0 un serveur musical compatible Subsonic : Navidrome, Airsonic, Gonic..."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/guim31--gladys-subsonic.png","docker_image":"ghcr.io/guim31/gladys-subsonic:1.0.8","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Server connection","fr":"Connexion au serveur"},"description":{"en":"Works with any server implementing the Subsonic API (Navidrome, Airsonic-Advanced, Gonic...). Use a dedicated user account if you can. The URL is the root of the server, e.g. https://music.example.com or http://192.168.1.10:4533.","fr":"Fonctionne avec tout serveur impl\xe9mentant l\'API Subsonic (Navidrome, Airsonic-Advanced, Gonic...). Utilisez si possible un compte utilisateur d\xe9di\xe9. L\'URL est la racine du serveur, ex. https://music.example.com ou http://192.168.1.10:4533."},"links":[{"url":"https://www.subsonic.org/pages/api.jsp","label":{"en":"Subsonic API documentation","fr":"Documentation de l\'API Subsonic"}},{"url":"https://www.navidrome.org/docs/","label":{"en":"Navidrome documentation","fr":"Documentation Navidrome"}}]},{"key":"server_url","type":"string","label":{"en":"Server URL","fr":"URL du serveur"},"description":{"en":"Root URL of the Subsonic server, without /rest.","fr":"URL racine du serveur Subsonic, sans /rest."},"required":true},{"key":"username","type":"string","label":{"en":"Username","fr":"Utilisateur"},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"required":true},{"key":"auth_method","type":"select","label":{"en":"Authentication method","fr":"M\xe9thode d\'authentification"},"description":{"en":"Token (md5 + salt) is supported by every modern server. Use legacy only for pre-1.13 servers or LDAP users.","fr":"Le jeton (md5 + sel) est g\xe9r\xe9 par tous les serveurs modernes. N\'utilisez legacy que pour les serveurs pr\xe9-1.13 ou les comptes LDAP."},"required":false,"default":"token","options":[{"value":"token","label":{"en":"Token (recommended)","fr":"Jeton (recommand\xe9)"}},{"value":"legacy","label":{"en":"Legacy (obfuscated password)","fr":"Legacy (mot de passe obfusqu\xe9)"}}]},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the server sensors are polled, in seconds. Gladys only supports 10, 15, 30 or 60 s: the value is snapped to the closest one.","fr":"Fr\xe9quence d\'interrogation des capteurs du serveur, en secondes. Gladys ne g\xe8re que 10, 15, 30 ou
160 s : la valeur est align\xe9e sur la plus proche."},"required":false,"default":60,"min":10,"max":60},{"key":"jukebox_section","type":"section","label":{"en":"Jukebox (server-side playback)","fr":"Jukebox (lecture c\xf4t\xe9 serveur)"},"description":{"en":"The jukebox plays music on the machine hosting the server. It must also be enabled server-side: in Navidrome, set Jukebox.Enabled = true (ND_JUKEBOX_ENABLED=true) and make sure the host has an audio output.","fr":"Le jukebox joue la musique sur la machine qui h\xe9berge le serveur. Il doit aussi \xeatre activ\xe9 c\xf4t\xe9 serveur : dans Navidrome, r\xe9glez Jukebox.Enabled = true (ND_JUKEBOX_ENABLED=true) et v\xe9rifiez que l\'h\xf4te a une sortie audio."},"links":[{"url":"https://www.navidrome.org/docs/usage/jukebox/","label":{"en":"Navidrome jukebox mode","fr":"Mode jukebox de Navidrome"}}]},{"key":"jukebox_enabled","type":"boolean","label":{"en":"Enable the jukebox device","fr":"Activer l\'appareil jukebox"},"required":false,"default":false}],"stars":0,"pushed_at":"2026-09-01T19:49:47Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/33096540?v=4"},{"slug":"supervision-hote","store_slug":"prohand/gladys-host-monitoring","repo_url":"https://github.com/prohand/gladys-host-monitoring","name":"Supervision h\xf4te","type":"device","version":"1.0.2","description":{"en":"Reports the CPU, memory, disk usage and CPU temperature of the machine running Gladys.","fr":"Remonte l\'usage CPU, la m\xe9moire, l\'espace disque et la temp\xe9rature CPU de la machine h\xf4te."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-host-monitoring.png","docker_image":"ghcr.io/prohand/gladys-host-monitoring:1.0.2","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Host supervision","fr":"Supervision de l\'h\xf4te"},"description":{"en":"One device exposing the health of the machine that runs Gladys: CPU usage, memory usage, disk usage, free disk space and CPU temperature. Everything is read locally from /proc and /sys, no agent and no cloud service involved.","fr":"Un appareil qui expose la sant\xe9 de la machine qui fait tourner Gladys : usage CPU, usage m\xe9moire, usage disque, espace disque libre et temp\xe9rature du CPU. Tout est lu localement dans /proc et /sys, sans agent ni service cloud."},"links":[{"url":"https://github.com/prohand/gladys-host-monitoring","label":{"en":"Source code and documentation","fr":"Code source et documentation"}}]},{"key":"device_name","type":"string","label":{"en":"Device name","fr":"Nom de l\'appareil"},"description":{"en":"Name of the device created in Gladys. Useful when several machines are monitored.","fr":"Nom de l\'appareil cr\xe9\xe9 dans Gladys. Utile si vous supervisez plusieurs machines."},"required":false,"default":"Machine h\xf4te","placeholder":{"en":"Gladys server","fr":"Serveur Gladys"}},{"key":"disk_path","type":"string","label":{"en":"Disk path to monitor","fr":"Chemin du disque \xe0 surveiller"},"description":{"en":"Path whose filesystem is measured. The default /data is the integration volume, hosted on the same filesystem as your Gladys data.","fr":"Chemin dont le syst\xe8me de fichiers est mesur\xe9. La valeur /data par d\xe9faut est le volume de l\'int\xe9gration, situ\xe9 sur le m\xeame syst\xe8me de fichiers que vos donn\xe9es Gladys."},"required":false,"default":"/data","placeholder":{"en":"/data","fr":"/data"}},{"key":"temperature_sensor_path","type":"string","label":{"en":"CPU temperature sensor (optional)","fr":"Sonde de temp\xe9rature CPU (optionnel)"},"description":{"en":"Leave empty to auto-detect. Otherwise, the sysfs file to read, e.g. /sys/class/thermal/thermal_zone0/temp.","fr":"Laissez vide pour une d\xe9tection automatique. Sinon, le fichier sysfs \xe0 lire, par exemple /sys/class/thermal/thermal_zone0/temp."},"required":false,"default":"","placeholder":{"en":"/sys/class/thermal/thermal_zone0/temp","fr":"/sys/class/thermal/thermal_zone0/temp"}},{"key":"history","type":"section","label":{"en":"Refresh rate and history","fr":"Fr\xe9quence et historique"},"description":{"en":"Gladys writes one history row per published value, so a host monitor left unchecked fills the database fast. The integration reads the metrics on its own schedule and only publishes a value when it moved more than the thresholds below \u2014 with a guaranteed point at least once per maximum interval so the charts stay continuous.","fr":"Gladys \xe9crit une ligne d\'historique par valeur publi\xe9e : un moniteur laiss\xe9 sans garde-fou remplit vite la base. L\'int\xe9gration lit les m\xe9triques \xe0 son propre rythme et ne publie une valeur que si elle a boug\xe9 de plus que les seuils ci-dessous \u2014 avec un point garanti au moins une fois par intervalle maximum pour que les courbes restent continues."}},{"key":"refresh_interval","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often the metrics are read, in seconds. 300 s (5 minutes) is plenty for host supervision.","fr":"Fr\xe9quence de lecture des m\xe9triques, en secondes. 300 s (5 minutes) suffit largement pour superviser un h\xf4te."},"required":false,"default":300,"min":60,"max":3600},{"key":"min_variation","type":"number","label":{"en":"Minimum variation (%)","fr":"
1Variation minimale (%)"},"description":{"en":"A percentage reading is only published when it moved by at least this many points since the last published value. 0 publishes every reading.","fr":"Une mesure en pourcentage n\'est publi\xe9e que si elle a boug\xe9 d\'au moins autant de points depuis la derni\xe8re valeur publi\xe9e. 0 publie chaque mesure."},"required":false,"default":2,"min":0,"max":50},{"key":"min_variation_temperature","type":"number","label":{"en":"Minimum variation (\xb0C)","fr":"Variation minimale (\xb0C)"},"description":{"en":"Same threshold, applied to the CPU temperature.","fr":"M\xeame seuil, appliqu\xe9 \xe0 la temp\xe9rature du CPU."},"required":false,"default":1,"min":0,"max":20},{"key":"max_interval_minutes","type":"number","label":{"en":"Maximum interval without a point (min)","fr":"Intervalle maximum sans point (min)"},"description":{"en":"Even when nothing moves, each metric is published at least once per this interval so the charts keep a continuous line.","fr":"M\xeame si rien ne bouge, chaque m\xe9trique est publi\xe9e au moins une fois par intervalle pour que les courbes gardent une ligne continue."},"required":false,"default":60,"min":5,"max":1440},{"key":"keep_history","type":"boolean","label":{"en":"Keep history","fr":"Conserver l\'historique"},"description":{"en":"Applied when the device is created. Turn it off to keep only the live values, with no history row at all.","fr":"Appliqu\xe9 \xe0 la cr\xe9ation de l\'appareil. D\xe9sactivez-le pour ne garder que les valeurs instantan\xe9es, sans aucune ligne d\'historique."},"required":false,"default":true}],"stars":0,"pushed_at":"2026-08-15T16:13:08Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"synology-dsm","store_slug":"prohand/gladys-synology","repo_url":"https://github.com/prohand/gladys-synology","name":"Synology DSM","type":"device","version":"1.0.4","description":{"en":"Monitor Synology NAS system metrics, storage volumes, disk SMART health and backups.","fr":"Supervisez les m\xe9triques syst\xe8me, volumes, \xe9tats SMART des disques et sauvegardes d\'un NAS Synology."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-synology.png","docker_image":"ghcr.io/prohand/gladys-synology:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Synology DSM connection","fr":"Connexion \xe0 Synology DSM"},"description":{"en":"Use a dedicated, read-only DSM account. Gladys must be able to reach the NAS on your local network.","fr":"Utilisez un compte DSM d\xe9di\xe9 en lecture seule. Gladys doit pouvoir joindre le NAS sur votre r\xe9seau local."},"links":[{"url":"https://github.com/prohand/gladys-synology/blob/main/docs/en.md","label":{"en":"Setup guide","fr":"Guide d\'installation"}}]},{"key":"url","type":"string","label":{"en":"DSM URL","fr":"URL DSM"},"description":{"en":"For example: https://192.168.1.20:5001","fr":"Par exemple : https://192.168.1.20:5001"},"required":true},{"key":"username","type":"string","label":{"en":"Username","fr":"Nom d\'utilisateur"},"required":true},{"key":"password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"required":true},{"key":"otp_code","type":"secret","label":{"en":"Current OTP code (MFA)","fr":"Code OTP actuel (MFA)"},"description":{"en":"Required only to trust this Gladys installation on the first MFA login, or after revoking the trusted device in DSM. Enter a current 6-digit verification code.","fr":"Requis uniquement pour approuver cette installation Gladys lors de la premi\xe8re connexion MFA, ou apr\xe8s r\xe9vocation de l\'appareil de confiance dans DSM. Saisissez un code de v\xe9rification actuel \xe0 6 chiffres."},"required":false},{"key":"verify_ssl","type":"boolean","label":{"en":"Verify the TLS certificate","fr":"V\xe9rifier le certificat TLS"},"description":{"en":"Keep enabled unless DSM uses a self-signed certificate.","fr":"Laissez activ\xe9 sauf si DSM utilise un certificat auto-sign\xe9."},"required":false,"default":true},{"key":"nas_2_section","type":"section","label":{"en":"NAS 2 (optional)","fr":"NAS 2 (facultatif)"},"description":{"en":"Leave the URL empty to ignore this slot. Credentials are stored in dedicated secret fields.","fr":"Laissez l\'URL vide pour ignorer cet emplacement. Les identifiants sont stock\xe9s dans des champs secrets d\xe9di\xe9s."}},{"key":"nas_2_url","type":"string","label":{"en":"NAS 2 \u2014 DSM URL","fr":"NAS 2 \u2014 URL DSM"},"required":false},{"key":"nas_2_username","type":"string","label":{"en":"NAS 2 \u2014 Username","fr":"NAS 2 \u2014 Nom d\'utilisateur"},"required":false},{"key":"nas_2_password","type":"secret","label":{"en":"NAS 2 \u2014 Password","fr":"NAS 2 \u2014 Mot de passe"},"required":false},{"key":"nas_2_otp_code","type":"secret","label":{"en":"NAS 2 \u2014 Current OTP co
1de","fr":"NAS 2 \u2014 Code OTP actuel"},"required":false},{"key":"nas_2_verify_ssl","type":"boolean","label":{"en":"NAS 2 \u2014 Verify TLS certificate","fr":"NAS 2 \u2014 V\xe9rifier le certificat TLS"},"required":false,"default":true},{"key":"nas_3_section","type":"section","label":{"en":"NAS 3 (optional)","fr":"NAS 3 (facultatif)"},"description":{"en":"Leave the URL empty to ignore this slot. Credentials are stored in dedicated secret fields.","fr":"Laissez l\'URL vide pour ignorer cet emplacement. Les identifiants sont stock\xe9s dans des champs secrets d\xe9di\xe9s."}},{"key":"nas_3_url","type":"string","label":{"en":"NAS 3 \u2014 DSM URL","fr":"NAS 3 \u2014 URL DSM"},"required":false},{"key":"nas_3_username","type":"string","label":{"en":"NAS 3 \u2014 Username","fr":"NAS 3 \u2014 Nom d\'utilisateur"},"required":false},{"key":"nas_3_password","type":"secret","label":{"en":"NAS 3 \u2014 Password","fr":"NAS 3 \u2014 Mot de passe"},"required":false},{"key":"nas_3_otp_code","type":"secret","label":{"en":"NAS 3 \u2014 Current OTP code","fr":"NAS 3 \u2014 Code OTP actuel"},"required":false},{"key":"nas_3_verify_ssl","type":"boolean","label":{"en":"NAS 3 \u2014 Verify TLS certificate","fr":"NAS 3 \u2014 V\xe9rifier le certificat TLS"},"required":false,"default":true},{"key":"nas_4_section","type":"section","label":{"en":"NAS 4 (optional)","fr":"NAS 4 (facultatif)"},"description":{"en":"Leave the URL empty to ignore this slot. Credentials are stored in dedicated secret fields.","fr":"Laissez l\'URL vide pour ignorer cet emplacement. Les identifiants sont stock\xe9s dans des champs secrets d\xe9di\xe9s."}},{"key":"nas_4_url","type":"string","label":{"en":"NAS 4 \u2014 DSM URL","fr":"NAS 4 \u2014 URL DSM"},"required":false},{"key":"nas_4_username","type":"string","label":{"en":"NAS 4 \u2014 Username","fr":"NAS 4 \u2014 Nom d\'utilisateur"},"required":false},{"key":"nas_4_password","type":"secret","label":{"en":"NAS 4 \u2014 Password","fr":"NAS 4 \u2014 Mot de passe"},"required":false},{"key":"nas_4_otp_code","type":"secret","label":{"en":"NAS 4 \u2014 Current OTP code","fr":"NAS 4 \u2014 Code OTP actuel"},"required":false},{"key":"nas_4_verify_ssl","type":"boolean","label":{"en":"NAS 4 \u2014 Verify TLS certificate","fr":"NAS 4 \u2014 V\xe9rifier le certificat TLS"},"required":false,"default":true},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"Custom interval in seconds (60 to 86400). The default is 900 seconds. A moderate interval limits the growth of the Gladys database.","fr":"Intervalle personnalis\xe9 en secondes (60 \xe0 86400). La valeur par d\xe9faut est 900 secondes. Un intervalle mod\xe9r\xe9 limite la croissance de la base Gladys."},"required":false,"default":900,"min":60,"max":86400,"placeholder":{"en":"900","fr":"900"}},{"key":"date_format","type":"select","label":{"en":"Date format","fr":"Format de date"},"description":{"en":"Format used for the backup dates published to Gladys. Every format except ISO 8601 shows the local time of the integration container.","fr":"Format utilis\xe9 pour les dates de sauvegarde publi\xe9es dans Gladys. Tous les formats sauf ISO 8601 affichent l\'heure locale du conteneur de l\'int\xe9gration."},"required":false,"default":"iso","options":[{"value":"iso","label":{"en":"ISO 8601 (UTC) \u2014 2026-08-20T13:08:00.000Z","fr":"ISO 8601 (UTC) \u2014 2026-08-20T13:08:00.000Z"}},{"value":"iso_local","label":{"en":"YYYY-MM-DD HH:mm \u2014 2026-08-20 15:08","fr":"AAAA-MM-JJ HH:mm \u2014 2026-08-20 15:08"}},{"value":"european","label":{"en":"DD/MM/YYYY HH:mm \u2014 20/08/2026 15:08","fr":"JJ/MM/AAAA HH:mm \u2014 20/08/2026 15:08"}},{"value":"us","label":{"en":"MM/DD/YYYY hh:mm AM/PM \u2014 08/20/2026 03:08 PM","fr":"MM/JJ/AAAA hh:mm AM/PM \u2014 08/20/2026 03:08 PM"}}]}],"stars":0,"pushed_at":"2026-08-20T13:15:07Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"tapo","store_slug":"William-De71/gladys-tapo","repo_url":"https://github.com/William-De71/gladys-tap
1o","name":"Tapo","type":"device","version":"1.2.5","description":{"en":"Your Tapo cameras and doorbells in Gladys: images, doorbell press and motion.","fr":"Vos cam\xe9ras et sonnettes Tapo dans Gladys : images, appui sonnette et mouvement."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-tapo.jpg","docker_image":"ghcr.io/william-de71/gladys-tapo:1.2.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"This integration finds your cameras through your TP-Link cloud account, then captures their images on your local network. Enter your Tapo account below, then go to the Discover screen and run a scan: your cameras appear there, ready to be added.\\n\\nTwo capture modes, chosen automatically per camera by probing it: the standard RTSP stream when the camera exposes one, otherwise the TP-Link proprietary protocol \u2014 which also covers battery models and doorbells that offer no RTSP stream.","fr":"Cette int\xe9gration retrouve vos cam\xe9ras via votre compte cloud TP-Link, puis capture leurs images sur votre r\xe9seau local. Renseignez votre compte Tapo ci-dessous, puis allez dans l\'\xe9cran D\xe9couverte et lancez un scan : vos cam\xe9ras y apparaissent, pr\xeates \xe0 \xeatre ajout\xe9es.\\n\\nDeux modes de capture, choisis automatiquement pour chaque cam\xe9ra en la sondant : le flux RTSP standard quand la cam\xe9ra en expose un, sinon le protocole propri\xe9taire TP-Link \u2014 qui couvre aussi les mod\xe8les sur batterie et les sonnettes qui n\'offrent aucun flux RTSP."},"links":[{"url":"https://www.tapo.com/en/","label":{"en":"Tapo website","fr":"Site Tapo"}}]},{"key":"email","type":"string","label":{"en":"Tapo account email","fr":"E-mail du compte Tapo"},"description":{"en":"The email address of your TP-Link / Tapo account, the one you use in the Tapo app.","fr":"L\'adresse e-mail de votre compte TP-Link / Tapo, celle que vous utilisez dans l\'application Tapo."},"placeholder":{"en":"[email protected]","fr":"[email protected]"},"required":true},{"key":"password","type":"secret","label":{"en":"Tapo account password","fr":"Mot de passe du compte Tapo"},"description":{"en":"The password of your TP-Link / Tapo account. It is used to list your cameras and, for cameras without RTSP, to open the local stream.","fr":"Le mot de passe de votre compte TP-Link / Tapo. Il sert \xe0 lister vos cam\xe9ras et, pour les cam\xe9ras sans RTSP, \xe0 ouvrir le flux local."},"required":true},{"key":"region","type":"select","label":{"en":"Cloud region","fr":"R\xe9gion du cloud"},"description":{"en":"The TP-Link cloud server closest to you. Change it only if the connection test fails.","fr":"Le serveur cloud TP-Link le plus proche de vous. \xc0 changer uniquement si le test de connexion \xe9choue."},"required":false,"default":"europe","options":[{"value":"europe","label":{"en":"Europe","fr":"Europe"}},{"value":"america","label":{"en":"America","fr":"Am\xe9rique"}},{"value":"asia","label":{"en":"Asia","fr":"Asie"}},{"value":"default","label":{"en":"Worldwide","fr":"Mondial"}}]},{"key":"rtsp_section","type":"section","label":{"en":"Camera account (RTSP and ONVIF)","fr":"Compte cam\xe9ra (RTSP et ONVIF)"},"description":{"en":"Cameras that expose an RTSP stream need the camera account you created in the Tapo app (Camera settings > Advanced settings > Camera account). It is also what unlocks ONVIF, which lets a camera report a motion the instant it happens instead of being polled. This is NOT your Tapo account, and it is created PER CAMERA. The simplest way to enter it: use the \\"Save a camera account\\" action at the bottom of this page, once per camera. The two fields below only serve as a default, for users who reused the same credentials everywhere.","fr":"Les cam\xe9ras exposant un flux RTSP n\xe9cessitent le compte cam\xe9ra cr\xe9\xe9 dans l\'application Tapo (Param\xe8tres de la cam\xe9ra > Param\xe8tres avanc\xe9s > Compte de la cam\xe9ra). C\'est aussi lui qui d\xe9bloque ONVIF, qui permet \xe0 une cam\xe9ra de signaler un mouvement \xe0 l\'instant o\xf9 il se produit au lieu d\'\xeatre interrog\xe9e. Ce n\'est PAS votre compte Tapo, et il se cr\xe9e PAR CAM\xc9RA. Le plus simple pour le renseigner : utilisez l\'action \xab Enregistrer le compte d\'une cam\xe9ra \xbb en bas de cette page, une fois par cam\xe9ra. Les deux champs ci-dessous ne servent que de valeur par d\xe9faut, si vous avez r\xe9utilis\xe9 les m\xeames identifiants partout."}},{"key":"rtsp_username","type":"string","label":{"en":"Default account username","fr":"Identifiant du compte par d\xe9faut"},"description":{"en":"Used for every RTSP camera that has no specific account below.","fr":"Utilis\xe9 pour toutes les cam\xe9ras RTSP n\'ayant pas de compte sp\xe9cifique ci-dessous."},"required":false},{"key":"rtsp_password","type":"secret","label":{"en":"Default account password","fr":"Mot de passe du compte par d\xe9faut"},"description":{"en":"Used for every RTSP camera that has no specific account below.","fr":"Utilis\xe9 pour toutes les cam\xe9ras RTSP n\'ayant pas de compte sp\xe9cifique ci-dessous."},"required":false},{"key":"camera_accounts","type":"secret","label":{"en":"Accounts per camera (advanced)","fr":"Comptes par cam\xe9ra (avanc\xe9)"},"description":{"en":"Filled in automatically by the \\"Save a camera account\\" action below \u2014 use that action rather than typing here. Format, if you edit it by hand: cameras separated by a comma, each as `name|username|password`.","fr":"Rempli automatiquement par l\'action \xab Enregistrer le compte d\'une cam\xe9ra \xbb ci-dessous \u2014 utilisez plut\xf4t cette action. Format, si vous l\'\xe9ditez \xe0 la main : cam\xe9ras s\xe9par\xe9es par une virgule, chacune sous la forme `nom|identifiant|motdepasse`."},"placeholder":{"en":"Camera_jardin|gladys|MyPassword, Camera_salon|gladys|OtherPassword","fr":"Camera_jardin|gladys|MonMotDePasse, Camera_salon|gladys|AutreMotDePasse"},"required":false},{"key":"stream_quality","type":"select","label":{"en":"Image quality","fr":"Qualit\xe9 de l\'image"},"description":{"en":"HD gives a sharper image, SD is lighter and faster to capture.","fr":"HD donne une image plus nette, SD est plus l\xe9g\xe8re et plus rapide \xe0 capturer."},"required":false,"default":"HD","options":[{"value":"HD","label":{"en":"HD","fr":"HD"}},{"value":"SD","label":{"en":"SD","fr":"SD"}}]},{"key":"advanced","type":"section","label":{"en":"Advanced","fr":"Avanc\xe9"},"description":{"en":"Fill these fields only if a camera is not found automatically, or to adjust how often events are checked.","fr":"Ne remplissez ces champs que si une cam\xe9ra n\'est pas trouv\xe9e automatiquement, ou pour ajuster la fr\xe9quence de v\xe9rification des \xe9v\xe9nements."}},{"key":"camera_ips","type":"string","label":{"en":"Camera addresses","fr":"Adresses des cam\xe9ras"},"description":{"en":"Cameras separated by a comma, each as `name|ip` \u2014 for example `Camera_jardin|192.168.1.42, C
1amera_salon|192.168.1.43`. Gladys looks for the addresses on your network by itself; fill this in for a camera the scan does not find (another VLAN, broadcast filtered by your router). An address typed here always wins.","fr":"Cam\xe9ras s\xe9par\xe9es par une virgule, chacune sous la forme `nom|ip` \u2014 par exemple `Camera_jardin|192.168.1.42, Camera_salon|192.168.1.43`. Gladys cherche les adresses sur votre r\xe9seau tout seul ; remplissez ce champ pour une cam\xe9ra que le scan ne trouve pas (autre VLAN, broadcast filtr\xe9 par votre routeur). Une adresse saisie ici est toujours prioritaire."},"placeholder":{"en":"Camera_jardin|192.168.1.42, Camera_salon|192.168.1.43","fr":"Camera_jardin|192.168.1.42, Camera_salon|192.168.1.43"},"required":false},{"key":"event_poll_interval","type":"number","label":{"en":"Event check interval (s)","fr":"Intervalle de v\xe9rification des \xe9v\xe9nements (s)"},"description":{"en":"How often the integration checks for a doorbell press or a motion detection. A shorter interval reacts faster but talks to your cameras more often. Only affects cameras without ONVIF: cameras that support it push their events instantly, with nothing to wait for.","fr":"Fr\xe9quence \xe0 laquelle l\'int\xe9gration v\xe9rifie un appui sonnette ou une d\xe9tection de mouvement. Un intervalle plus court r\xe9agit plus vite mais sollicite davantage vos cam\xe9ras. Ne concerne que les cam\xe9ras sans ONVIF : celles qui le proposent remontent leurs \xe9v\xe9nements instantan\xe9ment, sans attente."},"required":false,"default":20,"min":5,"max":300},{"key":"capture_timeout","type":"number","label":{"en":"Capture timeout (s)","fr":"D\xe9lai de capture (s)"},"description":{"en":"How long a camera is given to deliver an image. Cameras using the proprietary protocol \u2014 battery models waking from deep sleep \u2014 need more time than an RTSP one. Above 14s the dashboard live view may time out first, but the scheduled refresh still succeeds.","fr":"Temps accord\xe9 \xe0 une cam\xe9ra pour fournir une image. Les cam\xe9ras utilisant le protocole propri\xe9taire \u2014 mod\xe8les sur batterie sortant de veille \u2014 ont besoin de plus de temps qu\'une cam\xe9ra RTSP. Au-del\xe0 de 14 s, la vue live du tableau de bord peut expirer avant, mais le rafra\xeechissement automatique aboutit quand m\xeame."},"required":false,"default":14,"min":5,"max":60},{"key":"image_refresh_interval","type":"number","label":{"en":"Image refresh interval (s)","fr":"Intervalle de rafra\xeechissement des images (s)"},"description":{"en":"How often a new image is captured for the dashboard, on MAINS-POWERED cameras only. Battery and solar cameras have their own setting below, so keeping your wired images fresh costs nothing to the others.","fr":"Fr\xe9quence \xe0 laquelle une nouvelle image est captur\xe9e pour le tableau de bord, pour les cam\xe9ras SUR SECTEUR uniquement. Les cam\xe9ras sur batterie ou solaires ont leur propre r\xe9glage ci-dessous : garder vos images filaires fra\xeeches ne co\xfbte donc rien aux autres."},"required":false,"default":60,"min":15,"max":3600},{"key":"battery_section","type":"section","label":{"en":"Battery protection","fr":"Protection de la batterie"},"description":{"en":"Capturing images is what drains a battery or solar camera. These settings apply ONLY to battery and solar models \u2014 wired cameras keep their own interval and are never throttled. Once a camera goes below the pause limit, capturing only resumes at the recharge level: a partial recharge would restart the drain, and repeated shallow cycles wear the battery faster.","fr":"La capture d\'images est ce qui vide une cam\xe9ra sur batterie ou solaire. Ces r\xe9glages s\'appliquent UNIQUEMENT aux mod\xe8les sur batterie ou solaires \u2014 les cam\xe9ras filaires gardent leur propre intervalle et ne sont jamais ralenties. Une fois pass\xe9e sous la limite de pause, la capture ne reprend qu\'au niveau de recharge : une recharge partielle relancerait la d\xe9charge, et les cycles courts r\xe9p\xe9t\xe9s usent la batterie plus vite."}},{"key":"battery_image_refresh_interval","type":"number","label":{"en":"Battery camera refresh interval (s)","fr":"Intervalle de rafra\xeechissement des cam\xe9ras sur batterie (s)"},"description":{"en":"How often a battery or solar camera is captured, independently of your wired cameras. Waking a camera up is what costs the battery, so this is the single most effective setting: 900s (15 min) lets a solar panel refill between two captures. Lower it only if your cameras recharge faster than they discharge.","fr":"Fr\xe9quence \xe0 laquelle une cam\xe9ra sur batterie ou solaire est captur\xe9e, ind\xe9pendamment de vos cam\xe9ras filaires. C\'est le r\xe9veil de la cam\xe9ra qui co\xfbte de la batterie : ce r\xe9glage est donc le plus efficace de tous. 900 s (15 min) laisse \xe0 un panneau solaire le temps de recharger entre deux captures. Ne le baissez que si vos cam\xe9ras se rechargent plus vite qu\'elles ne se d\xe9chargent."},"required":false,"default":900,"min":60,"max":86400},{"key":"battery_event_poll_interval","type":"number","label":{"en":"Battery camera check interval (s)","fr":"Intervalle de v\xe9rification des cam\xe9ras sur batterie (s)"},"description":{"en":"How often a battery or solar camera is contacted to read its level and its detections, independently of your wired cameras. Waking the camera is what costs the battery, and this happens far more often than a capture: at the wired 20s a camera is woken 180 times an hour, which drains a solar model faster than the panel refills it. Raise it if your camera keeps losing charge overnight.","fr":"Fr\xe9quence \xe0 laquelle une cam\xe9ra sur batterie ou solaire est contact\xe9e pour lire son niveau et ses d\xe9tections, ind\xe9pendamment de vos cam\xe9ras filaires. C\'est le r\xe9veil de la cam\xe9ra qui co\xfbte de la batterie, et il a lieu bien plus souvent qu\'une capture : \xe0 20 s, une cam\xe9ra est r\xe9veill\xe9e 180 fois par heure, ce qui vide un mod\xe8le solaire plus vite que le panneau ne le recharge. Augmentez-le si votre cam\xe9ra perd de la charge pendant la nuit."},"required":false,"default":300,"min":20,"max":3600},{"key":"battery_pause_refresh","type":"number","label":{"en":"Pause automatic capture below (%)","fr":"Suspendre la capture automatique sous (%)"},"description":{"en":"Below this level the automatic refresh stops. Opening the camera widget or a doorbell press still captures an image. This level is also the ceiling of the one below: a \\"stop every capture\\" set higher is lowered to it, so that the on-demand band does not vanish.","fr":"Sous ce niveau, le rafra\xeechissement automatique s\'arr\xeate. Ouvrir le widget de la cam\xe9ra ou un appui sonnette capture toujours une image. Ce niveau plafonne aussi le suivant : un \xab bloquer toute capture \xbb r\xe9gl\xe9 plus haut est ramen\xe9 \xe0 cette valeur, pour que la plage \xe0 la demande ne disparaisse pas."},"required":false,"default":60,"min":0,"max":100},{"key":"battery_stop_all","type":"number","label":{"en":"Stop every capture below (%)","fr":"Bloquer toute capture sous (%)"},"description":{"en":"Below this level no image is captured at all, not even on request. Motion detection stops here too, and so does the privacy mode: the camera is only woken every 15 minutes for its battery level, which is what tells when it has recharged. Capture resumes a few points above this level, so a camera sitting right on it does not flip back and forth.","fr":"Sous ce niveau, plus aucune image n\'est captur\xe9e, m\xeame \xe0 la demande. La d\xe9tection de mouvement s\'arr\xeate aussi, ainsi que le mode priv\xe9 : la cam\xe9ra n\'est plus r\xe9veill\xe9e que toutes les 15 minutes pour lire son niveau, ce qui permet de savoir quand elle est recharg\xe9e. La reprise se fait quelques points au-dessus de ce niveau, pour qu\'une cam\xe9ra pos\xe9e dessus ne bascule pas sans arr\xeat."},"required":false,"default":40,"min":0,"max":100},{"key":"battery_resume","type":"number","label":{"en":"Resume automatic capture at (%)","fr":"Reprendre la capture automatique \xe0 (%)"},"description":{"en":"Once a camera has been paused, it stays paused until it reaches this level \u2014 deliberately well above the pause limit, so it does not immediately fall back into the drain it was pulled out of. Avoid 100%: a solar camera charges in bursts and rarely reads exactly full, which would keep it paused for good.","fr":"Une fois une cam\xe9ra mise en pause, elle le reste jusqu\'\xe0 ce niveau \u2014 volontairement bien au-dessus de la limite de pause, pour qu\'elle ne retombe pas aussit\xf4t dans la d\xe9charge dont elle vient de sortir. \xc9vitez 100 % : une cam\xe9ra solaire se recharge par \xe0-coups et atteint rarement le plein exact, ce qui la laisserait en pause ind\xe9finiment."},"required":false,"default":80,"min":0,"max":100}],"stars":0,"pushed_at":"2026-09-02T18:06:25Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"tp-link-kasa","store_slug":"cicoub13/gladys-tp-link","repo_url":"https://github.com/cicoub13/gladys-tp-link","name":"TP-Link Kasa","type":"device","version":"1.2.2","description":{"en":"Control your TP-Link Kasa smart plugs, switches and bulbs over your local network.","fr":"Contr\xf4lez vos prises, interrupteurs et ampoules TP-Link Kasa sur votre r\xe9seau local."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/cicoub13--gladys-tp-link.png","docker_image":"ghcr.io/cicoub13/gladys-tp-link:1.2.2","gladys_version":">=4.84.0","config_schema":[{"key":"poll_frequency","type":"select","label":{"en":"Refresh interval","fr":"Intervalle de rafra\xeechissement"},"description":{"en":"How often each device is polled to refresh its state.","fr":"Fr\xe9quence d\'interrogation de chaque appareil pour rafra\xeechir son \xe9tat."},"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"}}]}],"stars":0,"pushed_at":"2026-08-14T13:43:45Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/1773153?v=4"},{"slug":"transports-en-commun-lyonnais","store_slug":"prohand/gladys-transport-commun-lyonnais","repo_url":"https://github.com/prohand/gladys-transport-commun-lyonnais","name":"Transports en Commun Lyonnais","type":"device","version":"1.0.4","description":{"en":"Next TCL departures, V\xe9lo\'v availability and park & ride occupancy in Lyon.","fr":"Prochains passages TCL, disponibilit\xe9s V\xe9lo\'v et places en parcs relais \xe0 Lyon."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-transport-commun-lyonnais.png","docker_image":"ghcr.io/prohand/gladys-transport-commun-lyonnais:1.0.4","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"This integration creates one read-only device per transit stop, V\xe9lo\'v station and park & ride you list below. V\xe9lo\'v works out of the box (open GBFS feed). Transit stops and park & ride read the TCL real-time datasets on Data Grand Lyon, which need a free account.","fr":"Cette int\xe9gration cr\xe9e un appareil en lecture seule par arr\xeat, station V\xe9lo\'v et parc relais list\xe9 ci-dessous. V\xe9lo\'v fonctionne sans rien configurer (flux GBFS ouvert). Les arr\xeats et les parcs relais lisent les jeux de donn\xe9es temps r\xe9el TCL sur Data Grand Lyon, qui n\xe9cessitent un compte gratuit."},"links":[{"url":"https://data.grandlyon.com/portail/fr/jeux-de-donnees/prochains-passages-reseau-transports-commun-lyonnais-rhonexpress-disponibilites-temps-reel/info","label":{"en":"TCL real-time departures dataset","fr":"Jeu de donn\xe9es prochains passages TCL"}},{"url":"https://data.grandlyon.com/portail/fr/jeux-de-donnees/parcs-relais-reseau-transports-commun-lyonnais-disponibilites-temps-reel/info","label":{"en":"TCL park & ride dataset","fr":"Jeu de donn\xe9es parcs relais TCL"}},{"url":"https://transport.data.gouv.fr/datasets/velos-libre-service-lyon-velov-disponibilite-en-temps-reel","label":{"en":"V\xe9lo\'v GBFS feed","fr":"Flux GBFS V\xe9lo\'v"}}
1]},{"key":"account","type":"section","label":{"en":"Data Grand Lyon account","fr":"Compte Data Grand Lyon"},"description":{"en":"You sign in on data.grandlyon.com with GrandLyon Connect, but the API needs a separate password that you set on the data platform itself. If its profile page asks for an old password you never had, log out of the portal and use its forgotten-password link. Leave both fields empty if you only watch V\xe9lo\'v stations.","fr":"Vous vous connectez \xe0 data.grandlyon.com avec GrandLyon Connect, mais l\'API exige un mot de passe distinct, \xe0 d\xe9finir sur la plateforme de donn\xe9es. Si sa page de profil r\xe9clame un ancien mot de passe que vous n\'avez jamais eu, d\xe9connectez-vous du portail et utilisez son lien \xab Mot de passe oubli\xe9 ? \xbb. Laissez les deux champs vides si vous ne surveillez que des stations V\xe9lo\'v."},"links":[{"url":"https://moncompte.grandlyon.com/login/","label":{"en":"Create a GrandLyon Connect account","fr":"Cr\xe9er un compte GrandLyon Connect"}},{"url":"https://data.grandlyon.com/onegeo-login/fr/profile/","label":{"en":"Set the data platform password","fr":"D\xe9finir le mot de passe de la plateforme"}}]},{"key":"grandlyon_username","type":"string","label":{"en":"Data Grand Lyon login","fr":"Identifiant Data Grand Lyon"},"description":{"en":"The login of your data platform account \u2014 in general the email address of your GrandLyon Connect account.","fr":"L\'identifiant de votre compte sur la plateforme de donn\xe9es \u2014 en g\xe9n\xe9ral l\'adresse email de votre compte GrandLyon Connect."},"required":false,"placeholder":{"en":"[email protected]","fr":"[email protected]"}},{"key":"grandlyon_password","type":"secret","label":{"en":"Data platform password","fr":"Mot de passe de la plateforme"},"description":{"en":"The password you defined on data.grandlyon.com/onegeo-login/fr/profile/, NOT your GrandLyon Connect password.","fr":"Le mot de passe d\xe9fini sur data.grandlyon.com/onegeo-login/fr/profile/, PAS votre mot de passe GrandLyon Connect."},"required":false},{"key":"watch","type":"section","label":{"en":"What to watch","fr":"Ce que vous voulez surveiller"},"description":{"en":"Separate entries with commas or newlines. Use the buttons at the bottom of this screen to look up the identifiers without leaving Gladys.","fr":"S\xe9parez les entr\xe9es par des virgules ou des retours \xe0 la ligne. Utilisez les boutons en bas de cet \xe9cran pour retrouver les identifiants sans quitter Gladys."}},{"key":"stops","type":"string","label":{"en":"Transit stops","fr":"Arr\xeats"},"description":{"en":"Stop identifiers. Optional line filter after @ and custom name after : \u2014 e.g. \\"1234, 5678@T1:Tram at home, 4321@C3|C13\\".","fr":"Identifiants d\'arr\xeat. Filtre de lignes optionnel apr\xe8s @ et nom personnalis\xe9 apr\xe8s : \u2014 ex. \xab 1234, 5678@T1:Tram en bas, 4321@C3|C13 \xbb."},"required":false,"placeholder":{"en":"1234, 5678@T1:Tram at home","fr":"1234, 5678@T1:Tram en bas"}},{"key":"velov_stations","type":"string","label":{"en":"V\xe9lo\'v stations","fr":"Stations V\xe9lo\'v"},"description":{"en":"Station identifiers or names, with an optional custom name after : \u2014 e.g. \\"10063, Hotel de Ville:Work\\".","fr":"Identifiants ou noms de stations, avec un nom personnalis\xe9 optionnel apr\xe8s : \u2014 ex. \xab 10063, Hotel de Ville:Bureau \xbb."},"required":false,"placeholder":{"en":"10063, Hotel de Ville:Work","fr":"10063, Hotel de Ville:Bureau"}},{"key":"park_and_ride","type":"string","label":{"en":"Park & ride (P+R)","fr":"Parcs relais (P+R)"},"description":{"en":"Park & ride identifiers or names, with an optional custom name after : \u2014 e.g. \\"Gorge de Loup, Parilly:Commute\\".","fr":"Identifiants ou noms de parcs relais, avec un nom personnalis\xe9 optionnel apr\xe8s : \u2014 ex. \xab Gorge de Loup, Parilly:Trajet boulot \xbb."},"required":false,"placeholder":{"en":"Gorge de Loup, Parilly:Commute","fr":"Gorge de Loup, Parilly:Trajet boulot"}},{"key":"refresh","type":"section","label":{"en":"Refresh intervals","fr":"Fr\xe9quences de rafra\xeechissement"},"description":{"en":"Each device is refreshed by Gladys at its own interval. The upstream feeds are recomputed about once a minute, so polling faster only costs requests.","fr":"Chaque appareil est rafra\xeechi par Gladys \xe0 son propre intervalle. Les flux sources sont recalcul\xe9s environ toutes les minutes : interroger plus souvent ne fait que consommer des requ\xeates."}},{"key":"departures_poll_frequency","type":"number","label":{"en":"Departures refresh interval (s)","fr":"Rafra\xeechissement des passages (s)"},"description":{"en":"How often the next departures of each watched stop are refreshed, in seconds.","fr":"Fr\xe9quence de rafra\xeechissement des proch
1ains passages de chaque arr\xeat surveill\xe9, en secondes."},"required":false,"default":60,"min":30,"max":3600},{"key":"velov_poll_frequency","type":"number","label":{"en":"V\xe9lo\'v refresh interval (s)","fr":"Rafra\xeechissement V\xe9lo\'v (s)"},"description":{"en":"How often bike and dock availability is refreshed, in seconds.","fr":"Fr\xe9quence de rafra\xeechissement des v\xe9los et places disponibles, en secondes."},"required":false,"default":120,"min":30,"max":3600},{"key":"park_and_ride_poll_frequency","type":"number","label":{"en":"Park & ride refresh interval (s)","fr":"Rafra\xeechissement parcs relais (s)"},"description":{"en":"How often park & ride occupancy is refreshed, in seconds.","fr":"Fr\xe9quence de rafra\xeechissement de l\'occupation des parcs relais, en secondes."},"required":false,"default":300,"min":30,"max":3600},{"key":"max_departures","type":"number","label":{"en":"Departures per stop","fr":"Passages par arr\xeat"},"description":{"en":"How many upcoming departures each stop device exposes as features.","fr":"Nombre de prochains passages expos\xe9s en fonctionnalit\xe9s par arr\xeat."},"required":false,"default":3,"min":1,"max":5}],"stars":0,"pushed_at":"2026-09-04T12:00:35Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"tuya","store_slug":"Terdious/gladys-tuya","repo_url":"https://github.com/Terdious/gladys-tuya","name":"Tuya","type":"device","version":"1.15.0","description":{"en":"Tuya / Smart Life sockets, meters, ACs, heaters, cameras, doorbells, feeders, vacuums (cloud + LAN).","fr":"Prises, compteurs, clims, fil pilote, cam\xe9ras, sonnettes, aspirateurs Tuya / Smart Life (cloud+LAN)."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Terdious--gladys-tuya.png","docker_image":"ghcr.io/terdious/gladys-tuya:1.15.0","gladys_version":">=4.86.1","config_schema":[{"key":"cloud_intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"This integration talks to your devices through a Tuya IoT Cloud project. Create one (free) on the Tuya IoT Platform, subscribe the \\"IoT Core\\" service, link your Smart Life / Tuya app account, then copy the four values below. The full step-by-step is in the Documentation link above.","fr":"Cette int\xe9gration communique avec vos appareils via un projet Tuya IoT Cloud. Cr\xe9ez-en un (gratuit) sur la Tuya IoT Platform, souscrivez au service \\"IoT Core\\", liez votre compte de l\'application Smart Life / Tuya, puis reportez les quatre valeurs ci-dessous. Le pas \xe0 pas complet est dans le lien Documentation ci-dessus."},"links":[{"url":"https://iot.tuya.com/","label":{"en":"Tuya IoT Platform","fr":"Tuya IoT Platform"}}]},{"key":"endpoint","type":"select","label":{"en":"Endpoint","fr":"Endpoint"},"description":{"en":"Tuya data center region of your cloud project.","fr":"R\xe9gion 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\xe9 \xe0 votre projet cloud."},"required":true},{"key":"pulsar_intro","type":"section","label":{"en":"Real-time cloud events (optional)","fr":"\xc9v\xe9nements cloud en temps r\xe9el (optionnel)"},"description":{"en":"For devices used over the cloud, Gladys can receive their state changes instantly instead of waiting for the next poll. This needs the \\"Message Service\\" subscribed on your Tuya IoT project, then the toggle below turned on. Devices already controlled locally already get instant feedback and do not need this.","fr":"Pour les appareils utilis\xe9s via le cloud, Gladys peut recevoir leurs changements d\'\xe9tat instantan\xe9ment au lieu d\'attendre le prochain relev\xe9. Cela n\xe9cessite d\'avoir souscrit au \\"Message Service\\" sur votre projet Tuya IoT, puis d\'activer l\'option ci-dessous. Les appareils d\xe9j\xe0 pilot\xe9s en local ont d\xe9j\xe0 un retour instantan\xe9 et n\'en ont pas besoin."},"links":[{"url":"https://iot.tuya.com/","label":{"en":"Tuya IoT Platform","fr":"Tuya IoT Platform"}}]},{"key":"pulsar_enabled","type":"boolean","label":{"en":"Real-time cloud events (Pulsar)","fr":"\xc9v\xe9nements cloud en temps r\xe9el (Pulsar)"},"description":{"en":"Instant cloud state feedback via the Tuya Message Service. Requires \'Message Service\' enabled on your Tuya IoT project.","fr":"Retour d\'\xe9tat cloud instantan\xe9 via le Tuya Message Service. N\xe9cessite \'Message Service\' activ\xe9 sur votre projet Tuya IoT."},"required":false}],"stars":0,"pushed_at":"2026-09-05T07:29:03Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/35010958?v=4"},{"slug":"upnp-igd","store_slug":"callemand/gladys-upnp-igd","repo_url":"https://github.com/callemand/gladys-upnp-igd","name":"UPnP / IGD","type":"device","version":"1.0.0","description":{"en":"Expose your internet box WAN link state and traffic counters over UPnP/IGD.","fr":"Exposez l\'\xe9tat du lien WAN et les compteurs de trafic de votre box via UPnP/IGD."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-upnp-igd.png","docker_image":"ghcr.io/callemand/gladys-upnp-igd:1.0.0","gladys_version":">=4.84.0","config_schema":[{"key":"description_url","type":"string","label":{"en":"Box description URL (optional)","fr":"URL de description de la box (optionnel)"},"placeholder":{"en":"http://192.168.1.1:5000/rootDesc.xml","fr":"http://192.168.1.1:5000/rootDesc.xml"},"description":{"en":"Only needed if automatic discovery finds nothing: the UPnP device description URL of your box.","fr":"N\xe9cessaire uniquement si la d\xe9couverte automatique ne trouve rien : l\'URL de description UPnP de votre box."},"required":false}],"stars":0,"pushed_at":"2026-07-29T06:20:42Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"xiaomi-home","store_slug":"callemand/gladys-xiaomi-home","repo_url":"https://github.com/callemand/gladys-xiaomi-home","name":"Xiaomi Home","type":"device","version":"1.2.0","description":{"en":"Robot vacuums paired in the Xiaomi Home app: state, start/stop, fan power, dock, battery.","fr":"Aspirateurs robots de l\'application Xiaomi Home : \xe9tat, marche/arr\xeat, aspiration, base, batterie."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/callemand--gladys-xiaomi-home.jpg","docker_image":"ghcr.io/callemand/gladys-xiaomi-home:1.2.0","gladys_version":">=4.86.0","config_schema":[{"key":"xiaomi_account","type":"oauth2","label":{"en":"Xiaomi account","fr":"Compte Xiaomi"},"description":{"en":"Click Connect and approve the sign-in on the Xiaomi page that opens. Your robot vacuums are then detected automatically \u2014 there is nothing else to fill in.","fr":"Cliquez sur Connecter et validez la connexion sur la page Xiaomi qui s\'ouvre.
1Vos aspirateurs robots sont ensuite d\xe9tect\xe9s automatiquement \u2014 il n\'y a rien d\'autre \xe0 renseigner."}}],"stars":0,"pushed_at":"2026-08-16T19:07:51Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11317212?v=4"},{"slug":"yeelight","store_slug":"William-De71/gladys-yeelight","repo_url":"https://github.com/William-De71/gladys-yeelight","name":"Yeelight","type":"device","version":"1.2.1","description":{"en":"Control your Yeelight Wi-Fi lights locally: on/off, brightness, color.","fr":"Pilotez vos lampes Yeelight en Wi-Fi localement : on/off, luminosit\xe9, couleur."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/William-De71--gladys-yeelight.jpg","docker_image":"ghcr.io/william-de71/gladys-yeelight:1.2.1","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"This integration talks to your Yeelight lights on your local network, with no cloud account involved.\\n\\nOne thing to do first: in the Yeelight app, open each light and enable \\"LAN Control\\" (Settings \u2192 LAN Control). A light without it refuses every local command and will not be found. Then go to the Discover screen and run a scan: your lights appear there, ready to be added. No IP address to type.","fr":"Cette int\xe9gration communique avec vos lampes Yeelight sur votre r\xe9seau local, sans passer par un compte cloud.\\n\\nUne chose \xe0 faire avant tout : dans l\'application Yeelight, ouvrez chaque lampe et activez \xab Contr\xf4le LAN \xbb (R\xe9glages \u2192 Contr\xf4le LAN). Une lampe sans cette option refuse toute commande locale et ne sera pas trouv\xe9e. Allez ensuite dans l\'\xe9cran D\xe9couverte et lancez un scan : vos lampes y apparaissent, pr\xeates \xe0 \xeatre ajout\xe9es. Aucune adresse IP \xe0 saisir."},"links":[{"url":"https://www.yeelight.com/","label":{"en":"Yeelight website","fr":"Site Yeelight"}}]},{"key":"transition_duration","type":"number","label":{"en":"Transition duration (ms)","fr":"Dur\xe9e de transition (ms)"},"description":{"en":"How long a light takes to fade to its new state. Set 0 for an instant change.","fr":"Temps que met une lampe pour passer \xe0 son nouvel \xe9tat en fondu. Mettez 0 pour un changement instantan\xe9."},"required":false,"default":500,"min":0,"max":5000},{"key":"advanced","type":"section","label":{"en":"Lights not found by the scan","fr":"Lampes non trouv\xe9es par le scan"},"description":{"en":"Fill the field below if a light is not found by the network scan. The most common reason: your lights sit on another subnet or VLAN than Gladys \u2014 the discovery broadcast does not cross a router, so the scan cannot reach them, while control itself works fine. Raising the discovery duration does not help in that case.","fr":"Remplissez le champ ci-dessous si une lampe n\'est pas trouv\xe9e par le scan r\xe9seau. La raison la plus courante : vos lampes sont sur un autre sous-r\xe9seau ou VLAN que Gladys \u2014 le broadcast de d\xe9couverte ne franchit pas un routeur, donc le scan ne peut pas les atteindre, alors que le pilotage fonctionne. Augmenter la dur\xe9e de d\xe9couverte n\'y change rien."}},{"key":"bulbs","type":"string","label":{"en":"Lights added by hand","fr":"Lampes ajout\xe9es \xe0 la main"},"description":{"en":"One address per light (`192.168.1.42`, or `192.168.1.42:55443`), separated by a comma. Give these lights a fixed address in your router: unlike a light found by the scan, one added by hand is identified by its address, and a new DHCP lease would make Gladys see it as a different light.","fr":"Une adresse par lampe (`192.168.1.42`, ou `192.168.1.42:55443`), s\xe9par\xe9es par une virgule. Donnez \xe0 ces lampes une adresse fixe dans votre routeur : contrairement \xe0 une lampe trouv\xe9e par le scan, une lampe ajout\xe9e \xe0 la main est identifi\xe9e par son adresse, et un nouveau bail DHCP ferait voir \xe0 Gladys une lampe diff\xe9rente."},"placeholder":{"en":"192.168.1.42, 192.168.1.43:55443","fr":"192.168.1.42, 192.168.1.43:55443"},"required":false},{"key":"scan_duration","type":"number","label":{"en":"Discovery duration (s)","fr":"Dur\xe9e de la d\xe9couverte (s)"},"description":{"en":"How long the scan listens for lights answering on the network. Only useful on a busy network: it cannot help if your lights are on another subnet.","fr":"Dur\xe9e pendant laquelle le scan \xe9coute les lampes qui r\xe9pondent sur le r\xe9seau. Utile seulement si votre r\xe9seau est charg\xe9 : cela ne peut rien si vos lampes sont sur un autre sous-r\xe9seau."},"required":false,"default":5,"min":3,"max":30}],"stars":0,"pushed_at":"2026-08-24T09:47:09Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/11477113?v=4"},{"slug":"yoto","store_slug":"prohand/gladys-yoto","repo_url":"https://github.com/prohand/gladys-yoto","name":"Yoto","type":"device","version":"1.1.1","description":{"en":"Monitor your Yoto players: battery, charge, volume, playing card, ambient light and Wi-Fi signal.","fr":"Supervisez vos lecteurs Yoto : batterie, charge, volume, carte en cours, luminosit\xe9 et signal Wi-Fi."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-yoto.png","docker_image":"ghcr.io/prohand/gladys-yoto:1.1.1","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"Create a free app on the Yoto developer dashboard as a public client, paste its Client ID below, save, then click Connect: Yoto opens its sign-in page and redirects back to Gladys. Enable the scopes family:devices:view, family:devices:control, family:library:view and offline_access, and allow the Gladys callback URL logged by the integration when you click Connect.","fr":"Cr\xe9ez une application gratuite sur le portail d\xe9veloppeur Yoto en client public, collez son Client ID ci-dessous, enregistrez, puis cliquez sur Connecter : Yoto ouvre sa page de connexion puis renvoie vers Gladys. Activez les scopes family:devices:view, family:devices:control, family:library:view et offline_access, et autorisez l\'URL de rappel Gladys que l\'
1int\xe9gration affiche dans ses logs au clic sur Connecter."},"links":[{"url":"https://dashboard.yoto.dev/","label":{"en":"Yoto developer dashboard","fr":"Portail d\xe9veloppeur Yoto"}},{"url":"https://yoto.dev/authentication/auth/","label":{"en":"Yoto authentication guide","fr":"Guide d\'authentification Yoto"}}]},{"key":"client_id","type":"string","label":{"en":"Yoto Client ID","fr":"Client ID Yoto"},"description":{"en":"Client ID of your Yoto app (public client, authorization code flow with PKCE).","fr":"Client ID de votre application Yoto (client public, flux authorization code avec PKCE)."},"required":true},{"key":"account","type":"oauth2","label":{"en":"Yoto account","fr":"Compte Yoto"},"description":{"en":"Click Connect, sign in on the Yoto page, and you are redirected back here. The link stays valid: the integration refreshes its token on its own.","fr":"Cliquez sur Connecter, identifiez-vous sur la page Yoto, vous \xeates ensuite redirig\xe9 ici. La liaison reste valide : l\'int\xe9gration renouvelle son jeton toute seule."},"required":true},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often each player is polled, in seconds. The Yoto API is a cloud API: stay above 60 s unless you really need more. Gladys schedules on fixed ticks (60 s at the slowest), so a value between 30 and 59 s is served by the 30 s tick and a longer one is honoured by the integration itself.","fr":"Fr\xe9quence d\'interrogation de chaque lecteur, en secondes. L\'API Yoto est une API cloud : restez au-dessus de 60 s sauf besoin r\xe9el. Gladys planifie sur des cadences fixes (60 s au plus lent) : une valeur entre 30 et 59 s passe par la cadence 30 s, une valeur plus longue est respect\xe9e par l\'int\xe9gration elle-m\xeame."},"required":false,"default":120,"min":30,"max":3600},{"key":"request_status_push","type":"boolean","label":{"en":"Ask the player to refresh before reading","fr":"Demander au lecteur de se rafra\xeechir avant lecture"},"description":{"en":"Sends a status request to the player before each poll, so the values read are fresh instead of the last ones it reported. Requires the family:devices:control scope.","fr":"Envoie une demande de statut au lecteur avant chaque interrogation, pour lire des valeurs fra\xeeches plut\xf4t que les derni\xe8res remont\xe9es. N\xe9cessite le scope family:devices:control."},"required":false,"default":true}],"stars":0,"pushed_at":"2026-09-02T18:26:16Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"z-wave-js-ui","store_slug":"sescandell/gladys-zwavejs","repo_url":"https://github.com/sescandell/gladys-zwavejs","name":"Z-Wave JS UI","type":"device","version":"1.8.0","de
1scription":{"en":"Control your Z-Wave network in Gladys through Z-Wave JS UI and MQTT.","fr":"Pilotez votre r\xe9seau Z-Wave dans Gladys via Z-Wave JS UI et MQTT."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/sescandell--gladys-zwavejs.png","docker_image":"ghcr.io/sescandell/gladys-zwavejs:1.8.0","gladys_version":">=4.85.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Before you start","fr":"Avant de commencer"},"description":{"en":"This integration does not talk to your Z-Wave controller directly: it connects to a running Z-Wave JS UI through your MQTT broker. Install Z-Wave JS UI first, enable its MQTT gateway, and make sure both are reachable from Gladys.","fr":"Cette int\xe9gration ne parle pas directement \xe0 votre contr\xf4leur Z-Wave : elle se connecte \xe0 un Z-Wave JS UI existant via votre broker MQTT. Installez d\'abord Z-Wave JS UI, activez sa passerelle MQTT, et assurez-vous que les deux sont joignables depuis Gladys."},"links":[{"url":"https://zwave-js.github.io/zwave-js-ui/#/getting-started/quick-start","label":{"en":"Install Z-Wave JS UI","fr":"Installer Z-Wave JS UI"}},{"url":"https://zwave-js.github.io/zwave-js-ui/#/guide/mqtt","label":{"en":"Z-Wave JS UI MQTT gateway","fr":"Passerelle MQTT de Z-Wave JS UI"}}]},{"key":"zwavejs_ui_setup","type":"section","label":{"en":"Configure Z-Wave JS UI","fr":"Configurer Z-Wave JS UI"},"description":{"en":"In the Z-Wave JS UI settings, MQTT section: set \\"Name\\" to zwave-js-ui and leave \\"Prefix\\" at zwave \u2014 the integration expects those exact values to build its topics. Then, in the Gateway section, set \\"Topic type\\" to Named topics and \\"Payload type\\" to Entire Z-Wave value Object, and enable Send Z-Wave events, Include Node info and Publish node details. Without these, no device state ever reaches Gladys. The two screenshots below show the expected settings.","fr":"Dans les r\xe9glages de Z-Wave JS UI, section MQTT : mettez \xab Name \xbb \xe0 zwave-js-ui et laissez \xab Prefix \xbb \xe0 zwave \u2014 l\'int\xe9gration attend exactement ces valeurs pour construire ses topics. Puis, dans la section Gateway, mettez \xab Topic type \xbb \xe0 Named topics et \xab Payload type \xbb \xe0 Entire Z-Wave value Object, et activez Send Z-Wave events, Include Node info et Publish node details. Sans cela, aucun \xe9tat d\'appareil n\'arrivera jusqu\'\xe0 Gladys. Les deux captures ci-dessous montrent les r\xe9glages attendus."},"links":[{"url":"https://raw.githubusercontent.com/Sescandell/gladys-zwavejs/master/docs/images/zwavejs-ui-mqtt-configuration.jpg","label":{"en":"Screenshot: MQTT section","fr":"Capture : section MQTT"}},{"url":"https://raw.githubusercontent.com/Sescandell/gladys-zwavejs/master/docs/images/zwavejs-ui-gateway-configuration.jpg","label":{"en":"Screenshot: Gateway section","fr":"Capture : section Gateway"}}]},{"key":"mqtt_url","type":"string","required":true,"label":{"en":"MQTT broker URL","fr":"URL du broker MQTT"},"description":{"en":"Address of the broker Z-Wave JS UI publishes to, protocol included.","fr":"Adresse du broker sur lequel Z-Wave JS UI publie, protocole inclus."},"placeholder":{"en":"mqtt://172.30.0.1:1884","fr":"mqtt://172.30.0.1:1884"}},{"key":"mqtt_username","type":"string","label":{"en":"MQTT username","fr":"Utilisateur MQTT"},"description":{"en":"Leave empty if your broker accepts anonymous connections.","fr":"Laissez vide si votre broker accepte les connexions anonymes."}},{"key":"mqtt_password","type":"secret","label":{"en":"MQTT password","fr":"Mot de passe MQTT"}}],"stars":0,"pushed_at":"2026-08-30T20:01:37Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/1559970?v=4"},{"slug":"z2m-devices-monitor","store_slug":"prohand/gladys-z2m-devices-monitor","repo_url":"https://github.com/prohand/gladys-z2m-devices-monitor","name":"Z2M Devices Monitor","type":"device","version":"1.0.5","description":{"en":"Alerts you when a Zigbee2MQTT device stops giving signs of life.","fr":"Vous alerte quand un appareil Zigbee2MQTT ne donne plus signe de vie."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/prohand--gladys-z2m-devices-monitor.jpg","docker_image":"ghcr.io/prohand/gladys-z2m-devices-monitor:1.0.5","gladys_version":">=4.86.0","config_schema":[{"key":"intro","type":"section","label":{"en":"How it works","fr":"Comment \xe7a marche"},"description":{"en":"A Zigbee device that is alive talks. This integration listens to everything Zigbee2MQTT publishes, remembers when each device last spoke, and flags the ones that have been silent for too long. It never uses the battery level: a Zigbee battery percentage is a coarse estimate that often reads 100% right up to the day the sensor stops answering.","fr":"Un appareil Zigbee vivant parle. Cette int\xe9gration \xe9coute tout ce que publie Zigbee2MQTT, m\xe9morise la derni\xe8re fois que chaque appareil s\'est manifest\xe9, et signale ceux qui se taisent depuis trop longtemps. Elle n\'utilise jamais le niveau de batterie : un pourcentage de batterie Zigbee est une estimation grossi\xe8re, souvent \xe0 100% jusqu\'au jour o\xf9 le capteur cesse de r\xe9pondre."},"links":[{"url":"https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html","label":{"en":"Zigbee2MQTT MQTT topics","fr":"Topics MQTT de Zigbee2MQTT"}}]},{"key":"broker","type":"section","label":{"en":"MQTT broker","fr":"Broker MQTT"},"description":{"en":"The same broker Zigbee2MQTT publishes on. The integration only ever subscribes: it never publishes anything to your Zigbee network. These values have to be typed in here: an integration runs in its own sandbox and Gladys never hands it the settings of another integration. If Gladys installed Zigbee2MQTT for you, copy them from the Zigbee2MQTT integration, Setup tab, \\"External tools connection\\" block \u2014 and replace localhost in the URL with the IP address of your Gladys machine.","fr":"Le m\xeame broker que celui utilis\xe9 par Zigbee2MQTT. L\'int\xe9gration ne fait que s\'abonner : elle ne publie jamais rien sur votre r\xe9seau Zigbee. Ces valeurs doivent \xeatre saisies ici : une int\xe9gration tourne dans son propre bac \xe0 sable et Gladys ne lui communique jamais les r\xe9glages d\'une autre int\xe9gration. Si c\'est Gladys qui a install\xe9 Zigbee2MQTT, recopiez-les depuis l\'int\xe9gration Zigbee2MQTT, onglet Configuration, bloc \xab Connexion pour outils externes \xbb \u2014 en rempla\xe7ant localhost dans l\'URL par l\'adresse IP de votre machine Gladys."}},{"key":"mqtt_url","type":"string","label":{"en":"Broker URL","fr":"URL du broker"},"description":{"en":"Address of the MQTT broker, e.g. mqtt://192.168.1.10:1883 (mqtts:// and ws:// are supported too). If you leave the scheme out, mqtt:// is assumed.","fr":"Adresse du broker MQTT, par exemple mqtt://192.168.1.10:1883 (mqtts:// et ws:// sont aussi accept\xe9s). Si vous omettez le sch\xe9ma, mqtt
1:// est ajout\xe9."},"placeholder":{"en":"mqtt://192.168.1.10:1883","fr":"mqtt://192.168.1.10:1883"},"required":true,"default":"mqtt://localhost:1883"},{"key":"mqtt_username","type":"string","label":{"en":"Username","fr":"Nom d\'utilisateur"},"description":{"en":"Leave empty if your broker allows anonymous connections.","fr":"Laissez vide si votre broker accepte les connexions anonymes."},"required":false,"default":""},{"key":"mqtt_password","type":"secret","label":{"en":"Password","fr":"Mot de passe"},"required":false},{"key":"base_topic","type":"string","label":{"en":"Base topic","fr":"Topic de base"},"description":{"en":"The base topic configured in Zigbee2MQTT (mqtt.base_topic).","fr":"Le topic de base configur\xe9 dans Zigbee2MQTT (mqtt.base_topic)."},"placeholder":{"en":"zigbee2mqtt","fr":"zigbee2mqtt"},"required":true,"default":"zigbee2mqtt"},{"key":"thresholds","type":"section","label":{"en":"Silence thresholds","fr":"Seuils de silence"},"description":{"en":"A device is declared dead once it has been silent for longer than its threshold. Battery sensors report far less often than mains-powered devices, hence two separate defaults. Start generous: it is better to be alerted a few hours late than to be woken up by a false alarm.","fr":"Un appareil est d\xe9clar\xe9 mort d\xe8s qu\'il se tait depuis plus longtemps que son seuil. Les capteurs sur pile parlent bien moins souvent que les appareils sur secteur, d\'o\xf9 deux valeurs par d\xe9faut distinctes. Commencez large : mieux vaut \xeatre alert\xe9 quelques heures trop tard que r\xe9veill\xe9 par une fausse alerte."}},{"key":"default_timeout_minutes","type":"number","label":{"en":"Threshold for mains-powered devices (min)","fr":"Seuil pour les appareils sur secteur (min)"},"description":{"en":"Applies to plugs, bulbs and routers, which report often.","fr":"S\'applique aux prises, ampoules et routeurs, qui parlent souvent."},"required":false,"default":120,"min":5,"max":20160},{"key":"battery_timeout_minutes","type":"number","label":{"en":"Threshold for battery devices (min)","fr":"Seuil pour les appareils sur pile (min)"},"description":{"en":"Applies to battery sensors, which sleep most of the time. 1440 minutes is 24 hours.","fr":"S\'applique aux capteurs sur pile, qui dorment la plupart du temps. 1440 minutes valent 24 heures."},"required":false,"default":1440,"min":5,"max":20160},{"key":"custom_timeouts","type":"string","label":{"en":"Per-device thresholds","fr":"Seuils par appareil"},"description":{"en":"One device=minutes pair per line or separated by commas. The device is designated by its Zigbee2MQTT friendly name or its IEEE address. Example: mailbox sensor=4320, 0x00158d0001abcdef=60","fr":"Une paire appareil=minutes par ligne ou s\xe9par\xe9es par des virgules. L\'appareil est d\xe9sign\xe9 par son nom convivial Zigbee2MQTT ou son adresse IEEE. Exemple : capteur boite aux lettres=4320, 0x00158d0001abcdef=60"},"placeholder":{"en":"mailbox sensor=4320, garage motion=180","fr":"capteur boite aux lettres=4320, mouvement garage=180"},"required":false,"default":""},{"key":"naming","type":"section","label":{"en":"Device naming","fr":"Nommage des appareils"},"description":{"en":"Gladys most likely already knows these devices under their Zigbee2MQTT name, through its own Zigbee2MQTT integration. Without a suffix, a scene picker shows the same name twice with no way to tell which is which.","fr":"Gladys conna\xeet tr\xe8s probablement d\xe9j\xe0 ces appareils sous leur nom Zigbee2MQTT, via sa propre int\xe9gration Zigbee2MQTT. Sans suffixe, un s\xe9lecteur de sc\xe8ne affiche deux fois le m\xeame nom sans moyen de les distinguer."}},{"key":"device_name_suffix","type":"string","label":{"en":"Suffix added to device names","fr":"Suffixe ajout\xe9 aux noms d\'appareils"},"description":{"en":"Appended to the Zigbee2MQTT name of each watched device, e.g. \\"office plug (monitor)\\". Leave empty to keep the raw name. Only affects the devices you create afterwards: Gladys never renames a device you already added.","fr":"Ajout\xe9 au nom Zigbee2MQTT de chaque appareil surveill\xe9, par exemple \xab prise bureau
1(monitor) \xbb. Laissez vide pour garder le nom brut. N\'affecte que les appareils cr\xe9\xe9s ensuite : Gladys ne renomme jamais un appareil d\xe9j\xe0 ajout\xe9."},"placeholder":{"en":"(monitor)","fr":"(monitor)"},"required":false,"default":"(monitor)"},{"key":"summary_device","type":"section","label":{"en":"Zigbee2MQTT monitor device","fr":"Appareil Zigbee2MQTT monitor"},"description":{"en":"The single device summarizing the whole network: how many devices are watched, how many are silent, and the names of the silent ones \u2014 the text a scene notification quotes. It is the one to build your alert on: its counters cover every device Zigbee2MQTT knows about, including the ones you pair later.","fr":"L\'appareil unique qui r\xe9sume tout le r\xe9seau : combien d\'appareils sont surveill\xe9s, combien sont silencieux, et le nom de ceux qui se taisent \u2014 le texte qu\'une notification de sc\xe8ne reprend. C\'est sur lui qu\'il faut b\xe2tir l\'alerte : ses compteurs couvrent tous les appareils connus de Zigbee2MQTT, y compris ceux que vous appairerez plus tard."}},{"key":"no_silent_devices_text","type":"string","label":{"en":"Text shown when no device is silent","fr":"Texte affich\xe9 quand aucun appareil n\'est silencieux"},"description":{"en":"What the \\"Silent device names\\" feature reads while the whole network is answering. Write it in your own language; empty restores the default.","fr":"Ce qu\'affiche la fonctionnalit\xe9 \xab Silent device names \xbb tant que tout le r\xe9seau r\xe9pond. \xc9crivez-le dans votre langue ; vide r\xe9tablit la valeur par d\xe9faut."},"placeholder":{"en":"No silent device","fr":"Aucun appareil silencieux"},"required":false,"default":"No silent device"},{"key":"advanced","type":"section","label":{"en":"Advanced","fr":"Avanc\xe9"}},{"key":"ignored_devices","type":"string","label":{"en":"Devices to ignore","fr":"Appareils \xe0 ignorer"},"description":{"en":"Friendly names or IEEE addresses, separated by commas. Ignored devices are not published to Gladys and never raise an alert.","fr":"Noms conviviaux ou adresses IEEE, s\xe9par\xe9s par des virgules. Les appareils ignor\xe9s ne sont pas publi\xe9s vers Gladys et ne d\xe9clenchent jamais d\'alerte."},"required":false,"default":""},{"key":"monitor_disabled_devices","type":"boolean","label":{"en":"Also watch devices disabled in Zigbee2MQTT","fr":"Surveiller aussi les appareils d\xe9sactiv\xe9s dans Zigbee2MQTT"},"description":{"en":"Off by default: a device you disabled on purpose is expected to be silent.","fr":"D\xe9sactiv\xe9 par d\xe9faut : un appareil que vous avez d\xe9sactiv\xe9 volontairement est cens\xe9 se taire."},"required":false,"default":false},{"key":"check_interval_seconds","type":"number","label":{"en":"Check interval (s)","fr":"Intervalle de v\xe9rification (s)"},"description":{"en":"How often the silence of every device is re-evaluated.","fr":"Fr\xe9quence de r\xe9\xe9valuation du silence de chaque appareil."},"required":false,"default":60,"min":10,"max":3600}],"stars":0,"pushed_at":"2026-08-25T20:29:34Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/20227162?v=4"},{"slug":"zendure","store_slug":"Terdious/gladys-zendure","repo_url":"https://github.com/Terdious/gladys-zendure","name":"Zendure","type":"device","version":"1.2.0","description":{"en":"Connect your Zendure solar batteries (SolarFlow) to Gladys Assistant through the Zendure cloud.","fr":"Connectez vos batteries solaires Zendure (SolarFlow) \xe0 Gladys Assistant via le cloud Zendure."},"cover_url":"https://integration-store-storage.gladysassistant.com/covers/Terdious--gladys-zendure.png","docker_image":"ghcr.io/terdious/gladys-zendure:1.2.0","gladys_version":">=4.62.0","config_schema":[{"key":"intro","type":"section","label":{"en":"Getting started","fr":"Pour commencer"},"description":{"en":"Paste your Zendure cloud authorization key below (generated from the Zendure mobile app). Your SolarFlow / Hyper batteries then appear in the Discovery tab. Optionally enable local MQTT for LAN-speed, offline-resilient telemetry with automatic cloud fallback. The full step-by-step is in the Documentation link above.","fr":"Collez ci-dessous votre cl\xe9 d\'autorisation cloud Zendure (g\xe9n\xe9r\xe9e depuis l\'application mobile Ze
1ndure). Vos batteries SolarFlow / Hyper apparaissent alors dans l\'onglet D\xe9couverte. Activez \xe9ventuellement le MQTT local pour une t\xe9l\xe9m\xe9trie rapide et r\xe9siliente hors-ligne, avec repli cloud automatique. Le pas \xe0 pas complet est dans le lien Documentation ci-dessus."},"links":[{"url":"https://zendure.com","label":{"en":"Zendure website","fr":"Site Zendure"}}]},{"key":"cloud_key","type":"secret","label":{"en":"Zendure cloud authorization key","fr":"Cl\xe9 cloud d\'autorisation Zendure"},"description":{"en":"The authorization key generated from the Zendure mobile app (base64 token used to reach the Zendure cloud API).","fr":"La cl\xe9 d\'autorisation g\xe9n\xe9r\xe9e depuis l\'application mobile Zendure (jeton base64 utilis\xe9 pour joindre l\'API cloud Zendure)."},"required":true},{"key":"poll_frequency","type":"number","label":{"en":"Refresh interval (s)","fr":"Intervalle de rafra\xeechissement (s)"},"description":{"en":"How often device telemetry is polled, in seconds.","fr":"Fr\xe9quence d\'interrogation de la t\xe9l\xe9m\xe9trie des appareils, en secondes."},"required":false,"default":30,"min":10,"max":3600},{"key":"enable_local_mqtt","type":"boolean","label":{"en":"Enable local MQTT (zenSDK)","fr":"Activer le MQTT local (zenSDK)"},"description":{"en":"Read telemetry from the device\'s local MQTT broker when available, instead of the Zendure cloud.","fr":"Lire la t\xe9l\xe9m\xe9trie via le broker MQTT local de l\'appareil quand il est disponible."},"required":false,"default":false}],"stars":0,"pushed_at":"2026-07-24T05:35:48Z","owner_avatar_url":"https://avatars.githubusercontent.com/u/35010958?v=4"}]}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.