yrune Skrevet 21. august 2018 Skrevet 21. august 2018 - id: 'batteri_sjekk' alias: '[Sensor] Batteri sjekk' trigger: platform: time at: '20:00:00' action: service: notify.telegram data_template: message: > {%- set threshold = 25 -%}{%- set domains = ['light', 'switch', 'sensor', 'zwave', 'lock'] -%}{%- for domain in domains -%}{%- for item in states[domain] if ((item.attributes.battery_level is defined and item.attributes['battery_level'] | int < threshold) or ("battery" in item.name | lower and ((item.state | int < threshold and item.state|int != 0) or item.state | lower == "low" or item.state | lower == "unknown"))) -%}{{ item.attributes.friendly_name }}{%- if not loop.last %},{% endif -%}{%- endfor -%}{%- endfor -%} Laget en enkel automation script som hver dag klokken 20 sjekker om noen enheter har mindre enn 25% batteri, og hvis den finner noen sender den melding med hvilke via telegram (bytt ut med alternativ notify service du har satt opp) Har kun testet med telegram, men der fungerer det ihvertfall slik at hvis det ikke er noe output så sender den ikke noe melding heller (har ikke noe å sende) bare å endre treshold til høyere tall, f.eks. 99 for å se at det virker. Siter
LaStrada Skrevet 22. august 2018 Skrevet 22. august 2018 Takk! Testet det med en gang under Developer tools -> Templates og det fungerte som det skulle. Har en sensor som har gått tom for strøm som sist sa 10%, og en annen som rapporterer 25%. Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Jeg fikk feilmelding på å kopiere dette direkte inn. Og det ble ikke bedre da jeg prøvde å modifisere det til mitt bruk. Det virket som om det er innrykket, YAML er idiotisk på den måten. Og det er det også at det snakkes om kolonne, som det da ikke er noen av i språket! Dette er feilmeldingen av å kopiere direkte inn: Error loading /home/homeassistant/.homeassistant/configuration.yaml: while scanning a block scalar in "/home/homeassistant/.homeassistant/automations.yaml", line 9, column 16 expected chomping or indentation indicators, but found '\ufeff' in "/home/homeassistant/.homeassistant/automations.yaml", line 9, column 17 Og dette er når jeg har prøvd å tilpasse det MQTT istedenfor Telegram: Invalid config for [automation]: [payload_template] is an invalid option for [automation]. Check: automation->action->0->payload_template. (See /home/homeassistant/.homeassistant/configuration.yaml, line 74). Please check the docs at https://home-assistant.io/components/automation/ Det er så mye bedre med Node-RED, der står det øyeblikkelig i klartekst hva som er feil. Siter
LaStrada Skrevet 13. november 2018 Skrevet 13. november 2018 1 hour ago, Mastiff said: Jeg fikk feilmelding på å kopiere dette direkte inn. Og det ble ikke bedre da jeg prøvde å modifisere det til mitt bruk. Det virket som om det er innrykket, YAML er idiotisk på den måten. Og det er det også at det snakkes om kolonne, som det da ikke er noen av i språket! Dette er feilmeldingen av å kopiere direkte inn: Error loading /home/homeassistant/.homeassistant/configuration.yaml: while scanning a block scalar in "/home/homeassistant/.homeassistant/automations.yaml", line 9, column 16 expected chomping or indentation indicators, but found '\ufeff' in "/home/homeassistant/.homeassistant/automations.yaml", line 9, column 17 Og dette er når jeg har prøvd å tilpasse det MQTT istedenfor Telegram: Invalid config for [automation]: [payload_template] is an invalid option for [automation]. Check: automation->action->0->payload_template. (See /home/homeassistant/.homeassistant/configuration.yaml, line 74). Please check the docs at https://home-assistant.io/components/automation/ Det er så mye bedre med Node-RED, der står det øyeblikkelig i klartekst hva som er feil. Prøv å erstatte alle mellomrommene (innrykket) på alt du kopierte inn. Det høres ut som om et "usynlig" tegn ble med. Det siste problemet er litt vanskelig å si hva som er feil uten at du viser oss koden din. Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Så snålt... Jeg trodde Notepad++ skulle vise alle tegn som var i en kode. Men jeg prøver på nytt. Koden for den andre delen er sånn: #Varsel for lavt batteri - id: 'batteri_sjekk' alias: '[Sensor] Batteri sjekk' trigger: platform: time at: '20:00:00' action: service: mqtt.publish payload_template: > {%- set threshold = 25 -%}{%- set domains = ['light', 'switch', 'sensor', 'zwave', 'lock'] -%}{%- for domain in domains -%}{%- for item in states[domain] if ((item.attributes.battery_level is defined and item.attributes['battery_level'] | int < threshold) or ("battery" in item.name | lower and ((item.state | int < threshold and item.state|int != 0) or item.state | lower == "low" or item.state | lower == "unknown"))) -%}{{ item.attributes.friendly_name }}{%- if not loop.last %},{% endif -%}{%- endfor -%}{%- endfor -%} topic: eg/Batterialarm Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Det hadde du tydeligvis rett i, ja. Takk! Da jeg brukte manuell spaces for å lage innrykkene, funket det. YAML er et snålt språk... Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Jeg tror jeg kanskje kom litt lenger på den andre også, men ikke fram. Så langt er jeg kommet: - id: 'batteri_sjekk' alias: '[Sensor] Batteri sjekk' trigger: platform: time at: '20:00:00' action: service: mqtt.publish data_template: payload_template: > {%- set threshold = 25 -%}{%- set domains = ['light', 'switch', 'sensor', 'zwave', 'lock'] -%}{%- for domain in domains -%}{%- for item in states[domain] if ((item.attributes.battery_level is defined and item.attributes['battery_level'] | int < threshold) or ("battery" in item.name | lower and ((item.state | int < threshold and item.state|int != 0) or item.state | lower == "low" or item.state | lower == "unknown"))) -%}{{ item.attributes.friendly_name }}{%- if not loop.last %},{% endif -%}{%- endfor -%}{%- endfor -%} topic: eg/Batterialarm Dette gir en annen feil: Quote Error loading /home/homeassistant/.homeassistant/configuration.yaml: while scanning for the next token found character '%' that cannot start any token in "/home/homeassistant/.homeassistant/automations.yaml", line 10, column 8 Siter
yrune Skrevet 13. november 2018 Forfatter Skrevet 13. november 2018 - id: 'batteri_sjekk' alias: '[Sensor] Batteri sjekk' trigger: platform: time at: '20:00:00' action: service: mqtt.publish data_template: payload_template: > {%- set threshold = 25 -%}{%- set domains = ['light', 'switch', 'sensor', 'zwave', 'lock'] -%}{%- for domain in domains -%}{%- for item in states[domain] if ((item.attributes.battery_level is defined and item.attributes['battery_level'] | int < threshold) or ("battery" in item.name | lower and ((item.state | int < threshold and item.state|int != 0) or item.state | lower == "low" or item.state | lower == "unknown"))) -%}{{ item.attributes.friendly_name }}{%- if not loop.last %},{% endif -%}{%- endfor -%}{%- endfor -%} topic: eg/Batterialarm Hva om du prøver denne ? Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Invalid config for [automation]: [topic] is an invalid option for [automation]. Check: automation->action->0->topic. (See /home/homeassistant/.homeassistant/configuration.yaml, line 74). Please check the docs at https://home-assistant.io/components/automation/ Siter
yrune Skrevet 13. november 2018 Forfatter Skrevet 13. november 2018 Det er den siste linja du la på, regnet med at det var noe MQTT greier. Den skal kanskje på linje med payload_template ? Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Da funket det uten feilmelding, takk! Men den sender både når jeg har satt threshold 25 og 90. Siter
yrune Skrevet 13. november 2018 Forfatter Skrevet 13. november 2018 samme melding ? Poenget med telegram er at den forkaster meldingen hvis den er tom, jeg antar at med mqtt og topic så sender den melding uansett forde den har en topic å sende ? Siter
Mastiff Skrevet 13. november 2018 Skrevet 13. november 2018 Min feil! Den sender eg/Batterialarm som topic uansett, og så kommer Dørlås som payload bare hvis det er for lite batterinivå! Takk for hjelpen! Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.