Home Assistant Community Add-on: Grocy

Yeah you clearly got a step further than I have. I just gave up and deployed the docker container myself. On the plus side - it’s up to date and works, on the negatives - it’s not neatly embedded into HA but I’m sure there’s a way to do it somehow.

So, I tried to set up the Grocy app to access my Grocy addon. I am able to configure it for local access no problem, just open a port (I used 4445), point it to http://homeassistant.local:4445 and paste the API key. Seems to work fine, but only locally.

Problem is, I’d like to be able to access it through Nabu Casa Ingress, and this is where the wrinkle seems to be coming in. Some people seem to be able to get it to work, and others don’t (from the GitHub issues raised in the app). The app developers are stumped why it fails for some and not others, and today I figured out that for some reason, I can only seem to access the page from a PC web browser. When I go to https://[nabu-casa-url].ui.nabu.casa/api/hassio_ingress/[ingress-key]/api from a PC browser, it pops me into the API examples. If I do the exact same URL from my android phone, I get a 401 unauthorized message.

I’ve tried multiple browsers as well as over both local wifi and cellular and it still fails. Not sure why or what to even check at this point.

2 Likes

Hi guys,

i’d like to connect a thermal printer to print from grocy, i know that the config needs changing to. access a printer. My question is now to i do this with the ha add on? Is it possible to edit the actual config file for the add on and if so how do i access the file, which is obviously inside a docker container? thanks

Does someone use node red with grocy? As far as i read openapi-red can be used to get api information from grocy.
But i am new to node red and i can not find how to use the api key for login into grocy.

Please, can someone help me? As i have barcode errors using the grocy integration i thought i could use note red with rhasspy to add/remove products fro, grocy.

Hi !

I’m waiting for my thermal printer, so I’m in the same situation as you !
I found a solution but it’s not really convenient:

  1. Access to your OS where your docker is installed

  2. Then, sudo docker container ls

  3. Copy the CONTAINER ID of your Grocy container (here I use 0c1ac9440306, it changes at every reboot)

  4. You can’t modify a file from the container, so you need to copy the file to want from the Grocy container to your OS where your docker is installed:
    sudo docker cp 0c1ac9440306:/var/www/grocy/data/config.php /home/

Your file is now paste in /home/ directory (you can paste it everywhere you want) and you can modify it with nano for example)

If you wanna go inside your container to see the file structure:
sudo docker exec -t -i 0c1ac9440306 /bin/bash

After modification:

  1. Delete file in container:
    sudo docker rm 0c1ac9440306:/var/www/grocy/data/config.php

  2. Then, inverse copy:
    sudo docker cp /home/config.php 0c1ac9440306:/var/www/grocy/data/

I let you see if config-dist.php modify config.php too or not. I don’t remember !

EDIT:

Easier:

sudo docker exec -ti addon_a0d7b954_grocy bash -c 'apk add nano'

sudo docker exec -ti addon_a0d7b954_grocy bash -c 'nano /data/grocy/config.php'

I’ve got trouble, because the addon, cannot access to /dev/usb/lp0

(Which is the port of a printer).
I have this message:

/dev/usb/lp0: Operation not permitted

How Can I access to this with Grocy Addon ?

I guess it just required a --device=/dev/usb/lp0 during installation ?

Thank you !

Hey all,
im fairly new to HA and Grocy. I installes it through the Addon directly to my HA. I can do everything insode HA, but how do i get my URL up and running to use it withe the app? Preferrabily Nabu Casa but if it wont work, locally would help. May local URL is: http://192.168.188.29:8123/a0d7xxxx_grocy/dashboard But i cant think how to make it work?

configure a port/web interface in grocy addon config at the bottom, f.e. 9192
than use your HA address like this: http://192.168.1.1:9192

just started playing around with this add-on. I see there’s a service to mark an existing task as complete, but how can I dynamically create one via HA in the first place?

