Hi all,
Using chatgpt, I am creating a week menu into the form of a JSON file.
the JSON file so the plan is to display this into a dashboard.
My JSON looks like this out of chatgpt
{
"menu": {
"Lundi": {
"nom": "Salade de quinoa aux légumes",
"recette": [
"Faites cuire 200g de quinoa selon les instructions du paquet.",
"Dans un saladier, ajoutez le quinoa cuit, 1 concombre coupé en dés, 1 poivron rouge coupé, et 10 tomates cerises coupées en deux.",
"Ajoutez 1 boîte de maïs égoutté et 1 avocat coupé en dés.",
"Assaisonnez avec 3 c. à soupe d'huile d'olive, 1 c. à soupe de vinaigre balsamique, du sel et du poivre.",
"Mélangez bien et servez frais."
],
"ingredients": "200g de quinoa, 1 concombre, 1 poivron rouge, 10 tomates cerises, 1 boîte de maïs, 1 avocat, 3 c. à soupe d'huile d'olive, 1 c. à soupe de vinaigre balsamique, sel, poivre"
},
"Mardi": {
"nom": "Pâtes au pesto et poulet",
"recette": [
"Faites cuire 300g de pâtes selon les instructions du paquet.",
"Dans une poêle, faites chauffer 1 c. à soupe d'huile d'olive.",
"Ajoutez 400g de poulet coupé en dés et faites cuire jusqu'à ce qu'il soit doré.",
"Incorporez 150g de pesto et mélangez avec les pâtes cuites.",
"Servez avec du parmesan râpé."
],
"ingredients": "300g de pâtes, 1 c. à soupe d'huile d'olive, 400g de poulet, 150g de pesto, parmesan râpé"
},
"Mercredi": {
"nom": "Chili sin carne",
"recette": [
"Dans une casserole, faites chauffer 1 c. à soupe d'huile d'olive.",
"Ajoutez 1 oignon haché et 2 gousses d'ail écrasées, faites revenir jusqu'à ce qu'ils soient dorés.",
"Ajoutez 400g de haricots rouges (en conserve), 400g de tomates concassées et 1 c. à soupe de cumin.",
"Laissez mijoter pendant 10 minutes.",
"Servez avec du riz."
],
"ingredients": "1 oignon, 2 gousses d'ail, 400g de haricots rouges (en conserve), 400g de tomates concassées, 1 c. à soupe de cumin, 1 c. à soupe d'huile d'olive, riz"
},
"Jeudi": {
"nom": "Curry de légumes",
"recette": [
"Dans une poêle, faites chauffer 1 c. à soupe d'huile d'olive.",
"Ajoutez 1 oignon haché et faites revenir jusqu'à ce qu'il soit translucide.",
"Ajoutez 1 courgette, 1 carotte et 1 poivron coupés en dés.",
"Ajoutez 400ml de lait de coco et 2 c. à soupe de pâte de curry.",
"Laissez mijoter pendant 10 minutes.",
"Servez avec du riz."
],
"ingredients": "1 c. à soupe d'huile d'olive, 1 oignon, 1 courgette, 1 carotte, 1 poivron, 400ml de lait de coco, 2 c. à soupe de pâte de curry, riz"
},
"Vendredi": {
"nom": "Omelette aux légumes",
"recette": [
"Battez 6 œufs dans un bol avec du sel et du poivre.",
"Dans une poêle, faites chauffer 1 c. à soupe d'huile d'olive.",
"Ajoutez 1 poivron et 1 courgette coupés en dés, faites revenir jusqu'à ce qu'ils soient tendres.",
"Ajoutez les œufs battus et laissez cuire à feu doux jusqu'à ce que l'omelette soit prise.",
"Servez avec du pain grillé."
],
"ingredients": "6 œufs, 1 poivron, 1 courgette, 1 c. à soupe d'huile d'olive, sel, poivre, pain"
},
"Samedi": {
"nom": "Burgers de lentilles",
"recette": [
"Dans un saladier, écrasez 400g de lentilles cuites.",
"Ajoutez 1 oignon haché, 1 carotte râpée, 1 c. à café de cumin et 1 œuf.",
"Formez des galettes et faites-les cuire dans une poêle avec 1 c. à soupe d'huile d'olive pendant 4-5 minutes de chaque côté.",
"Servez avec des pains à burger et des garnitures au choix."
],
"ingredients": "400g de lentilles cuites, 1 oignon, 1 carotte, 1 c. à café de cumin, 1 œuf, 1 c. à soupe d'huile d'olive, pains à burger, garnitures au choix"
},
"Dimanche": {
"nom": "Riz sauté aux légumes",
"recette": [
"Faites cuire 200g de riz selon les instructions du paquet.",
"Dans une poêle, faites chauffer 1 c. à soupe d'huile d'olive.",
"Ajoutez 1 carotte coupée en dés, 1 poivron et 100g de petits pois.",
"Faites sauter les légumes pendant 5-7 minutes.",
"Ajoutez le riz cuit et 2 c. à soupe de sauce soja, mélangez bien et servez."
],
"ingredients": "200g de riz, 1 c. à soupe d'huile d'olive, 1 carotte, 1 poivron, 100g de petits pois, 2 c. à soupe de sauce soja"
}
},
"liste": "200g de quinoa, 1 concombre, 1 poivron rouge, 10 tomates cerises, 1 boîte de maïs, 300g de pâtes, 400g de poulet, 150g de pesto, 1 oignon, 2 gousses d'ail, 400g de haricots rouges (en conserve), 400g de tomates concassées, 1 c. à soupe de cumin, 1 c. à soupe d'huile d'olive, 1 courgette, 1 carotte, 400ml de lait de coco, 2 c. à soupe de pâte de curry, 6 œufs, 200g de champignons, 1 c. à soupe d'huile d'olive, sel, poivre, 400g de lentilles cuites, 1 c. à café de cumin, 1 œuf, 1 c. à soupe d'huile d'olive, 4 filets de saumon, 1 citron, 1 c. à soupe d'huile d'olive, légumes vapeur"
}
Then I am using the JSON parsing node from Nodered so I can extract the data I need easily and put them into messages.
I want to update sensors attributes with those data.
For this I am using the API node with this JSON file:
{
"state": "Lundi",
"attributes": {
"recette_details": "{{recette}}",
"recette_nom": "{{nom}}",
"recette_ingredients": "{{ingredients}}"
}
}
recette_nom and recette_ingredients are strings and and my flow updates them correctly.
The problem:
recette_details is an array but it shows as a string into home assistant. It looks like my API node configuration converts it into a string
Please note that msg.recette is sent as an array to the API node (I checked with a debug node)