Shopping list skill

Hi everybody,

I’d like to offer my shopping list skill for everybody who is interested. Because I don’t think there is already a better way of publishing a skill I’ll do it through this forum post.

It currently can:

  • Add items to your shopping list
  • Remove items from your shopping list
  • Send the list via email to a set of recipients
  • Create a fresh empty list (currently the old ones are kept)

Not included yet:

  • Quantity of an item on a list (will include that later)
  • A interface to print the lists as well

Prerequisites apart from of a working Rhasspy environment:

  • A mariadb/mysql database
  • Java
  • An email server somewhere to send the lists

Here you can find downloads and instructions (yes, I know, my web design skills have stopped evolving in the 90’s):

For anybody interested there’s also the source code available as zip file. Forgive me if I’m not working with GIT, yet.

I’ve supplied sentences for English and German as well as a list of shopping items for those two languages so you have a basis to start with. Of course you’ll need to check the list to see if it contains all the items which YOU usually buy.

I’ll refrain from explaining a lot here as the above link holds more detailed explanations and I’d like to keep them at a central location. However feel free to comment here and suggest improvements for the instructions or the program itself.

I might add of all the nerdy things I made at/for home this has proven to have by far the highest woman-acceptance-factor. My wife started using it by herself without me asking her to do so at all :smiley: .

Update v2:

  • Added import feature to add all your products from the Rhasspy slot file to the database
  • Added PHP file to view your shopping list when you’re on the go (and forgot to send it while you were still at home)

Update v3 (2020-12-30):

  • Bugfixes

Update v4 (2020-12-31):

  • Improved the PHP file (for abroad non-voice use) significantly
  • Utilized the Rhasspy feature slot_programs so one doesn’t need to maintain the products list in 2 places anymore.

Hi @OulSiDEs, thanks for sharing this :slight_smile:

We’ve talked about different ways to share skills, and haven’t settled on something yet. I know an “app store” thingy would be cool, but I’m hoping to find someone else to volunteer for that :laughing:

Nothing wrong with good ol’ HTML!

Nice work and thank you for sharing :+1:

1 Like

This is great! I was just trying to figure out a way to do this and then this pops ups. Thanks for the work. :trophy: :1st_place_medal:

1 Like

I have also worked on a shopping list. But I must admit than your approach is more complete and sophisticated.

Mine which is based on Node-red. I can add to the list, read the items one by one and erase the list on demand. It is just a file, no database.

I considered making a smaller file based approach at first, too. But with the majority of my projects in the past I usually started with a small idea and kept putting too much stuff on top of that over time. And then I had to do a lot of refactoring every now and then.
That’s why nowadays I always plan additional room for possible growth :grinning:

1 Like

@OulSiDEs question for you. Do you have this on github or anything? The reason I am asking, is I was curious about doing a fork. Not because I think it needs improved, but to customize and maybe provide back.

My wife and I use the app 2do on our phones and all the lists get stored to ical tasks lists. So we have a shopping list that we add stuff to and it shows up on both our phones on our 2do shopping list.

I am interested in possibly seeing if I could have this skill use that list as it’s “storage” or probably an easier first step, edit the php so i could have it add the list shopping list to my 2do list.

Fantastic work! This is something i have been wanting for quite sometime!

Hi @CrankyCoder,

no, I’m not using Github. However the link at the top offers a zip file with the source code.

However I’m not sure if it’ll help you a lot because it uses a relational database as storage. I don’t think it’ll be easy to convert that to whatever’s in your ical files. Creating something anew is probably less work.

BUT: Maybe the PHP file might be worth looking into. It’s basically just an alternative to the voice interface and can be used in a web browser - maybe instead of 2do.

After never having worked with a source code repository before I’ve finally set up one. The source code can now be found in my repository:

1 Like