EDIT: looking through the docs, this is not possible, even via the API? My specific use-case is this: when the dehumidifier tank is full & needs emptying, set this as a task. I guess if I manually create the task in the first instance, then HA can just complete or undo the task as required when it detects the tank is full/emptied?
EDIT 2: yup, that works great! Just one question now, is there an easy way of getting the TaskID for a particular task? Couldn’t find that info anywhere in the Grocy GUI! Ended up using the API function that returns info for all incomplete tasks.

Hello,
I am starting using Grocy Add-On, the integrations and the two awesome cards developed.
One quick question: Grocy itself supports CSS and JS theme and colors customizations. Does the add-on do the same or not?
If yes, how? If no, any plan already started to support it?

Thank You

Does somebody know why i can‘t „buy“ anymore?

I hit the green OK button it turns grey and nothing happens.

It happened after i installed custom components.

Did i do something wrong?

@IKROWNI @mitchell over 3 years ago you asked how to send a notification when a chore is done. In case you, or anybody else is still interested in this, this is how it can be done:

  1. Event node that listens for the event call_service
  2. change node to check whether payload.event.service == execute_chore
  3. http request to grocy api http://GROCY_IP/api/chores/{{{payload.event.service_data.chore_id}}} //this will get the details for the chore that was just marked as done.
  4. change node to check which user completed the task payload.last_done_by.username == A and payload.last_done_by.username == B
  5. send a notification to the smartphone of the other user to inform him
{
    "message": "{{{payload.last_done_by.username}}} just finished the task {{{payload.chore.name}}} ",
    "title": "Chores",
    "data": {
        "channel": "channel_chore",
        "tag": "chore",
        "actions": [
            {
                "action": "thanks",
                "title": "Thanks"
            },
            {
                "action": "about_time",
                "title": "About time"
            }
        ]
    }
}

Nothing more to it really. Not sure if that is possible within a home assistant notification since you need to make the API call.

With the tag/channel set, you can then also send another notification to the user who finished the task, informing him about the answer, or anything else.

Maybe somebody finds this useful :slight_smile:

1 Like

#Feature request

  • Tie into the new HA calendar, so we have one central planner.
  • Tie into HA user accounts
4 Likes

Hi!

Is there a way to change the date format? To day-month-year

Hello,

does anyone know how to perform count on sensor.grocy_chores entity to get only chores number for today? I would like to push that information to nspanel latest screensaver2 view.

Thanks

New to Grocy - I’ve installed the add-on, but I can’t see any chores/tasks etc in HA. I assumed that these would become available as I created them in Grocy??

Installing the add-on just runs an instance of Grocy on your Home-assistant installation (as a docker image). If you’d like to integrate a Grocy instance with Home Assistant, you need to install the custom component (I recommend using the HACS method). Note (as described on the custom component’s readme) that there is some configuration you have to do on the add-on to make it available to the custom component.

1 Like

Hello there.

I used google to find a solution to my problem. Unfortunately without success.

What do I have to put in the data field to get a message when a task or chore is overdue? Gladly with the title of the respective task. Unfortunately, my knowledge is not enough for this.
Thank you.

There are a couple of ways to do this, so it kind of depends on where (how) you’re doing it. For example, I have this as a template for my tasks buttons (the code turns the buttons red when a chore is overdue). Since it’s in a template var_icon_color, var_icon_overdue, var_chore_id, and var_icon_overdue_color are used to make this reusable (some buttons don’t change when overdue, and I have different color schemes for different chores).

      icon:
        - color: |-
            [[[
              var color = variables.var_icon_color;
              if (variables.var_icon_overdue) {
                var chores = states['sensor.grocy_chores'].attributes.chores;
                var chore = chores.find(x => x.id == variables.var_chore_id);
                if (chore.next_estimated_execution_time) {
                  var elapsed = new Date() - new Date(chore.next_estimated_execution_time)
                  if (elapsed > 1 ) {
                    color = variables.var_icon_overdue_color;
                  }
                }
              }
              return color;
            ]]]

1 Like

Is there a way to get my kitchen media speaker to announce the item that has been added to shopping list or consumed? Like if I scan an item I want it to say it.
The issue seems to be that the shopping integration sensor keeps a list of all items in shopping and not just the item that was added.