Intégration domotique OurGroceries, gratuite et open source

Vos listes de courses partagées OurGroceries dans Gladys : articles, scènes et widget.
Vos listes de courses partagées OurGroceries dans Gladys : les articles encore à acheter sur chaque liste, un widget de tableau de bord pour ajouter et cocher des articles, et des cartes de scène pour mettre « lait » sur la liste d’un appui sur un bouton.
Cette intégration n’est pas affiliée à OurGroceries. Elle a été développée sans compte OurGroceries pour la tester : vos retours sont les bienvenus, sur le forum de Gladys ou dans les issues GitHub.
Ce qu’elle fait
- Un appareil Gladys par liste de courses choisie, avec le nombre d’articles à acheter, le nombre d’articles cochés et la liste elle-même en texte.
- Un widget Liste de courses pour le tableau de bord : les articles à acheter, avec des boutons pour ajouter, cocher et vider.
- Un déclencheur de scène, Article ajouté à une liste de courses, et trois actions de scène : Ajouter à une liste de courses, Cocher un article et Vider les articles cochés.
- Les changements faits dans l’appli OurGroceries arrivent dans Gladys au rafraîchissement suivant (toutes les 5 minutes par défaut).
Prérequis
- Gladys 5.2.0 ou plus récent.
- Un compte OurGroceries avec e-mail et mot de passe. Un compte ouvert avec « Se connecter avec Google » ou « avec Apple » n’a pas de mot de passe : définissez-en un d’abord sur le site d’OurGroceries.
- Un accès à Internet depuis Gladys : l’intégration parle aux serveurs d’OurGroceries.
Configuration
- Dans Gladys, ouvrez Intégrations, puis Installer depuis GitHub,
et installez
guim31/gladys-ourgroceries(ou installez-la depuis le store). - Dans l’onglet Configuration, saisissez l’e-mail et le mot de passe de votre compte OurGroceries, puis enregistrez.
- Si besoin, choisissez la fréquence de lecture des listes (Rafraîchir toutes les, 5 minutes par défaut) et la Langue des textes (français par défaut) : elle nomme les fonctionnalités à l’ajout d’une liste, et rédige le texte de la liste et les messages.
- Appuyez sur Tester la connexion et rafraîchir : le message sous le bouton indique combien de listes de courses compte le compte.
- Ouvrez l’onglet Découverte : chaque liste de courses du compte y figure. Ajoutez celles que vous voulez dans Gladys. Les recettes ne sont pas des listes de courses et sont écartées.
Appareils
Chaque liste de courses ajoutée devient un appareil au nom de la liste, avec trois fonctionnalités en lecture seule :
| Fonctionnalité | Ce qu’elle contient |
|---|---|
| Articles à acheter | Le nombre d’articles non cochés |
| Articles cochés | Le nombre d’articles cochés encore sur la liste |
| Liste | Les noms des articles à acheter, séparés par des virgules (255 caractères au plus) |
Renommer une liste dans OurGroceries garde son appareil : Gladys connaît la liste par son identifiant OurGroceries, pas par son nom. Une liste créée plus tard dans l’appli apparaît dans l’onglet Découverte au rafraîchissement suivant.
Widget de tableau de bord
Ajoutez le widget Liste de courses à un tableau de bord et choisissez la liste dans ses réglages. Il affiche le nom de la liste, le nombre d’articles à acheter (en direct), les 8 premiers articles et combien il en reste, et trois boutons :
- Ajouter ouvre un champ pour saisir un article ;
- Cocher ouvre la liste des articles à acheter : choisissez-en un ;
- Vider cochés supprime les articles cochés, après confirmation.
Les widgets de Gladys n’ont pas de case à cocher : on coche par la liste du bouton Cocher. Ajouter un article déjà sur la liste ne change rien ; ajouter un article coché le remet sur la liste, comme le fait l’appli.
Déclencheur de scène
Article ajouté à une liste de courses lance une scène quand quelqu’un ajoute un article dans OurGroceries. Choisissez une liste, ou laissez vide pour toutes. La scène peut reprendre l’Article et le Nom de la liste dans ses messages.
Le déclencheur part au rafraîchissement qui suit l’ajout (jusqu’à 5 minutes plus tard par défaut). Les articles ajoutés par Gladys elle-même (une scène, le widget) ne le déclenchent pas : une scène ne peut pas boucler sur elle-même. Un article coché puis remis compte comme ajouté.
Actions de scène
- Ajouter à une liste de courses : met un article sur la liste choisie. Déjà présent : rien ne change. Coché : il revient sur la liste. Renvoie Article ajouté (non s’il y était déjà) et Article tel que sur la liste.
- Cocher un article : coche l’article de ce nom. La casse, les accents et une quantité entre parenthèses ne comptent pas : « lait » coche « Lait (2) ». Renvoie Article trouvé et coché.
- Vider les articles cochés : supprime les articles cochés de la liste. Renvoie Articles supprimés.
Les champs de texte acceptent les informations de la scène, comme l’article du déclencheur.
Exemples de scènes
- Bouton « plus de lait » : déclencheur « un bouton est appuyé » (un bouton Zigbee sur le frigo), action Ajouter à une liste de courses avec l’article « Lait ».
- Me dire ce qui a été ajouté : déclencheur Article ajouté à une liste de courses, action « envoyer un message » avec l’Article et le Nom de la liste.
- Retour des courses : déclencheur « l’utilisateur rentre à la maison », condition Articles cochés supérieur à 0, action Vider les articles cochés.
Rafraîchissement et limites du service
OurGroceries ne publie ni API ni quota. Comme l’intégration Home Assistant, cette intégration utilise les requêtes du site officiel, avec retenue :
- une requête par rafraîchissement lit l’aperçu du compte ; les articles d’une liste ne sont relus que si la liste a changé ;
- seules les listes ajoutées à Gladys sont lues ;
- la période est de 5 minutes par défaut (2 minutes au plus vite, 30 au plus lent) ; le bouton de test, le widget et les actions de scène lisent et écrivent tout de suite ;
- après un refus des identifiants, plus aucune tentative tant que vous ne changez pas la configuration ou n’appuyez pas sur Tester la connexion et rafraîchir : réessayer un mauvais mot de passe peut bloquer un compte.
Utilisez-la dans le respect des conditions d’OurGroceries.
Données et vie privée
Le mot de passe est conservé par Gladys, comme tout champ secret.
L’intégration ne garde que le cookie de session d’OurGroceries et
l’identifiant d’équipe dans son propre volume (/data/session.json), pour
ne pas se reconnecter à chaque redémarrage. Ni le mot de passe, ni l’e-mail,
ni le cookie n’apparaissent jamais dans les journaux.
Dépannage
- « OurGroceries a refusé l’e-mail ou le mot de passe » : vérifiez-les sur le site d’OurGroceries, puis enregistrez de nouveau la configuration.
- « OurGroceries est injoignable » : l’intégration réessaie à chaque rafraîchissement et signale dans les journaux le retour du service.
- Un changement fait dans l’appli n’est pas encore dans Gladys : attendez le rafraîchissement suivant, ou appuyez sur Tester la connexion et rafraîchir.
- Les journaux de l’intégration : ouvrez l’intégration dans Gladys, puis
ses journaux. Pour voir chaque requête, passez la variable
LOG_LEVELdu conteneur àdebug.
Limites
- Développée sans compte OurGroceries : les requêtes suivent la bibliothèque
Python
ourgroceriesutilisée par Home Assistant. Si OurGroceries change son site, l’intégration peut cesser de fonctionner jusqu’à sa mise à jour. - Les changements arrivent dans Gladys au rafraîchissement suivant, pas instantanément.
- Les catégories, notes, quantités, recettes et la liste principale ne sont pas gérées. Un article est ajouté sans catégorie : OurGroceries le range comme dans l’appli.
- Le bouton Cocher du widget propose les 50 premiers articles à acheter.
- Les noms des fonctionnalités sont fixés dans la langue de la configuration à l’ajout d’une liste ; changer de langue ensuite ne renomme rien.
Paramètres de configuration
Voici les paramètres demandés par OurGroceries dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre compte OurGroceries | section | Non | Saisissez l’e-mail et le mot de passe de votre compte OurGroceries. Ouvrez ensuite l’onglet Découverte et ajoutez les listes de courses voulues dans Gladys. Cette intégration n’est pas affiliée à OurGroceries. |
string | Oui | ||
| Mot de passe | secret | Oui | Conservé par Gladys. Le conteneur ne garde que le cookie de session dans son volume. |
| Rafraîchir toutes les | select | Non | Fréquence de lecture des listes. OurGroceries n’a pas d’API publique : restez raisonnable. |
| Langue des textes | select | Non | Noms des fonctionnalités (fixés à l’ajout d’une liste), texte de la liste et messages. |
Comment installer OurGroceries dans Gladys
- Dans Gladys, ouvrez Intégrations : OurGroceries apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-ourgroceries:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-ourgroceries.
OurGroceries nécessite Gladys >=5.2.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
OurGroceries est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation