Mealie is een recepten manager om op een eenvoudige manier je collectie recepten te verzamelen en weer te geven in één interface. Daarnaast is er een integratie voor Home Assistant waardoor recepten getoond kunnen worden in een Home Assistant weergave en geeft kalenders voor Ontbijt, Lunch of Diner, Boodschappenlijstje, sensoren voor aantal recepten, categorieën en Acties om o.a. recepten te kiezen. Meer info over Mealie: https://mealie.io/
Mealie draait eenvoudig onder docker op een Linux 64-bit systeem, dus een VM of container in Proxmox of op een Raspberry Pi met docker, aan u de keus! De docker-compose.yaml file voor Mealie:
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest
container_name: mealie
ports:
- "80:9000"
deploy:
resources:
limits:
memory: 1000M
depends_on:
- postgres
volumes:
- mealie-data:/app/data/
environment:
# Set Backend ENV Variables Here
- ALLOW_SIGNUP=true
- PUID=1000
- PGID=1000
- TZ="Europe/Amsterdam"
- MAX_WORKERS=1
- WEB_CONCURRENCY=1
- BASE_URL=http://mealie.local
# Database Settings
- DB_ENGINE=postgres
- POSTGRES_USER=mealie
- POSTGRES_PASSWORD=[ZET HIER HET DB PASSWORD]
- POSTGRES_SERVER=postgres
- POSTGRES_PORT=5432
- POSTGRES_DB=mealie
restart: always
postgres:
container_name: postgres
image: postgres:15
restart: always
volumes:
- ./mealie-pgdata:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: [ZET HIER HET DB PASSWORD]
POSTGRES_USER: mealie
volumes:
mealie-data:
driver: local
mealie-pgdata:
driver: local
Hierna is het een kwestie van de docker-compose file uitvoeren met docker:
$ docker compose up -d
De website is bereikbaar via http://mealie.local en bij de eerste keer inloggen wordt gevraagd om een account aan te maken.
Voordat de integratie in Home Assistant kan koppelen met Mealie dient er een API token gegenereerd te worden en dat gaat in Mealie via het user-account en ‘Manage API tokens‘
Het token wordt gebruikt om de integratie toe te voegen aan Home Assistant met
Hierna zijn de sensors en kalenders beschikbaar in Home Assistant.
Extra Sensors
Aangezien er met de API van Mealie wordt gecommuniceerd via het token, kan er ook een template gemaakt worden met het REST platform in Home Assistant. Hiermee kan dan de naam van het recept opgevraagd worden, mits deze in Mealie in de maaltijdplanner is ingesteld.
De sensor voor de naam van het gerecht van vandaag kan dan in configuration.yaml toegevoegd worden:
sensor:
- platform: rest
resource: "http://mealie.local/api/groups/mealplans/today"
method: GET
name: Mealie todays meal
headers:
Authorization: Bearer [TOKEN KOMT HIER]
value_template: "{{ value_json[0].recipe.name }}"
force_update: true
scan_interval: 30
de sensor in Home Assistant:
Op dezelfde manier kan ook het ID van het gerecht van vandaag opgevraagd worden via de API en in een sensor geplaatst worden:
sensor:
- platform: rest
resource: "http://mealie.local/api/groups/mealplans/today"
method: GET
name: Mealie todays meal ID
headers:
Authorization: Bearer [TOKEN KOMT HIER]
value_template: "{{ value_json[0].recipe.id }}"
force_update: true
scan_interval: 30
Beide sensors kunnen nu gebruikt worden om de afbeelding en de naam van het gerecht van vandaag in een weergave in Home Assistant te plaatsen. Dat wordt dan gedaan door via de integratie ‘Algemene Camera‘, een entiteit aan te maken in Home Assistant. De URL van de stilstaande afbeelding wordt dan:
http://mealie.local/api/media/recipes/{{states('sensor.mealie_todays_meal_id')}}/images/original.webp?version=suta
en de rest blijft standaard. De camera kan dan toegevoegd worden aan een Afbeelding-met-entiteit-kaart:
En de weergave in de keuken ziet er dan zo uit:






