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: