Présentation Plugin : Gestion de Stock

Je vous propose un plugin permettant de gérer vos stocks en interaction avec Grocy.
Grocy est un gestionnaire de denrées et stocks qui s’installer sur votre serveur/PC.

Après une tentative de gérer les stocks en direct dans Jeedom il y a quelques années (pour une citerne d’eau, des réserves de pellets …), je n’ai pas abouti car il n’est pas simple de « détourner » jeedom pour lui faire prendre en compte plusieurs localisations, des tarifs changeants …

Suite à un message de bbreton pour demander une intégration de grocy, je me suis penché dessus. Avec Grocy, c’est naturel de gérer tout cela, que ce soit pour les placards et liste de courses mais aussi en l’utilisant sur nos stocks « domotique ». Et donc un plugin dans Jeedom pour simplement interfacé notre domotique avec ce produit.

Du coup au lieu de gérer que ma cuve d’eau, ca a permis de gérer les produits de la cuisine aussi (dans mon cas, directement avec l’application mobile Grocy, on a tout, apercu du stock, ajout/consommation de produits par scan de barcode …)

Le plugin utilise un cron + refresh sur action commandes pour rester synchroniser en permance avec Jeedom.
On récupère automatiquement un équipement jeedom par produit en stock avec toute une liste de commandes que vous trouvez dans la doc :
https://lunarok.github.io/jeedom_docs/plugins/stock/

A noter, que chaque action sur le stock depuis Jeedom est immédiatement répercuté dans Grocy.
Le but est de proposer les avantages de Jeedom pour gérer vos données grocy : utilisation des commandes en scénario, via les interactions …
Exemple : consommer des pellets automatiquement via le capteur de niveau, se voir alerter par Telegram de certains produits, par mail pour d’autres …

Porchains ajouts :

  • gérer l’ajout des produits sur une liste de courses
  • voir l’intérêt de synchroniser les batteries Jeedom dans Grocy
1 « J'aime »

Salut,

Merci pour le plugin.

Lors de l’exécution du cron j’ai l’erreur suivante :

[2020-05-23 15:38:02][ERROR] : Erreur sur la fonction cron du plugin : Class ‹ ghlocalCmd › not found

Jeedom en version 4.0.54

Bonjour,

J’ai eu la même erreur, j’ai rentré l’URL HTTPS et ça a fonctionné.

1 « J'aime »

Bonjour,

Justement je suis bien en HTTPS.
Si je ne précise pas le port, il me dit :

[2020-05-23 16:02:02][DEBUG] : Paramètres non saisis dans la configuration

Si je mets le port avec HTTPS, il me met l’erreur ghlocalCmd dont voici le log en mode debug :

[2020-05-23 16:03:02][DEBUG] : Call https://stock.mondomaine.fr:443/api/stock
[2020-05-23 16:03:02][DEBUG] : API Return [{"amount":"1","amount_aggregated":"1.0","best_before_date":"2020-06-13","amount_opened":"1","amount_opened_aggregated":"1.0","is_aggregated_amount":"0","product_id":"3","product":{"id":"3","name":"Sp\u00e9cialit\u00e9 fromag\u00e8re fondue","description":"","location_id":"2","qu_id_purchase":"13","qu_id_stock":"13","qu_factor_purchase_to_stock":"1.0","barcode":"3070053520104","min_stock_amount":"0","default_best_before_days":"0","row_created_timestamp":"2020-05-22 22:52:34","product_group_id":"","picture_file_name":null,"default_best_before_days_after_open":"0","allow_partial_units_in_stock":"0","enable_tare_weight_handling":"0","tare_weight":"0.0","not_check_stock_fulfillment_for_recipes":"0","parent_product_id":null,"calories":"0","cumulate_min_stock_amount_of_sub_products":"0","default_best_before_days_after_freezing":"0","default_best_before_days_after_thawing":"0","shopping_location_id":""}},{"amount":"1","amount_aggregated":"1.0","best_before_date":"2999-12-31","amount_opened":"0","amount_opened_aggregated":"0.0","is_aggregated_amount":"0","product_id":"4","product":{"id":"4","name":"Boisson rafra\u00eechissante aux extraits de th\u00e9 et ar\u00f4matis\u00e9e p\u00eache, avec sucres et \u00e9dulcorant","description":"","location_id":"2","qu_id_purchase":"4","qu_id_stock":"4","qu_factor_purchase_to_stock":"1.0","barcode":"3228886048436","min_stock_amount":"0","default_best_before_days":"0","row_created_timestamp":"2020-05-22 23:04:47","product_group_id":"","picture_file_name":null,"default_best_before_days_after_open":"0","allow_partial_units_in_stock":"0","enable_tare_weight_handling":"0","tare_weight":"0.0","not_check_stock_fulfillment_for_recipes":"0","parent_product_id":null,"calories":"0","cumulate_min_stock_amount_of_sub_products":"0","default_best_before_days_after_freezing":"0","default_best_before_days_after_thawing":"0","shopping_location_id":""}}]
[2020-05-23 16:03:02][ERROR] : Erreur sur la fonction cron du plugin : Class 'ghlocalCmd' not found

