Netatmo Temperaturwerte zweier Sensoren nutzen

andybit

New member
Hallo zusammen,

ich bin noch neu im Thema Home Assistant! Ich möchte ihn nutzen um auch Energie zu sparen.
Mir ist da die Idee gekommen das ich dafür die Netatmo Sensoren nutzen kann.

Ich würde gerne die Temperatur in unserem Wintergarten vergleichen mit der Temperatur im Wohnzimmer. Wenn die Temperatur im Wintergarten die im Wohnzimmer übersteigt soll das Alexa ausgeben oder es soll sich eine Lampe bemerkbar machen. Somit können wir im Winter den Wintergarten nutzen um auch das Wohnzimmer zu heizen. Denn es wird bei Sonneneintrahlung schnell mal 25° warm.

Leider habe ich keine Möglichkeit gefunden die Sensoren zweiter Netatmos miteinander zu vergleichen und dann eine entsprechende Aktion auszuführen.

Könnt ihr mir da helfen?

Gruß Andreas
 
Moin moin,

Jupp, da können wir helfen. Ist auch nicht schwer 😉
Allerdings Bedarf das einem Template zum Vergleichen der Temperaturen.

Also...in deiner Automation wählst du als Trigger "Template" und trägst dann bei Wert-Template folgendes ein:

YAML:
{{
states('sensor.wintergarten') >
states('sensor.wohnzimmer')
}}

Für sensor.wintergarten trägst du den Sensor ein, der dir die Temperatur im Wintergarten anzeigt. Für sensor.wohnzimmer.... Na du weißt schon 😉
Achte drauf, dass Gänsefüßchen etc. an ihren Stellen bleiben.

Ich nehme an, Alexa Media Player ist installiert?

Wenn ja, dann nimmst in deiner Automation als Action sowas hier:

YAML:
service: notify.alexa_media
data:
  data:
    method: all
    type: announce
  target:
    - media_player.uberall
  message: "Die Wäsche ist fertig! "

Unter target trägst die gewünschte Alexa ein und bei message ihre Botschaft. Das gibt sie dann als Ankündigung aus.
 
Guten Morgen,
ich habe das gestern wie folgt eingegeben:
Code:
alias: Fenster auf Wohnzimmer
description: ""
trigger:
  - platform: template
    value_template: |-
      {{
      states('sensor.terasse_netatmo_temperature') >
      states('sensor.wohnzimmer_netatmo_temperature')
      }}
condition: []
action:
  - service: notify.alexa_media
    data:
      data:
        method: all
        type: announce
      target:
        - media_player.echo_show
      message: Macht die Fenster auf, draußen ist wärmer
mode: single

Aber mitten in der Nacht wurde das Teil ausgelöst ;-). Irgendwie scheint er was anderes gemacht zu haben:

entity_id: automation.fenster_auf_wohnzimmer
  state: 'on'
  attributes:
    last_triggered: '2022-11-10T20:05:03.868673+00:00'
    mode: single
    current: 0
    id: '1668109730692'
    friendly_name: Fenster auf Wohnzimmer
  last_changed: '2022-11-10T20:44:39.514178+00:00'
  last_updated: '2022-11-10T20:44:39.514178+00:00'
  context:
    id: 01GHHMK76T0TSBT84W1VNM604Z
    parent_id: null
    user_id: null
trigger:
  platform: template
  entity_id: sensor.terasse_netatmo_temperature
  from_state:
    entity_id: sensor.terasse_netatmo_temperature
    state: '10'
    attributes:
      state_class: measurement
      unit_of_measurement: °C
      attribution: Data provided by Netatmo
      device_class: temperature
      friendly_name: Terasse_Netatmo Temperature
    last_changed: '2022-11-11T04:26:47.131590+00:00'
    last_updated: '2022-11-11T04:26:47.131590+00:00'
    context:
      id: 01GHJF1CYVJQSXKB5YBRK4DDTF
      parent_id: null
      user_id: null
  to_state:
    entity_id: sensor.terasse_netatmo_temperature
    state: '9.9'
    attributes:
      state_class: measurement
      unit_of_measurement: °C
      attribution: Data provided by Netatmo
      device_class: temperature
      friendly_name: Terasse_Netatmo Temperature
    last_changed: '2022-11-11T04:46:47.196473+00:00'
    last_updated: '2022-11-11T04:46:47.196473+00:00'
    context:
      id: 01GHJG60WWV79QJNWC7V04BPE7
      parent_id: null
      user_id: null
  id: '0'
  idx: '0'
  alias: null
  for: null
  description: sensor.terasse_netatmo_temperature via template

