Attribute eines Sensors in Home Assistant nutzen

Entitäten also auch Sensoren können in Home Assistant neben dem eigentlichen Zustand auch noch weitere Attribute haben, die beliebig genutzt werden können. Hierdurch stehen einem unzählige weitere Werte zur Verfügung, welche für Automatisierungen beispielsweise genutzt werden können. Wie man auf diese Attribute zugreifen kann, erkläre ich dir in diesem Beitrag. Da vermutlich einige nun irritiert sein werden, worum es sich bei Attributen einer Entität handelt, möchte ich diese zunächst an einem konkreten Beispiel erklären: Was wir im obigen Screenshot sehen, ist der Dialog Entwicklerwerkzeuge Zustände für die Entität sensor.pixel_5n_geocoded_location. Bei der Entität handelt es sich um eine von der Home…

Wenn ein Attribut eine Leerstelle hat, dann so: {{states.sensor.anjas_iphone_11_pro_max_geocoded_location.attributes[‚Sub Locality‘]}} Doch wie kann ich das in einer Karte darstellen?

Also wenn dein iPhone 11 Pro Max mit einer Person (Anja) verknüpft ist, solltest du bei einem Klick auf person.anja eigentlich eine OpenStreetMap-Karte angezeigt bekommen mit dem zuletzt bekannten Standort.

Hey ich stehe etwas auf dem Schlauch. Wie kann ich die Attribute aktivieren? Bei mir fehlt der Reiter komplett.

Hi Christian, also ich habe bewusst nichts getan, um die Attribute sehen zu können. Auch auf meiner DEV-Umgebung von Home Assistant, die noch relativ unangetastet ist, habe ich die Ansicht Entität, Zustand, Attribute, wenn ich in den Entwicklerwerkzeugen auf Zustände wechsel.

Ich habe das zwar hinbekommen. Aber der Wert des Attributs (eine Temperatur) wird nur 1x gelesen. Und zwar, wenn ich die config yaml (Template) neu starte. Danach ändert sich zwar der Wert (sehe ich in meiner Ios App) aber diese geänderten Werte tauchen in Home Assitant nicht auf. Wie füge ich also ein „Refresh“ durch, damit ich ständig den aktuellen Wert in home assistant bekomme.

Kann es sein, dass du einen Handy-Sensor ausliest, der von der Home Assistant App bereitgestellt wird? Was du schreibst, klingt nämlich ein wenig danach. Und wenn dem so ist, klingt das für mich danach, als wäre die Aktualisierungsfrequenz der App-Sensoren auf „selten“ eingestellt. Bei Android kann man in den App-Einstellungen unter _ Aktualisierungsfrequenz der Sensoren _ wählen zwischen: Normal, Schnell während des Ladens, Immer schnell. Hilft das ggf.?

Hi, hat wer eine Idee, ein Attribut (Helligkeit) entsprechend eines Wertes in einem Sensor (Dimmer) zu ändern. Mit Automatisierung kann ich zwar das Attribut auslesen, aber scheinbar nicht schreiben, oder? Danke für egal welchen input :slight_smile: Thomas

Hallo Danke für die Ausführungen. So kann ich die laufenden Attribute von Entitäten saauber auslesen und verwenden. Mir fehlt aber eine andere Möglichkeit. Die Attribute ändern sich aber stellenweise dynamisch. Hast Du eine Idee, wie man, per „Knopf“ auf dem Dashboard, gezielt ein Atribut „irgendwo“/„irgendwie“ zu einem bestimten Zeitpunkt zwischenspeichern kann? Ich habe bei meiner Thermostat-Steuerung mehrere Automationen am Laufen, welche die Temperatur zu bestimmten Tageszeiten einstellt. Jetzt möchte ich aber, auf Wunsch meiner Frau, auf dem Heizungsdashboard, Button anlegen, die die Automation gezielt „übersteuert“. Das funktioniert auch so weit und die „Übersteuerung“ bleibt auch so lange aktiv, bis die nächste Automation greift. Ich möchte aber in diese Button noch eine Funktion einbauen, welche den aktuell eingestellten Wert des Thermostats irgendwo sichert. Dann möchte ich einen „Reset“-Button bauen, welcher diesen zwischengespeicherten Wert nimmt und die Thermostat-Steuerung wieder auf den, vor der „Übersteuerung“ gesicherten Wert zurücksetzt. Has Du eine Idee wie man soetwas umsetzen kann und vielleicht auch ein kleinen Code-Schnipsel? Danke im Voraus. MfG Frank

