Advertisement
Rasmus_Thomsen

Mealie & Home Assistant 2025

Jan 17th, 2025 (edited)
56
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.70 KB | None | 0 0
  1. Core: 2025.1.2
  2. Mealie version: v2.2.0
  3. Husk at ændre porten til Mealie
  4.  
  5. Dashboard:
  6. type: vertical-stack
  7. cards:
  8. - type: markdown
  9. content: >
  10. Hej, {{ user }}! <ha-icon icon="mdi:human-greeting-variant"></ha-icon>
  11.  
  12. <h3 style="font-size: 120%;">I dag står maden på:</h3> <h2
  13. style="font-size: 150%; color: #FF5722;">{{ states('sensor.madplan_dag_0')
  14. }}</h2> <br>
  15.  
  16. {% set weekdays_ordered = ['Mandag', 'Tirsdag', 'Onsdag', 'Torsdag',
  17. 'Fredag', 'Lørdag', 'Søndag'] %} {% set today =
  18. states('sensor.translated_dayoftheweek') %} {% set today_index =
  19. weekdays_ordered.index(today) %} {% set weekdays_ordered =
  20. weekdays_ordered[today_index + 1:] + weekdays_ordered[:today_index + 1] %}
  21.  
  22. <h3 style="font-size: 120%; color: #4CAF50;">Kommende måltider:</h3> {%
  23. for i in range(1, 7) %}
  24. {% set day_name = weekdays_ordered[i - 1] %}
  25. {% set sensor_name = 'sensor.madplan_dag_' ~ i %}
  26. <p><b>{{ day_name }}:</b> {{ states(sensor_name) }}</p>
  27. {% endfor %}
  28. title: MADPLAN
  29.  
  30. Rest sensor:
  31. rest:
  32.  
  33. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  34. method: GET
  35. headers:
  36. Authorization: Bearer <DIN TOKEN HER>
  37. params:
  38. start_date: "{{ now().strftime('%Y-%m-%d') }}"
  39. end_date: "{{ now().strftime('%Y-%m-%d') }}"
  40. scan_interval: 180
  41. sensor:
  42. - name: "Madplan dag 0"
  43. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  44. force_update: true
  45. unique_id: madplan_dag_0
  46. - name: "Madplan dag 0 ID"
  47. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  48. force_update: true
  49. unique_id: madplan_dag_0_id
  50.  
  51. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  52. method: GET
  53. headers:
  54. Authorization: Bearer <DIN TOKEN HER>
  55. params:
  56. start_date: "{{ (now() + timedelta(days=1)).strftime('%Y-%m-%d') }}"
  57. end_date: "{{ (now() + timedelta(days=1)).strftime('%Y-%m-%d') }}"
  58. scan_interval: 180
  59. sensor:
  60. - name: "Madplan dag 1"
  61. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  62. force_update: true
  63. unique_id: madplan_dag_1
  64. - name: "Madplan dag 1 ID"
  65. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  66. force_update: true
  67. unique_id: madplan_dag_1_id
  68.  
  69. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  70. method: GET
  71. headers:
  72. Authorization: Bearer <DIN TOKEN HER>
  73. params:
  74. start_date: "{{ (now() + timedelta(days=2)).strftime('%Y-%m-%d') }}"
  75. end_date: "{{ (now() + timedelta(days=2)).strftime('%Y-%m-%d') }}"
  76. scan_interval: 180
  77. sensor:
  78. - name: "Madplan dag 2"
  79. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  80. force_update: true
  81. unique_id: madplan_dag_2
  82. - name: "Madplan dag 2 ID"
  83. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  84. force_update: true
  85. unique_id: madplan_dag_2_id
  86.  
  87. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  88. method: GET
  89. headers:
  90. Authorization: Bearer <DIN TOKEN HER>
  91. params:
  92. start_date: "{{ (now() + timedelta(days=3)).strftime('%Y-%m-%d') }}"
  93. end_date: "{{ (now() + timedelta(days=3)).strftime('%Y-%m-%d') }}"
  94. scan_interval: 180
  95. sensor:
  96. - name: "Madplan dag 3"
  97. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  98. force_update: true
  99. unique_id: madplan_dag_3
  100. - name: "Madplan dag 3 ID"
  101. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  102. force_update: true
  103. unique_id: madplan_dag_3_id
  104.  
  105. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  106. method: GET
  107. headers:
  108. Authorization: Bearer <DIN TOKEN HER>
  109. params:
  110. start_date: "{{ (now() + timedelta(days=4)).strftime('%Y-%m-%d') }}"
  111. end_date: "{{ (now() + timedelta(days=4)).strftime('%Y-%m-%d') }}"
  112. scan_interval: 180
  113. sensor:
  114. - name: "Madplan dag 4"
  115. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  116. force_update: true
  117. unique_id: madplan_dag_4
  118. - name: "Madplan dag 4 ID"
  119. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  120. force_update: true
  121. unique_id: madplan_dag_4_id
  122.  
  123. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  124. method: GET
  125. headers:
  126. Authorization: Bearer <DIN TOKEN HER>
  127. params:
  128. start_date: "{{ (now() + timedelta(days=5)).strftime('%Y-%m-%d') }}"
  129. end_date: "{{ (now() + timedelta(days=5)).strftime('%Y-%m-%d') }}"
  130. scan_interval: 180
  131. sensor:
  132. - name: "Madplan dag 5"
  133. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  134. force_update: true
  135. unique_id: madplan_dag_5
  136. - name: "Madplan dag 5 ID"
  137. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  138. force_update: true
  139. unique_id: madplan_dag_5_id
  140.  
  141. - resource: "http://192.168.xx.xx:9925/api/households/mealplans"
  142. method: GET
  143. headers:
  144. Authorization: Bearer <DIN TOKEN HER>
  145. params:
  146. start_date: "{{ (now() + timedelta(days=6)).strftime('%Y-%m-%d') }}"
  147. end_date: "{{ (now() + timedelta(days=6)).strftime('%Y-%m-%d') }}"
  148. scan_interval: 180
  149. sensor:
  150. - name: "Madplan dag 6"
  151. value_template: "{{ value_json['items'][0]['recipe']['name'] }}"
  152. force_update: true
  153. unique_id: madplan_dag_6
  154. - name: "Madplan dag 6 ID"
  155. value_template: "{{ value_json['items'][0]['recipe']['id'] }}"
  156. force_update: true
  157. unique_id: madplan_dag_6_id
  158.  
  159. sensor.yaml
  160.  
  161. - platform: template
  162. sensors:
  163. dayoftheweek:
  164. value_template: "{{ ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'][now().weekday()] }}"
  165. entity_id: sensor.time
  166.  
  167.  
  168. - platform: template
  169. sensors:
  170. translated_dayoftheweek:
  171. value_template: >-
  172. {% set d = states('sensor.dayoftheweek') %}
  173. {% if d == 'Monday' -%}
  174. Mandag
  175. {% elif d == 'Tuesday' -%}
  176. Tirsdag
  177. {% elif d == 'Wednesday' -%}
  178. Onsdag
  179. {% elif d == 'Thursday' -%}
  180. Torsdag
  181. {% elif d == 'Friday' -%}
  182. Fredag
  183. {% elif d == 'Saturday' -%}
  184. Lørdag
  185. {% elif d == 'Sunday' -%}
  186. Søndag
  187. {% endif %}
  188. friendly_name: 'Oversat Dag i Ugen'
  189. Generisk billede af maden i dag:
  190. http://192.168.xx.xx:9925/api/media/recipes/{{states('sensor.madplan_dag_0_id')}}/images/min-original.webp
  191.  
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement