Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Hvordan får jeg E-postvarsel når en enhet har lite batteri igjen?


Mastiff

Anbefalte innlegg

Jeg har tidligere brukt denne automasjonen for å få tilsendt E-postvarsel om blant annet ID Locks gjenværende batteri:

 

#Varsel for lavt batteri
- id: 'batterisjekk'
  alias: 'Batterisjekk'
  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

 

Jeg forsto i dag at det ikke funker lenger, for jeg oppdaget i Lovelace at ID Locken var nede på 15 %. Jeg syntes den gikk litt tregt... ;) Er det noen måte jeg kan sette opp batterivarsel på den? Det er ingen katastrofe for min egen del av huset, men verre for låsen på utleiedelen, som jeg også administrerer. Og jeg er veldig sjelden inne på det generelle brukergrensesnittet. Jeg har noen spesialversjoner satt opp ved hjelp av virtuelle Pi-er på VMWare-serveren, men de er bare for ting som å åpne garasjen, styre Sonosen og sånt.

Endret av Mastiff
Lenke til kommentar
Del på andre sider

Mastiff skrev (49 minutter siden):

Jeg har tidligere brukt denne automasjonen for å få tilsendt E-postvarsel om blant annet ID Locks gjenværende batteri:

 


#Varsel for lavt batteri
- id: 'batterisjekk'
  alias: 'Batterisjekk'
  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

 

Jeg forsto i dag at det ikke funker lenger, for jeg oppdaget i Lovelace at ID Locken var nede på 15 %. Jeg syntes den gikk litt tregt... ;) Er det noen måte jeg kan sette opp batterivarsel på den? Det er ingen katastrofe for min egen del av huset, men verre for låsen på utleiedelen, som jeg også administrerer. Og jeg er veldig sjelden inne på det generelle brukergrensesnittet. Jeg har noen spesialversjoner satt opp ved hjelp av virtuelle Pi-er på VMWare-serveren, men de er bare for ting som å åpne garasjen, styre Sonosen og sånt.

 

Node-Red? 😉

Lenke til kommentar
Del på andre sider

Jeg var upresis. Det er MQTT, den sender MQTT-meldingen til EventGhost, som så tar seg av E-posten. Så Hass er mest av alt en "mellommann" mellom maskinvare og den virtuelle automatiseringsserveren på VMWare-serveren min. Det grå feltet er tomt hos meg, det viser ingen av de tingene som er på batteri her (Popp-tastatur, diverse veggbrytere, noen røykvarslere og ID Locken). Er det nyeste Hass-versjon du bruker der? For det funket tidligere.

 

 

 

Lenke til kommentar
Del på andre sider


Jeg bruker templaten under. (Sorry, konvertering, bruker iPhone) Den viser alt som har mindre enn 10% igjen. 
 

denne er en sensor, hos meg vises den på hovedskjemen med et skjult kort. Den dukket opp når det er innhold i sensoren. I tillegg kan en bare kjøre en automasjon en gang i døgnet og under condition bruker en template og sensor.batt_sjekk != ‘’

 

trenger du sende epost? Kan du ikke bruke push varslingen til home assistant? 

 

Sitat

        
{%- for s in states.sensor  if ('battery' in s.entity_id ) and s.state|int < 10 and s.state != 'unavailable' 
and s.state != 'idle' and not ('iphone' in s.entity_id) and not ('tesla' in s.entity_id) 
and not ('ringerklokke_battery' in s.entity_id) and not ('roborock' in s.entity_id) %}           
{{s.name}}: {{ s.state }}%   
{%- endfor %}
 


Si ifra hvis du trenger mer info så kan jeg hente det når jeg er på pcen 

  • Like 1
Lenke til kommentar
Del på andre sider

Nei, som sagt går det med MQTT fra Hass, så det er ikke E-posten som er selve problemet. Jeg holder meg unna alt av push. Men nydelig, den der funket, takk! Jeg endret til 30 %, men tenker jeg setter 25, for ID Lock har en tendens til å falle fort fra 25 til 0.

 

bilde.thumb.png.c966597a4294317b71a039c4f0ed4615.png

Endret av Mastiff
Lenke til kommentar
Del på andre sider

Så lett var det visst ikke... Når jeg bruker den koden i automasjonen, får jeg:

 

Sitat
found character '%' that cannot start any token
in "/home/homeassistant/.homeassistant/automations.yaml", line 62, column 10

 

Men nøyaktig samme kode gir meg helt riktig resultat i template editor. Jeg har endret til 20 % og fjernet unntakene, som er ting jeg ikke har (Roborock, iPhone, Tesla):

 

{%- for s in states.sensor  if ('battery' in s.entity_id ) and s.state|int < 20 and s.state != 'unavailable' and s.state != 'idle' %} {{s.name}}: {{ s.state }}% {%- endfor %}

@Kim123 Kan du legge inn selve YAML-koden fra automations.yaml til meg? Det kan være at du har redigert den i GUI-editoren, og at det er derfor det ikke funker hos meg.

Endret av Mastiff
Lenke til kommentar
Del på andre sider

Å, beklager. Jeg leste ikke den godt nok... Her er koden min:

 

################################################################################################
#Varsel for lavt batteri
- id: 'batterisjekk'
  alias: 'Batterisjekk'
  trigger:
    platform: time
    at: '20:00:00'
  action:
    service: mqtt.publish
    data_template:
      payload_template:
        {%- for s in states.sensor  if ('battery' in s.entity_id ) and s.state|int < 20 and s.state != 'unavailable' and s.state != 'idle' %} {{s.name}}: {{ s.state }}% {%- endfor %}
      topic: eg/Batterialarm


################################################################################################

 

Lenke til kommentar
Del på andre sider

Ja, du har feil i configen din. 

 

Du kan ikke ha ny linje når du har payload_template: , skal du splitten payload_template i flere linjer må du bruke >

 

Du må enten payload_template med " " 

Sitat

 payload_template: "{%- for s in states.sensor  if ('battery' in s.entity_id ) and s.state|int < 20 and s.state != 'unavailable' and s.state != 'idle' %} {{s.name}}: {{ s.state }}% {%- endfor %}"

eller > og ny linje

Sitat

payload_template: >
 {%- for s in states.sensor  if ('battery' in s.entity_id ) and s.state|int < 20 and s.state != 'unavailable' and s.state != 'idle' %} {{s.name}}: {{ s.state }}% {%- endfor %}

Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.