Hi Frank, wenn ich dich richtig verstanden habe, würde ich das wie folgt umsetzen: In dein bestehendes Übersteuern baust du ein scene.create ein:`

  • service: scene.create
    data:
    scene_id: ‚zustand_alt‘
    snapshot_entities: climate_device
    Und in deinem "Reset-Button" führst du dann lediglich ein scene.turn\_on aus:
  • service: scene.turn_on
    target:
    entity_id: ‚zustand_alt‘
    `So müsste das eigentlich funktionieren. Da ich hierzu noch gar keinen Beitrag geschrieben habe, werde ich das wohl mal am Wochenende nachholen müssen! :wink: VG Olli PS: Das Einrücken des Codes erfolgt leider nicht wie gewünscht! Du musst das beim Nachbauen bitte beachten (also im 1. code data auf der Höhe von service und alles folgende weiter eingerückt; im 2. Code target auf der Höhe von service und die entity_id weiter eingerückt)!

Hi Frank, falls du mehr Infos hierzu brauchst, habe ich ganz aktuell einen Beitrag dazu geschrieben: https://smarterkram.de/5547/ VG Olli

Hallo Oli , hallo Leute, ich möchte den Status (siehe attribuste unten )von „Deicing active“ auslesen bzw wissen ob er true oder false ist und bekomme das einfach nicht hin. Hat jemand eine Idee ?

 

options:

  • Frost protection

  • Standby

  • „Heating: Compressor shutdown“

  • „Heating: Compressor blocked“

  • „Heating: Prerun“

  • „Heating: Compressor active“

  • „Heating: Overrun“

  • „Cooling: Compressor shutdown“

  • „Cooling: Compressor blocked“

  • „Cooling: Prerun“

  • „Cooling: Compressor active“

  • „Cooling: Overrun“

  • „Heating: Immersion heater active“

  • „Warm Water: Compressor blocked“

  • „Warm Water: Prerun“

  • „Warm Water: Compressor active“

  • „Warm Water: Immersion Heater active“

  • „Warm Water: Overrun“

  • „Heating: Immersion Heater shutdown“

  • „Heating: Immersion Heater blocked“

  • „Warm Water: Immersion Heater shutdown“

  • „Warm Water: Immersion Heater blocked“

  • Air purging program active

  • Deicing active

  • Frequency converter fault

  • „Connection fault: frequency converter“

  • 4-port-valve position fault

 

device_class: enum

Weniger anzeigen

 

 

@bernd32457 Hi! Kannst du einen Screenshot aus den Entwicklerwerkzeugen von der Entität bereitstellen, in dem die Spalte „Attribute“ sichtbar ist?

@olli

@olli Hallo Oli, hiermit der  Screenshot 😀

 

@bernd32457 Top, danke dir!

Das sieht, sagen wir mal, interessant aus, was da an Daten bereitgestellt wird. Strukturiert ist es leider nicht, aber ggf. hilft dir mein Code dennoch.

Probier’ mal in den Entwicklerwerkzeugen unter Template aus, ob du mit folgendem Code eine Ausgabe der „options“ bekommst:

{{ state_attr("sensor.ebusd_hmu_ebusd_hmu_statuscode_scode", "options") }}

Wenn ja, kannst du mit einer einfachen Abfrage überprüfen, ob der Wert „Deicing active“ in der Auflistung enthalten ist:

{% if 'Deicing active' in state_attr("sensor.ebusd_hmu_ebusd_hmu_statuscode_scode", "options") %}
    ja
{% else %}
    nein
{% endif %}

Schau’ sicherheitshalber mal, ob ich den Namen des Sensors korrekt abgetippt habe.

