Zum Hauptinhalt springen

Cookidoo Smart-Home-Integration, kostenlos und Open Source

Cookidoo-Integration für Gladys Assistant

Deine Cookidoo-Einkaufsliste und dein Wochenplan (Thermomix) in Gladys: Sensoren, Widgets, Szenen.

Hol dein Cookidoo-Konto — den Rezeptdienst des Thermomix — in Gladys: Einkaufsliste und Wochenplan werden zu Sensoren, Dashboard-Widgets und Szenen-Aktionen.

Nicht mit Vorwerk verbunden. Cookidoo und Thermomix sind Marken von Vorwerk.

Ohne Cookidoo-Konto entwickelt: Rückmeldungen sind willkommen. Die Integration folgt dem Protokoll der freien Bibliothek cookidoo-api, die Home Assistant nutzt, und wird mit deren aufgezeichneten Antworten getestet, noch nicht mit einem echten Konto.

Überblick​

  • Einkaufsliste: die Zutaten der Rezepte, die du auf die Liste gesetzt hast, und die freien Artikel, die du eingetippt hast, abgehakt oder nicht; die Zahl der noch zu kaufenden Artikel.
  • Wochenplan: die heute geplanten Rezepte (Namen, Gesamtzeit) und das Widget „Rezept des Tages".
  • Abo: seine Art (Premium, Testphase, kostenlos) und sein Enddatum.
  • Szenen-Aktionen: einen Artikel hinzufügen („Milch hinzufügen" per Taste oder Sprachbefehl), einen Artikel abhaken oder zurücksetzen, die abgehakten Artikel löschen.
  • Widgets: die Einkaufsliste mit Tasten zum Hinzufügen, Abhaken und Löschen, und das Rezept des Tages.

Voraussetzungen​

  • Gladys Assistant 5.2.0 oder neuer (die Tasten der Widgets öffnen ein kurzes Formular, das 5.2.0 braucht).
  • Ein Cookidoo-Konto mit Anmeldung per E-Mail und Passwort, mit oder ohne Abo.
  • Internetzugang für Gladys: Die Integration spricht mit den Servern von Cookidoo (Cloud).

Konfiguration​

Installiere die Integration über Integrationen → Von GitHub installieren und gib dann ein:

FeldWas du eingibst
E-Mail, PasswortDie deines Cookidoo-Kontos.
Land des KontosDas beim Anlegen des Kontos gewählte Land: Es bestimmt die Cookidoo-Website (cookidoo.de, cookidoo.at, cookidoo.ch, cookidoo.international für Länder ohne eigene Website...).
Cookidoo-SpracheSprache der Rezepte und Artikel. Automatisch nimmt die Sprache des Landes, die dem nächsten Feld am nächsten ist (Deutsch auf cookidoo.ch, Französisch auf cookidoo.fr...).
Sprache der Namen und ZuständeSprache der Funktionsnamen (einmal festgelegt, beim Hinzufügen des Geräts) und der Texte, die das Gerät zeigt. Standard: Französisch.
AktualisierungsintervallWie oft Einkaufsliste und Wochenplan gelesen werden: 2 bis 30 Minuten, standardmäßig 5. Deine eigenen Änderungen aus Gladys erscheinen sofort.

Geh dann zum Tab Entdecken und füge das Gerät Cookidoo hinzu.

Verbindung testen​

Die Taste Verbindung testen meldet sich erneut mit dem Passwort an und liest alles: Die Antwort nennt die Zahl der offenen Artikel, das Rezept des Tages und das Abo, oder den Grund des Fehlers. Nach einem abgelehnten Passwort meldet sich die Integration nicht mehr von selbst an (erneute Versuche könnten das Konto sperren): Korrigiere das Passwort oder starte diesen Test.

Daten und Datenschutz​

Das Passwort bleibt in der Gladys-Konfiguration. Die Anmelde-Tokens (12 Stunden gültig, automatisch erneuert) und die ID deines Cookidoo-Profils liegen im Datenvolume der Integration (/data/cookidoo.json, nur für sie lesbar). Nichts wird an andere als Cookidoo gesendet, und kein Passwort, Token oder E-Mail landet in den Logs.

Das Gerät​

Ein Gerät Cookidoo pro Konto, mit diesen Funktionen (nur lesend):

FunktionTypWert
Zu kaufende ArtikelZählernicht abgehakte Artikel der Einkaufsliste
Abgehakte ArtikelZählerabgehakte Artikel, die noch auf der Liste stehen
EinkaufslisteTextdie zu kaufenden Artikel, durch Kommas getrennt („Leere Liste" sonst)
Rezepte von heuteTextdie heute in Cookidoo geplanten Rezepte („Kein Rezept geplant" sonst)
Anzahl der Rezepte von heuteZählerwie viele Rezepte heute geplant sind
Zeit der Rezepte von heuteDauer (Min.)Gesamtzeit der Rezepte von heute
AboTextPremium, Testphase oder Kostenlos
Abo-EndeTextEnddatum des Abos („Keins" ohne Abo)
Verbleibende Abo-TageDauer (Tage)Tage bis zum Ende des Abos, 0 ohne Abo

„Heute" ist der Tag in der Zeitzone von Gladys.

Widgets​

Füge sie im Dashboard-Editor hinzu (Integrations-Widgets).

Einkaufsliste (shopping_list)​

Die Zahl der zu kaufenden und der abgehakten Artikel, die ersten acht Artikel (zuerst die zu kaufenden, dann die abgehakten mit Abzeichen) und vier Tasten:

  • Hinzufügen: Tippe den Namen eines Artikels ein;
  • Abhaken / Zurücksetzen: Wähle einen Artikel aus der Liste;
  • Abgehakte löschen: entfernt das Gekaufte (fragt vorher nach).

Die Widgets von Gladys haben bewusst kein Kontrollkästchen: Ein Tippen auf Abhaken öffnet ein kurzes Formular, dessen Liste die zu kaufenden Artikel enthält.

Rezept des Tages (recipe_of_the_day)​

Die heute geplanten Rezepte, mit Bild, Zeit und einem Link, um sie in Cookidoo zu öffnen. Ist heute nichts geplant, die nächsten Rezepte der Woche mit ihrem Tag.

Szenen-Aktionen​

In einer Szene: Aktion hinzufügen → Integrationen. Der Artikelname nimmt Szenenvariablen an.

Zur Cookidoo-Liste hinzufügen (add_item)​

Fügt einen freien Artikel zur Einkaufsliste hinzu, außer ein Artikel dieses Namens steht schon zum Kaufen darauf; ein abgehakter Artikel dieses Namens kommt wieder auf die Liste, statt doppelt zu stehen. Ausgaben: Artikel hinzugefügt (ja/nein), Zu kaufende Artikel.

Cookidoo-Artikel abhaken (check_item)​

Hakt den Artikel dieses Namens ab (ohne Groß- und Kleinschreibung, Akzente oder einen Artikel am Anfang: „die Milch" findet „Milch"). Passen mehrere Artikel, wird nichts abgehakt. Ausgaben: Artikel gefunden, Zu kaufende Artikel.

Cookidoo-Artikel zurücksetzen (uncheck_item)​

Setzt einen abgehakten Artikel wieder auf die Liste, auf die gleiche Weise gefunden. Ausgaben: Artikel gefunden, Zu kaufende Artikel.

Abgehakte Cookidoo-Artikel löschen (clear_checked_items)​

Entfernt die abgehakten freien Artikel und die Rezepte, deren Zutaten alle abgehakt sind. Cookidoo entfernt eine Zutat nur mit ihrem Rezept: Ein teilweise gekauftes Rezept bleibt auf der Liste. Ausgabe: Entfernte Artikel.

Beispiele für Szenen​

  • „Milch hinzufügen" per Taste: Auslöser eine Taste wird gedrückt → Aktion Zur Cookidoo-Liste hinzufügen mit Milch → Nachricht senden „Milch hinzugefügt, {{zu kaufende Artikel}} Artikel zu kaufen".
  • Einkaufserinnerung: jeden Samstag um 9:00, wenn Zu kaufende Artikel größer als 0 ist → eine Nachricht mit dem Wert der Funktion Einkaufsliste senden.
  • Zurück vom Einkauf: wenn du am Samstagnachmittag nach Hause kommst → Abgehakte Cookidoo-Artikel löschen.
  • Ab in die Küche: jeden Tag um 18:30, wenn Anzahl der Rezepte von heute größer als 0 ist → Nachricht „Heute Abend: {{Rezepte von heute}} ({{Zeit}} Min.)".
  • Abo: wenn Verbleibende Abo-Tage unter 7 fällt → Erinnerung.

Aktualisierung und API-Nutzung​

Gladys fragt dieses Gerät nicht ab: Die Integration liest Cookidoo mit ihrem eigenen Timer, und nur wenn jemand hinschaut (das Gerät ist hinzugefügt oder ein Widget wurde in der letzten Stunde angezeigt). Jede Aktualisierung sind zwei Anfragen (Einkaufsliste und Wochenplan); das Abo wird alle 6 Stunden gelesen; das Zugriffstoken wird zweimal am Tag erneuert. Mit den standardmäßigen 5 Minuten sind das etwa 600 Anfragen am Tag. Cookidoo veröffentlicht weder Kontingent noch Bedingungen für diese Nutzung: Stell das Intervall nicht niedriger als nötig. Die Werte werden nur bei einer Änderung veröffentlicht, dazu einmal alle 6 Stunden.

Fehlerbehebung​

  • „Cookidoo hat die Anmeldung abgelehnt": Prüfe E-Mail, Passwort und Land. Verlangt Cookidoo einen Schritt (neue Nutzungsbedingungen, Prüfung per E-Mail), melde dich einmal auf der Website oder in der App an und starte dann Verbindung testen.
  • „Cookidoo hat die Verbindung der Integration abgelehnt (Schutz vor Robotern)": Der Schutz von Cookidoo hat die Anfrage abgelehnt. Die Integration umgeht ihn nie, wartet 30 Minuten und versucht es erneut. Dauert es an, melde es im Forum.
  • „Cookidoo hat in einem unerwarteten Format geantwortet": Cookidoo hat seine API geändert; aktualisiere die Integration (und öffne ein Issue, wenn es noch kein Update gibt).
  • Leere Artikel oder Rezepte: Prüfe Land und Cookidoo-Sprache.
  • Mehr Details: Setz LOG_LEVEL=debug für die Integration und lies ihre Logs.

Grenzen​

  • Inoffizielle API: Cookidoo kann sie jederzeit ändern, und die Anmeldung kann dann bis zu einem Update fehlschlagen.
  • Lesen alle paar Minuten: Eine Änderung in der Cookidoo-App erscheint nach der nächsten Aktualisierung.
  • Nur freie Artikel können hinzugefügt werden; eine Zutat wird mit ihrem Rezept entfernt.
  • Keine Steuerung des Thermomix selbst, keine Rezeptsuche, keine Planung aus Gladys.
  • Ein Konto pro Integration.

Konfigurationseinstellungen​

Diese Einstellungen fragt Cookidoo in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Cookidoo-KontosectionNeinDas Konto, das du in der Cookidoo-App oder am Thermomix nutzt. Das Passwort bleibt in Gladys, die Anmelde-Tokens in den Daten der Integration. Nicht mit Vorwerk verbunden.
E-MailstringJaE-Mail-Adresse des Cookidoo-Kontos.
PasswortsecretJa
Land des KontosselectJaDas bei der Erstellung des Kontos gewählte Land: Es bestimmt die Cookidoo-Website (cookidoo.fr, cookidoo.de...).
Cookidoo-SpracheselectNeinSprache der Rezepte und Artikel. Automatisch: die des Landes, die der Sprache unten am nächsten ist.
Sprache der Namen und ZuständeselectNeinSprache der Funktionsnamen (beim Hinzufügen des Geräts festgelegt) und der Texte, die das Gerät zeigt.
AktualisierungsintervallselectNeinWie oft Einkaufsliste und Wochenplan gelesen werden. Deine eigenen Änderungen erscheinen sofort.

So installierst du Cookidoo in Gladys​

  1. Öffne in Gladys Integrationen: Cookidoo erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-cookidoo:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-cookidoo.

Cookidoo benötigt Gladys >=5.2.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Cookidoo ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