c’est quoi l’URL https://stock.mondomaine.fr ??? C’est ce que tu a rentré réellement ou c’est juste pour cacher l’URL dans le post ?

C’est juste pour cacher l’url :slight_smile:

1 « J'aime »

Mais ton Grocy est sur quel type de machine ? Docker, windows, etc… Et tu accède bien directement sur son interface ?

Je l’ai installé en direct sur un nginx.
Oui il fonctionne parfaitement via l’URL
Et il fonctionne parfaitement via cette appli sur android qui utilise l’api : https://github.com/patzly/grocy-android

Pour l’erreur de cmd, on me l’a remonté je corrigé des que j’ai un pc sous la main

1 « J'aime »

Bon à priori cela va être corrigé. Çà a marché chez moi en pointant sur le HTTPS, mais je n’avais créé qu’un seul produit., donc pas de recul.

C’est corrigé ce bug.
@choupfamily63 si il a créé au moins un produit c’est que tu n’étais pas sujet au bug (ghlocal installé). T’as combien de produits dans grocy ?

1 « J'aime »

En fait le plugin était bloqué à 1 produit. Actuellement j’en ai 51 dans Grocy. J’ai réinstallé le plugin et mis l’URL en HTTP. Les 51 produits sont bien remontés dans jeedom.

Le problème est résolu en https suite à la MAJ :+1:

Merci

Y a-t-il une possibilité d’être alerté quand un produit va être périmé via le plugin ?

Une question bête mais je vois qu’il faut mettre un logiciel sur le pc mais le pc doit être allumer 24/24 après ?

1 « J'aime »

Oui c’est la base de jeedom, tu as les infos si il y a du produit périmés ou bientôt.

1 « J'aime »

@lunarok, Hello, est-ce que tu as la possibilité d’avoir sur une liste, l’info du contenu de celle-ci ? (en + de l’action d’ajout).
Pour permettre l’envoi de la liste vers XX ?

Merci.

1 « J'aime »

Bonjour,

Peut-on ajouter la possibilité d’avoir des notifications avant la DLU ou le hors stock sans créer de scénario ? Je trouve ça lourd de les gérer via des scénarios pour chaque produit ajouté.

Peut-on aussi ignorer les pères et ne garder que les sous-produits ? voir les traiter ou afficher autrement…

Ça sert à quelques choses d’afficher l’ID dans le nom de l’équipement ? Je trouve que ça manque un peu de visibilité avec le numéro devant le nom.

1 « J'aime »

Je suis làdessus juste aujourd’hui, je créer des équipements « liste » qui permettent d’avoir le nom de la liste dans grocy, la liste des produits et aussi d’ajouter tous les produits en dessous de leur seuil
Sur les équipements stock, j’ai ajouté l’info si ils sont dans une ou X liste + la quantité. Egalement si ils sont dans un groupe de produits.

Je dois ajouter un équipement « global » pour des commandes uniques qui ne peuvent pas être présentes sur chaque produit :

  • refresh
  • synchronisation des batteries de jeedom vers grocy (pour faire un suivi des piles dans grocy, mais juste le cycle de charge)
  • alerte stock : qui reprendrait la liste de tous les produits épuisés
  • alerte seuil : tous ceux sous leur seuil
  • alerte date d’expiration : tous ceux qui vont expirer

Je finis d’abord l’intégration des listes d’achat

1 « J'aime »