@olli Hallo Oli, erstmal vielen Dank für deine Mühen. Ich denke aber ich habe falsch ausgedrückt. Das der Wert „Deicing active“ in der Auflistung vorhanden will ich nicht prüfen da es offensichtlich ist und z.b. bei Beginn der Enteisung im Logbuch als Meldung eingetragen wird. Ich möchte den Status auslesen um zu wissen ob ob „Deicing active“ an oder aus ist. Mit den Informationen bzw die beiden Zuständen möchte ich z.b. Betriebsstunden ermitteln die für die Enteisung anfallen oder Verlustleistung berechnen die bei Enteisung anfällt.

Alle hier aufgeführten „Options“  sind auch verfügbar.

options:

  • Frost protection
  • Standby
  • „Heating: Compressor shutdown“
  • „Heating: Compressor blocked“
  • „Heating: Prerun“
  • „Heating: Compressor active“
  • „Heating: Overrun“
  • „Cooling: Compressor shutdown“
  • „Cooling: Compressor blocked“
  • „Cooling: Prerun“
  • „Cooling: Compressor active“
  • „Cooling: Overrun“
  • „Heating: Immersion heater active“
  • „Warm Water: Compressor blocked“
  • „Warm Water: Prerun“
  • „Warm Water: Compressor active“
  • „Warm Water: Immersion Heater active“
  • „Warm Water: Overrun“
  • „Heating: Immersion Heater shutdown“
  • „Heating: Immersion Heater blocked“
  • „Warm Water: Immersion Heater shutdown“
  • „Warm Water: Immersion Heater blocked“
  • Air purging program active
  • Compressor oil heating activated
  • Fan 1 blocked
  • Fan 1 air inlet too high
  • Fan 1 air inlet too low
  • Fan 2 blocked
  • Building circuit flow too low
  • Building circuit pump fault
  • „Frequency converter fault: Compressor“
  • „Frequency converter fault: Mains voltage“
  • „Frequency converter fault: Overheating“
  • Deicing time too long
  • Deicing flow temperature too low
  • Compressor outlet temperature too high
  • Hot gas temperature switch open
  • „Fan 1: Wind“
  • „Fan 2: Wind“
  • Current limt active
  • High pressure switch open
  • Compressor outlet temperature too high
  • Evaporation temperature too low
  • Condensation temperature too low
  • Evaporation temperature too high
  • Condensation temperature too high
  • Building circuit return temperature too low
  • Building circuit return temperature too high
  • „Immersion heater: Flow temperature too high“
  • Deicing active
  • Frequency converter fault
  • „Connection fault: frequency converter“
  • 4-port-valve position fault

device_class: enum
friendly_name: "ebusd hmu Statuscode "
 

@bernd32457 Das verstehe ich irgendwie nicht.

Ich möchte den Status auslesen um zu wissen ob ob „Deicing active“ an oder aus ist.

Ist das jetzt ein Status oder eine Information im Attribut? 

…da es offensichtlich ist und z.b. bei Beginn der Enteisung im Logbuch als Meldung eingetragen wird

Aber dann kennst du doch den aktuellen Zustand, wenn es als Meldung im Logbuch steht?

Alle hier aufgeführten „Options“  sind auch verfügbar.

Meinst du damit, dass dies die möglichen Zustände der Entität sein können? Dann kann dort also als Zustand „Deicing active“ stehen? Da es kein „Deicing inactive“ gibt, unterstelle ich, dass jeder andere Zustand, als „Deicing active“ dann als „inactive“ anzusehen ist? Und wenn dem so ist, willst du vermutlich eigentlich nur wissen, wie lange die Entität den Zustand „Deicing active“ hatte und 24h abzüglich dieses Zustandes wäre dann „Deicing inactive“?

Sorry, wenn ich unnötig viel Frage, aber aus der Ferne verstehe ich es bislang noch nicht so richtig :thinking: :laughing: 

@olli sorry, du hast Recht ich möchte die möglichen Zustände der Entität  auswerten / weiterverarbeiten . Es z.B. den Zustand „Deicing active“ ein / true oder aus / false.