c’est un peu bizar mais cause le sensor format (comma + newline)
{{ (states.sensor.shopping_list.state[:-1]).split(',\n')|last }}
c’est un peu bizar mais cause le sensor format (comma + newline)
{{ (states.sensor.shopping_list.state[:-1]).split(',\n')|last }}
ça ne marche pas…
j’ai encore la liste entière mais avec seulement 1 caractère en moins à la fin.
copiez ton liste stp
ou essaie ça
{{ (states.sensor.shopping_list.state[:-1]).split(',')|last }}
J’ai essayé ça, ça fait la même chose
J’ai ma liste qui contient :
Je reçois comme notif :
Shopping list:
stp copier entre ```
autre solution via rest
rest:
- resource: http://192.1.x.y:8123/api/shopping_list # replace with your HA IP address
headers:
authorization: !secret shopping_list
content-type: 'application/json'
method: GET
scan_interval: 60
binary_sensor:
- name: Shopping List Empty
value_template: >
{% if value_json is defined %}
{{ value_json|selectattr('complete', 'false')|map(attribute='name')|list|length == 0 }}
{% else %}
false
{% endif %}
sensor:
- name: Shopping List Items
value_template: >
{% if value_json is defined %}
{{ value_json|selectattr('complete', 'false')|map(attribute='name')|list|join(', ') }}
{% else %}
false
{% endif %}
le !secret shopping_list est un long loved token a génerer dans HA
ce code est à mettre où ?
vingerha, tout te parait évident pour toi, mais ce n’est toujours facile de te suivre
compris…pour le moment on ne change pas…
copie/colle ça dans developer tools / template et m’envoie ton screenshot
{{ states.sensor.shopping_list.state[:-1] }}
{{ (states.sensor.shopping_list.state[:-1]).split(',') }}
{{ (states.sensor.shopping_list.state[:-1]).split(',')|last }}
{{ states.sensor.shopping_list.state[:-1] }}
{{ (states.sensor.shopping_list.state[:-1]).split(',') }}
{{ (states.sensor.shopping_list.state[:-1]).split(',')|last }}
=
Liste de courses :
- Item 01
- Item 02
- Item 0
['Liste de courses :\n- Item 01\n- Item 02\n- Item 0']
Liste de courses :
- Item 01
- Item 02
- Item 0
=
voilà le contenu de shipping_list.json :
[
{
"name": "Item 01",
"id": "cce66f40475140119a4cee075669da02",
"complete": false
},
{
"name": "Item 02",
"id": "f07e76e7762b4f30a8795d2179e880c3",
"complete": false
},
{
"name": "Item 03",
"id": "9808889ec2964ee6a5c1baeb07749219",
"complete": false
}
]
OK, j’ai maintenant vu que j’avais changé mon script depuis qq temps, donc ça explique beaucoup …
stp changer le script vers ci-dessous, ça va enlever le texte « Liste de courses : » et rend une list plus propre…et mieux a gérer
#--------------------------------------------------------------------------------------------------
# Creates sensor with shopping list items
#--------------------------------------------------------------------------------------------------
#!/usr/local/bin/python
# coding: utf8
import json
with open('/config/.shopping_list.json') as data_file:
shoppingListData = json.load(data_file)
content = ""
for entry in shoppingListData:
if not entry['complete']:
content += "%s,\n" % entry['name']
content += "\n"
print(content)
c’est parfait
ça marche en changeant le script, j’ai bien le dernier ajout seulement en notification !
You’re a king @vingerha
Cet post a tants des choses…commencer à expliquer ce que t’as fait
j ai rajouter :
command_line:
- sensor:
name: shopping_list
command: python3 /config/custom_components/custom_sensor/shopping_list_open_items.py
dans configurtation.yaml ensuite j ai creer le script python.et fait l automatisation suivantes :
alias: test
description: ""
trigger:
- platform: state
entity_id:
- sensor.shopping_list
enabled: false
condition: []
action:
- service: notify.mobile_app_pixel_7_pro
data:
message: "{{states.sensor.shopping_list.state}}"
title: UPDATE
mode: single
Il y avait 2 scrips plus haut, t’as utilisé lequel?
EDIT: et t’as aussi le command line?
j ai mis le dernier. command_line dans configuration yaml
Et reboot-er après le command_line?
Erreurs dans le log?
rebooter pareil unknow
et quoi apres le command_line, fallais faire un truc?