Add individual items or multiple items based on a recipy to your shopping cart. Or trigger flows based on the different states of your order.
Instructions
After installing the app, login using your Picnic account via the app settings. Here you can also add your favorite recipes.
Flow Triggers
Polling the status of your Picnic account and providing trigger flowcards based on the following events:
Groceries have been ordered, with tokens:
price (in euro)
eta date
eta begin, returning the begin of the 60 minutes delivery timeframe
eta end, returning the end of the 60 minutes delivery timeframe
Your groceries will be delivered soon (announcement of the 20min delivery timeframe), with tokens:
eta date
eta begin, returning the begin of the 20 minutes delivery timeframe
eta end, returning the end of the 20 minutes delivery timeframe
Start of the time frame when the delivery is announced
End of the time frame when the delivery is announced
Your groceries have been delivered
Flow Actions
Adding a product to your basket based on the name of the product passed as an argument.
Adding products based on a recipe as configured via the settings page.
Adding products based on a randomly picked recipe.
Global Tokens
The following order specific global tokens are available:
Order status
Order costs
Delivery status
Start of the delivery window
End of the delivery window
CHANGELOG
3.4.2 (you might have to re-login to fix the product-add action cards)
Bugfix adding products via action card
Old changes
3.3.2
Adding support for German customers of Picnic
3.2.7
Bugfix triggers being reran on restart of the app
3.2.6
Reduce default poll interval to prevent missing order trigger
3.2.5
Bugfix adding product IDs as String upon API change
3.2.4
Updated Homey community URL
3.2.3
Fixed typo in global token
3.2.2
Bugfix to prevent unnecessary firing of triggers after update
3.2.1
Bugfix in start and end window trigger
3.2.0
Adding order condition
3.1.0
Adding global Picnic tokens
3.0.3
Improve the app description
3.0.2
Bugfix in order delivered trigger, removed trigger tokens
3.0.1
Bugfix order announced end time
3.0.0
Migrate to SDK3
2.3.3
Adding request header
2.3.2
Fixing uncaught exception
2.3.0
Updated order summary API
Removed speech input code, no longer supported by Homey
Improved polling intervals based on order status
2.2.5
Changing readme files to comply with Athom’s standards
2.2.4
Fixing bug that would expire your session after 2 weeks
2.2.3
Adding order existence check
2.2.2
Fixed order retrieval
2.2.1
Fixed stupid typo in the Dutch translation
2.2.0
Added triggers for the begin and end of the announced time frame of delivery
2.1.6
Fixing another README formatting issue
2.1.5
Fixing README formatting issue
2.1.4
Updates to pass certification
2.1.3
Updating dependencies and removing deprecated “request” dependency
Removing obsolete “http” dependency
2.0.5
Updating dependencies
2.0.4
Bugfixes, adding re-authentication fix and improving error handling
2.0.3
Adding brand color (thanks to Veldkornet)
2.0.2
Bugfix: Adding improved exception handling to prevent crashes
2.0.1
Bugfix: Homey v2.0 support
1.5.1
Bugfix: fixing minor issues
1.5.0
Feature: Adding recipy management
1.4.4
Bugfix: Adding exception handler when no products are found
Bugfix: Encoding products including non-ASCII characters
1.4.3
Bugfix: Picnic uses a server-side lock when items are being added to your cart. This caused an issue when running a flow that adds multiple items to your cart at the same time. Fixing this bug in 1.4.3 by using a threat lock stored in the app’s ManagerSettings.
1.4.2
Bugfix: Checking if the order status response actually contains content that can be parsed.
1.4.1
Bugfix: Catching any errors during periodic polling of the order status.
1.4.0
Note that after this update you will have to re-authenticate via the Picnic app settings.
Bugfix: Fixing bug to store credentials to the settings
1.3.0
Note that after this update you will have to re-authenticate via the Picnic app settings.
Bugfix: session expires after about a month. To solve this the app now stores the username and password and retrieves a new session as soon as it is required
Awesome app! A vibrationsensor on my Nespresso counts down from 10 to 0 once reached your app adds my preferred cups to my cart
I also use it to add batteries to the basket when homey finds them to be almost empty.
On the start of the 20 minute window, if none is home and the door to the hallway is closed (I have a dog) i activate picnics personal accès code for the danapad. once delivered It deactivated accès.
Picnic has wrote this code with instructions to place the groceries in the hallway to my account, so all delevery guys can see it. (Also with a warning to not be spooded by the dog as tha hallway door is fully glas)
Request:
Would it be possible to place a order through the app?
For example when the minimum amount is reached than place a order with the next possible or preferred delivery time?
I’m actually not sure, i always pay by iDeal which will be very hard to automate. But i see you could configure it to use direct debit (automatische incasso) nowadays, so maybe it could be?
I have pushed an option in the settings to configure the app to use the German version of the shop. I could not test if this actually works due to the lack of a German Picnic account, so if you could check it out @patsche and let me know if it works, that would be great!
The .de part can be replaced by other country codes. I tested the login with Postman and entered the following in the body:
{
“key”: “e-mail”,
“secret”: “Password as MD5 hash”,
“client_id”: 1
}
Thanks, I have changed the domains around and bumped it to version 17 which doesnt seem to make a difference. Can you try again? 3.3.1 is published to test.
I have a question. I’m looking to create a flow to automatically add our “weekly groceries” to the shopping cart. However, I’ve encountered an issue with the “BundelBonus” items. Take Green tea lemon, for instance, which comes in four variations: a single piece, a 2-pack, a 3-pack, and a 4-pack. Opting for the 4-pack is more economical, but I’m having trouble figuring out how to select it. Are there specific article codes from Picnic that correspond to these different options?
hey 7Hills, Picnic uses their own unique ID’s for products. I checked and the bundelbonusses are indeed a separate product ID. I’m afraid that it will be difficult to add these bundelbonusses via flow-cards right now since it is purely based on the title of the product. The flow-card literally uses the Search function of the Picnic app and selects the first product of the results.
I am not really happy with the product-search option right now because it’s very error-prone. I investigated a year ago if i could somehow use the more reliable PLU code of products, but the Picnic API does not seem to support that.
Besides that, i don’t know why Picnic doesn’t just convert multiple added products to “bundlebonusses” for you automatically. That would also solve this problem in my Homey app ;).
Thanks for the quick response and explanation. I’am trying to justify that €400 Homey Pro purchase to the wife .
I get the challenges with Picnic’s unique IDs. Searching by product title isn’t the best solution indeed. It’s a bummer the API doesn’t support PLU codes.
It’d be handy if Picnic auto-converted multiple products into “bundle bonuses,” but I get the business angle.
I used the: Your groceries will be delivered soon as an “if” function to trigger a sentence on my Google nest mini, saying: “the groceries are almost there.”
Just now I scared to sh*t…because it started this sentence at 23:40 at night. Can you explain what is wrong? I assume this should trigger just before they are at my door step?
Thanks in advance.
Note: the status at the moment is “delivery_announced”
Hey Erik, you are using the wrong trigger here. Use the “Start of the delivery window” trigger to fire flows that should start at the beginning of the 20min delivery window.
The trigger you are using now is fired as soon as the 20min timeslot is decided by picnic, which is indeed typically between 22 and 24 in the evening before the day of delivery