BBQ met Meater probe

Meater heeft een probe op de markt gebracht die via bluetooth naar een smartphone gekoppeld kan worden en met een app kan dan de temperatuur in de gaten worden gehouden en zullen meldingen verschijnen in de app zodra het product gereed is.

Zie ook deze pagina voor een beschrijving van de Meater+ probe.

Er is ook een add-on om de Meater probe te integreren in Home Assistant en de sensors die dan beschikbaar komen kunnen gebruikt worden in Node-Red om een handige flow te maken.

Let’s BBQ!

Het begint uiteraard met het aansteken van de BBQ. Meater heeft daar geen sensor voor maar in Home Assistant kan een ‘bbq-aangestokenhelper gemaakt worden van het type Switch waarmee dit aangegeven kan worden. Ook een helper type Numeriek wordt gebruikt om de ‘bbq-target-temperatuur‘ aan te geven en een numerieke helper voor de marge die de BBQ temperatuur mag hebben, ‘bbq_temp_marge‘. De helpers worden in het dashboard van de BBQ in Home Assistant geplaatst.

De flow om aan te geven dat we de BBQ hebben aangezet ziet er alsvolgt uit:

Via het dashboard wordt de ‘BBQ aangezet‘ aangezet en Node-RED ‘leest’ dan de ‘BBQ target temperatuur‘ en de ‘BBQ Temp marge‘ in en plaatst deze in flow-variabelen. Mochten deze waardes hierna nog aangepast worden via het dashboard, dan worden tevens de variabelen aangepast in Node-RED. We zetten nu ook de ‘READY-Announcement‘ aan.

Ambient Temperature Guard

Het is nu noodzakelijk om de Meater-app op de smartphone te starten om zodoende de ‘probe-ambient-temperatuur‘ te kunnen meten. Uiteraard dient dan ook de probe uit de houder en op de BBQ gelegd te worden. De temperatuur in de BBQ wordt dan vergeleken met de ingestelde target-temperatuur (minus de marge) en zodra deze is bereikt volgt een melding via Google-speaker dat de BBQ gereed is om het vlees te gaan bereiden. Voorwaarde is dat de ‘READY-announcement‘ aan staat en na de melding kan deze weer uit om onnodige herhalingen te voorkomen.

Om niet elke paar minuten een melding te krijgen dat de BBQ-temperatuur te hoog of te laag is, wordt de BBQ-announcement pas aangezet nadat de READY-temperatuur is bereikt en de bereiding op de BBQ gestart wordt.

De flow hiervoor:

Via een function-node wordt de gemeten bbq-ambient-temperatuur in een variable geplaatst. Ook de ingegeven bbq-target-temperatuur wordt in een variable gezet en beide waardes worden verrekend met de ingestelde bbq-temp-marge. Indien de bbq-temperatuur nu te laag of te hoog wordt, zal een melding via een aankondiging gedaan worden. De functie:

var a = msg.payload;
var b = flow.get("ambient-target-temp") || 0;
var c = flow.get("bbq-temp-marge") || 0;

var cold = b - c;
var hot = b + c;

if(a < cold && b > 0)
  {msg.payload = "too cold";} 
else if(a > hot && b > 0) 
  {msg.payload = "too hot";}
else if(a >= cold && a <= hot) 
  {msg.payload = "OK";}

return msg;

De msg-payload bevat nu ‘too cold‘, ‘too hot‘ of ‘OK‘ en een switch-node verdeelt de payload naar de meldingen voor telefoon en smart-speaker. De BBQ-announce wordt na de melding uitgezet om onnodige herhalingen te voorkomen. Zodra de BBQ weer de juiste temperatuur heeft (payload=”OK”) dan wordt de BBQ-Announce weer aangezet zodat we weer een melding krijgen als de BBQ weer te koud of te warm wordt.

Probe Cooking state

Via de ‘Cook State‘ van de probe wordt met een switch-node gewacht op een status wijziging.

Statussen waarop actie wordt ondernomen zijn:

Configured

Configured‘ is zodra de Meater+ app op de smartphone wordt ingesteld. Dit houdt in dat een ‘kookbereiding‘ in de app wordt gebruikt om een product te kiezen met een kern-temperatuur en de bereiding te starten. Hierna wordt de ‘product-naam‘ van het te maken gerecht opgehaald en in een flow-variable gezet.

Started

De status ‘Started‘ is wanneer Meater-app ‘Configured‘ is EN de ‘ambient-temperatuur’ boven de 40 graden is gekomen. In het geval de BBQ reeds op temperatuur is, zal dat gelijk na ‘Configured’ zijn.

Ready For Resting

Deze status wordt door de Meater-app aangegeven als het product bijna klaar is en het van het vuur gehaald dient te worden. Door het enige tijd te laten rusten wordt de target-temperatuur uiteindelijk gehaald. Een melding via smartphone en Google-speaker wordt gedaan om te waarschuwen dat het product van het vuur gehaald dient te worden om te rusten.

Finished

Zodra de cook-status ‘Finished‘ is, wordt aangekondigd dat het product gereed is en worden de announcements en ‘BBQ-aangezet’, uitgezet. Ook de flow-variabelen worden nu verwijderd.

P.S. Er zijn meer statussen, zoals ‘Resting’, ‘Slightly Overdone’ en ‘OVERCOOK’ maar daar wordt hier (nog) niets mee gedaan.

Eet smakelijk!