Es scheint als wenn er auslöst sobald die Temperatur auf einem Sensor runter geht. Wobei dann auch viel zu spät ausgelöst wurde.

Vielleicht hat noch einer einen Tipp?

Gruß Andreas
 
Zuletzt bearbeitet von einem Moderator:
Das ja merkwürdig.
Gib mal unter Entwicklerwerkzeuge -> Template folgendes ein
YAML:
{{states('sensor.terasse_netatmo_temperature')}}
{{states('sensor.wohnzimmer_netatmo_temperature')}}
Und poste mal was da dann rauskommt.
 
Hat das seitdem nochmal falsch ausgelöst? Ich seh da nämlich auch kein Problem.

Man könnte noch mit einer kleinen Änderung die Nachkommastellen wegnehmen und nurnoch ganze Zahlen vergleichen, aber ansich sollte das keinen Unterschied machen.

Das Template aktualisiert jedes Mal, wenn einer der beiden Sensoren seinen Wert ändert.
 
Die Sensoren als solches aktualisieren sich - je nach Hersteller - bei mehr oder minder großen Temperaturänderungen.
Bleibt die Temperatur gleich, bleiben sie einfach bei zb. 22.0°C

Beobachte mal, ob nochmal falsch ausgelöst wird und sag dann bescheid
 
Also gerade wurde korrekt ausgelöst. Das hat gut geklappt. Ich denke das nächste mal wird erst wieder ausgelöst wenn die Temperatur drunter ist und erneut drüber. Das wäre super.
 
Guten Morgen, leider heute nacht wieder ausgelöst. Das kann ich durch eine Uhrzeiteinschränkung verhindern aber warum er das macht ist mir nicht klar:


YAML:
this:
  entity_id: automation.fenster_auf_wohnzimmer
  state: 'on'
  attributes:
    last_triggered: '2022-11-11T14:14:54.379864+00:00'
    mode: single
    current: 0
    id: '1668109730692'
    friendly_name: 'Wohnzimmer: Fenster öffnen'
  last_changed: '2022-11-11T12:15:26.110501+00:00'
  last_updated: '2022-11-11T14:14:54.761938+00:00'
  context:
    id: 01GHKGP95A75TW1PSQV891BXFR
    parent_id: 01GHKGP956N2HHSV0243K2DQ2Z
    user_id: null
trigger:
  platform: template
  entity_id: sensor.terasse_netatmo_temperature
  from_state:
    entity_id: sensor.terasse_netatmo_temperature
    state: '10'
    attributes:
      state_class: measurement
      unit_of_measurement: °C
      attribution: Data provided by Netatmo
      device_class: temperature
      friendly_name: Terasse_Netatmo Temperature
    last_changed: '2022-11-12T00:54:53.789758+00:00'
    last_updated: '2022-11-12T00:54:53.789758+00:00'
    context:
      id: 01GHMNA4JXTVNP08PNZM8EK2EW
      parent_id: null
      user_id: null
  to_state:
    entity_id: sensor.terasse_netatmo_temperature
    state: '9.9'
    attributes:
      state_class: measurement
      unit_of_measurement: °C
      attribution: Data provided by Netatmo
      device_class: temperature
      friendly_name: Terasse_Netatmo Temperature
    last_changed: '2022-11-12T01:14:53.782259+00:00'
    last_updated: '2022-11-12T01:14:53.782259+00:00'
    context:
      id: 01GHMPEREPHRSZSZZD7EX7TZVK
      parent_id: null
      user_id: null
  id: '0'
  idx: '0'
  alias: null
  for: null
  description: sensor.terasse_netatmo_temperature via template
 
Zuletzt bearbeitet von einem Moderator:
Guten Tag,
@andybit: bitte nutz die Funktion zum korrekten Abbilden des YAML Codes deiner Konfiguration. Eine kurze Anleitung findest du hier:
https://forum.heimnetz.de/threads/hinweis-zum-thema-einfuegen-von-yaml-code-in-beitraegen.1019/

Damit machst du es anderen leichter, den Code...
...besser lesen zu können.
...schneller auf Fehler (Einrückungen) im Code aufmerksam zu werden
..dir schlussendlich schneller / besser helfen zu können.

Solltest du Probleme mit dem Einfügen im Code-Format haben, meld dich gerne per PM (Umschlagsymbol neben deinem Username).
Danke!
 
Hmm, beide Fehlalarme sind aufgetreten, als die Temperatur auf der Terrasse von 10 auf 9.9 gefallen ist. So wirklich erklären kann ich mir das allerdings nicht.
Du kannst noch folgendes probieren:

