Liste de courses facilement accessible au bon moment ;)

Voici l’idée de cette automatisation: j’ai ma liste de courses dans HA et je veux y avoir accès facilement quand je suis au supermarché (pas de widget existant pour la liste de courses sous Android pour le moment !).
Ici en Suisse la plupart des supermarchés donnent accès à du Wifi gratuit et donc j’utilise cela pour détecter quand je suis au supermarché (cela implique au préalable de s’être connecté au moins une fois au(x) Wifi(s) concerné(s).


Quand vous arrivez au supermarché vous aurez automatiquement une notification HA sur votre téléphone (testé sous Android, je n’ai pas de trucs pommés…) et en cliquant dessus cela vous ouvrira directement la liste de courses dans l’app HA :sunglasses:
Si vous avez des idées d’amélioration n’hésitez pas :wink:

Vincèn

3 « J'aime »

Donc, j’ai fait pareil mais ici … mon supermarché n’a pas de 4G/5G à l’intérieur…mais ça marche
Une autre auto… je recoit des notifs quand la liste change, car ma famille peut ajouter n’importe qulle moment…c’est un peu moins util mais ça m’aide de voir la liste, sinon je le fait par memoire

Pourquoi besoin de 4G/5G ? Ça marche sur la détection du Wifi de l’établissement :wink:
Pour la notif sur les modifications de la liste tu as fait comment ? car je ne trouve aucune entité liée à la liste de courses dans ha :frowning:

Quand le supermarché a pas de wifi et que la E/4G/5G passe pas, la galère.
J’ai tester ce matin la liste de course, mais je les activer avec la géocalisation du supermarché. J’ai juste eu le temps de rentrer dans le magasin et reçu la notification, mais pas pu ouvrir HA vu que la 4G/5G passe pas dans le magasin. Faut que je pense a ouvrir la liste de course sur le parking, pour pouvoir la voir :rofl:

En tout cas, tu ma fait découvrir un truc utile. Merci

Ah oui effectivement ma méthode a des limites et elle ne fonctionne pas vraiment avec les magasins 0.1 :rofl: La géolocalisation est l’autre option mais plus enquiquinante car il faut créer autant de zones que de magasins où tu es susceptible d’aller…
Pour les magasins sans réseau du tout, faire la géolocalisation basée sur le parking et non pas le magasin ? :sweat_smile:

Ca tombe bien, je ne vais cas un seul supermarché et j’ai fait la géolocalisation sur le parking :joy:
Je verrais au prochaine course .

1 « J'aime »

La solution un custom sensor:

  - platform: command_line
    name: shopping_list
    command: python3 /config/custom_components/custom_sensor/shopping_list_open_items.py

son script:

#--------------------------------------------------------------------------------------------------
# Creates sensor with shopping list items
#--------------------------------------------------------------------------------------------------

#!/usr/local/bin/python
# coding: utf8
import json

with open('/config/.shopping_list.json') as data_file:
    shoppingListData = json.load(data_file)

content = u"Shopping List:\n"
for entry in shoppingListData:
    if not entry['complete']:
        content += u"- %s\n" % entry['name']

content += u"\n"

print(content)

resultat:

Seulle b-mol…car dans le ‹ state ›, max 256 char

Ouep dommage qu’il n’y ait pas grand chose pour manipuler correctement et facilement la liste (très peu de services pour la shopping list :frowning:

J’avais récemmnet analysé Grocy…c’est à l’aurte côté du spectrum…beaucoup (BEAUCOUP) de fonctionnalités mais de ma part pas équilibré vers ;'effort de maintenir les artciles…j’ai besois de quelquechose simple sans pré-définir un « carton de 0,75l lait frais » :slight_smile:

Salut @vingerha ,

Je recherche actuellement une solution pour m’envoyer une notification lorsqu’un article est ajouté à la liste de course: l’idée étant qu’on serait plusieurs à l’utiliser.
Et je viens donc de tomber sur ton post… :slight_smile:

Peut-on réutiliser le même type de configuration que la tienne pour y arriver ?

Une solution pourrait de détecter l’écriture du fichier JSON (via nodered?) et d’y prendre le dernier article ?

Merci.
smilorel

J’ai qu’une simple automatisation qui délenche avec un maj du ‹ shopping list › (si -dessus)

alias: "Message: Shopping list when update"
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.shopping_list
condition: []
action:
  - service: notify.mobile_app_iphone
    data:
      message: "{{states.sensor.shopping_list.state}}"
      title: UPDATE
mode: single

Oui merci @vingerha. L’automatisation n’est pas compliquée en tant que telle mais je n’ai pas le sensor shopping list. J’ai lu un post sur le sujet et il me semble qu’il faut le créer ?!

tout est dans ce post

1 « J'aime »

Salut,
je suis en train d’essayer de mettre en place un pop up pour chaque mise à jour de la liste de courses.
Problème, je ne sais pas comment mettre en place le sensor ?
A quel endroit dois-je placer le code ?

Merci

ici…je pense que tu demande ça?

je parle plutôt de cette partie du code :

- platform: command_line
    name: shopping_list
    command: python3 /config/custom_components/custom_sensor/shopping_list_open_items.py

où faut il le mettre?
dans configuration.yaml ?

config oui mais après le changement de HA c’est maintenant:

command_line:
  - sensor:
        name: shopping_list
        command: python3 /config/custom_components/custom_sensor/shopping_list_open_items.py

ok vingerha,

je peux donc faire dans configuration yaml :
sensor: !include sensors.yaml

ou j’ai besoin de rajouter command_line malgré tout ? comme ça :

commande_line:
  - sensor: !include sensors.yaml

?!

Le format pour command_line à changé recemment…il faut l’utiliser comme ça… je ne sais pas comment le faire avec include car j’utilise ‹ packages ›

EDIT je pense

command_line : !include command_line.yaml 

et dedans

- sensor:
        name: shopping_list
        command: python3 /config/custom_components/custom_sensor/shopping_list_open_items.py

merci pour ton aide vingerha :+1:
J’ai réussi à mettre en place le sensor ainsi que la notification en cas de mise à jour de la liste.
Cependant je n’ai pas réussi à utiliser le « include », mais ce n’est pas important, j’ai fait sans include.

Je reçois en notification le contenu de la liste entière (states.sensor.shopping_liste.state),
est il possible de recevoir seulement le dernier élément ajouté ? à la place de la liste entière en notification.