YAML:
{{
(states('sensor.terasse_netatmo_temperature')|int(0)-1) >
(states('sensor.wohnzimmer_netatmo_temperature')|int(0))
}}

Das |int(0) kürzt alles hinterm komma, aus 9.9 wird also glatt 9.
Ich hab noch ne Differenz von 1 Grad mit eingebaut, als kleiner Schwellwert.
 
Ich habe den Code noch mal angepasst und auch eine Zeit eingefügt.

Vielen Dank für eure Hilfe. Werde ich bestimmt noch mal drauf zurückkommen. ;-)
 
Hallo, da bin ich noch mal. Vielleicht gibt es noch eine idee aber ich nerve meine Familie mit den ganzen Fehlermeldugen ;-) Er scheint einfach die beiden Sensoren nicht zu vergleiche. Mein Aktueller Code sieht so aus:

YAML:
[CODE=yaml]{{
states('sensor.terasse_netatmo_temperature') > states('sensor.wohnzimmer_netatmo_temperature')
}}
[/CODE]

Die Sensoren geben beim testen die richtigen Temperaturen aus. Aber im Trace scheint er zwei mal die Tearrasse zu nutzen:
YAML:
this:
  entity_id: automation.fenster_auf_wohnzimmer
  state: 'on'
  attributes:
    last_triggered: '2022-11-27T17:00:01.712612+00:00'
    mode: single
    current: 0
    id: '1668109730692'
    friendly_name: 'Wohnzimmer: Fenster öffnen'
  last_changed: '2022-11-25T17:26:46.449217+00:00'
  last_updated: '2022-11-27T17:00:03.372448+00:00'
  context:
    id: 01GJX0G49E61M7BRG4MDJ905YA
    parent_id: 01GJX0G491S5AXZ9WH4BSMEHB9
    user_id: null
trigger:
  platform: template
  entity_id: sensor.terasse_netatmo_temperature
  from_state:
    entity_id: sensor.terasse_netatmo_temperature
    state: '10'
    attributes:
      state_class: measurement
      unit_of_measurement: °C
      attribution: Data provided by Netatmo
      device_class: temperature
      friendly_name: Terasse_Netatmo Temperature
    last_changed: '2022-11-28T15:20:06.632183+00:00'
    last_updated: '2022-11-28T15:20:06.632183+00:00'
    context:
      id: 01GJZD5WQ83NVRVEFE05FAJVTB
      parent_id: null
      user_id: null
  to_state:
    entity_id: sensor.terasse_netatmo_temperature
    state: '9.9'
    attributes:
      state_class: measurement
      unit_of_measurement: °C
      attribution: Data provided by Netatmo
      device_class: temperature
      friendly_name: Terasse_Netatmo Temperature
    last_changed: '2022-11-28T15:30:06.492394+00:00'
    last_updated: '2022-11-28T15:30:06.492394+00:00'
    context:
      id: 01GJZDR6GW4GSMFKMGC33QQMJZ
      parent_id: null
      user_id: null
  id: '0'
  idx: '0'
  alias: null
  for: null
  description: sensor.terasse_netatmo_temperature via template
 
Zuletzt bearbeitet von einem Moderator:
Nein, das verstehst du falsch. Im Trace wird angegeben, welche Entität die Automation ausgelöst hat. Also hat in deinem Fall eine Veränderung der Temperatur auf der Terrasse dazu geführt, dass das Template "true" rendert.
 
ach so. Aber ausgelöst wird trotzdem nicht richtig. Es ist draussen ja viel kälter als drin. Und ich würde gerne eine Meldung haben wenn es im Wintergarten wärmer ist als im Wohnzimmer. ;-(
 
Mach mal folgendes. In deiner Automation deaktivierst du mal deinen Trigger und erstellst einen neuen (egal welchen, einfach dass da ein neuer ist). Dann gehst beim Neuen über die drei Punkte auf "yaml bearbeiten" und kopierst da folgendes rein:

YAML:
platform: numeric_state
entity_id: sensor.terasse_netatmo_temperature
for:
  hours: 0
  minutes: 5
  seconds: 0
value_template: >-
  {{
  float(states('sensor.terasse_netatmo_temperature'), 0) -
  float(states('sensor.wohnzimmer_netatmo_temperature'), 0)
  }}
above: 0

Das rechnet Terrasse minus Wohnzimmer. Wenn 5 Minuten lang das Ergebnis größer 0 ist, geht die Automation los.

Berichte mal, ob das bei dir funktioniert.

Mit dieser Art von Trigger steuere ich meine Warmwasserpumpe und das läuft fantastisch.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.001
Beiträge
50.147
Mitglieder
4.684
Neuestes Mitglied
bluestorm
Zurück
Oben