Vorherigen Wert von input_select abfragen ?

HaUsr23

Member
Hallo zusammen,

gibt es in HA eigentlich eine Möglichkeit den letzten Wert vorm Umschalten eines input_select's zu lesen ?
Oder muss man sich sowas mit ner Automation basteln ?

Danke.
 
Gehen tut so ziemlich viel.
Wenn Du mal die Aufgabenstellung ein wenig konkretisieren könntest.
Könnte man Dir ein wenig unter die Arme greifen.
 
Ich nutze den input_select zur Umschaltung eines Bereichs im Dashboard (custom grid layout), je nach Wert werden andere Informationen angezeigt. Manche möchte ich dann nur für nee Minute oder so anzeigen und auf das davor ausgewählte zurück schalten, also quasi den vorherigen Wert des input_select.
Ich habe es jetzt mit Helfer und ner Automation gelöst, eleganter wäre es wenn es den vorherigen Wert geben würde.
 
Ausgehend davon, dass der Input Select der Auslöser ist. Würde eine Automatisierung, die beim Auswählen der Option 2 nach eine Minute den Input select auf die vorherige Auswahl zurückstellt, so aussehen.
YAML:
alias: Vorherige Auswahl wiederherstellen
description: ""
trigger:
  - platform: state
    entity_id:
      - input_select.xyz
    to: Option 2
condition: []
action:
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
  - service: input_select.select_option
    data:
      option: "{{trigger.from_state.state}}"
    target:
      entity_id: input_select.xyz
mode: single

Mit
YAML:
{{trigger.from_state.state}}
Rufst Du den Wert der Entität welche die Automatisierung ausgelöst hat auf, der vor dem Auslösen vorgeherrscht hat.
 
Ja, cool, danke Dir !
Dann gibt es ja wohl doch den vorherigen Wert.
Werde ich mein Sytem gleich mal überarbeiten !
 
Was meinst Du mit Zurück?
Ist damit der Dienst "input_select.select_previous" bzw. Vor "input_select.select_next" gemeint?

Damit gehts Du ja in der Auswahlliste der Optionen nur vor oder Zurück. Würde also nur bei 2 Auswahl Optionen zuverlässig funktionieren.
 
Hallo!
Da möchte ich ich als Anfänger in HA mal einklinken und fragen wie ich eine aktuelle Jalousieposition nach Auslösung eines Triggers (drücken eines Knopfes) in einer int Varible speichern kann.
Eine Helfer entity_id namens input_number.i_dj_oase_jalousie_level deklariert.
Die Automation sieht so aus:
YAML:
alias: Hole Level Jalousie
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.b_schalter_fuer_test
    from: "on"
    to: "off"
condition: []
action:
  - service: input_number.set_value
    metadata: {}
    data: {}
    target:
      entity_id: input_number.i_dj_oase_jalousie_level
mode: single

Wenn ich jetzt den Knopf drücke, passiert nichts, die Variable wird nicht mit dem Wert der Jalousie befüllt, der Zustand bleibt bei 0.0
Hat jemand eine Idee warum der Wert nicht in die Variabel geschrieben wird und warum der Typ der Variabel nicht int sondern double ist?
Danke für die Info!
Schöne Grüße
Mercy
 
Wenn ich das richtig sehe schreibst Du in
input_number.i_dj_oase_jalousie_level
einen Wert, der in data angegeben ist, da is aber nix, somit wird der Wert wohl 0 sein.
Du müsstest dann in data die Jalousie Position auslesen und eintragen.
Kann Dir gerade nicht sagen wie das in YAML aussieht, {{ state(…. , wäre gut wenn die erfahren YAMLer dazu was schreiben könnten, sorry.
 
Jetzt wo das so schreibst sehe ich auch dass nur ein Trigger (Änderung des Zustandes des Tasters) ausgelöst wird und dass dann ein (Zahlen)wert (hier scheinbar NULL) in die Variable geschrieben wird.

Hast Du eine Idee wie ich automationen in verschiedene Dateien nutzenkann?
Mich stört es dass die automation.yaml beim speichern die alte gnadenlos überschriebt und meine manuellen Automationen immer wider weg sind.
 
Verstehe nicht ganz was für ein Problem Du mit der automation.yaml hast ?
Wenn Du z.B. die Einstellungen->Automationen anlegst, bearbeitest oder löschst, dann macht das HA in der Datei schon richtig.
Solltest Du direkt in der Datei rumfummeln mit dem File Editor oder Studio Code Server ist natürlich Vorsicht geboten.
Ich gehe oft hin und kopiere mir den yaml code, den ich bearbeite zuvor in eine Datei, quasi als add-hoc Backup, falls irgendwas schief geht hat man dann noch den alten Code, da es leider keine Undo Funktion gibt.
Grundsätzlich solltest Du natürlich auch ein Backup Add-On nutzen, das dann z.B. täglich ein Backup, natürlich nicht auf dem gleichen Medium anlegt.
 
Verstehe nicht ganz was für ein Problem Du mit der automation.yaml hast ?

ich habe damit kein Problem
Wenn Du z.B. die Einstellungen->Automationen anlegst, bearbeitest oder löschst, dann macht das HA in der Datei schon richtig.
Solltest Du direkt in der Datei rumfummeln mit dem File Editor oder Studio Code Server ist natürlich Vorsicht geboten.
Ich gehe oft hin und kopiere mir den yaml code, den ich bearbeite zuvor in eine Datei, quasi als add-hoc Backup, falls irgendwas schief geht hat man dann noch den alten Code, da es leider keine Undo Funktion gibt.

Mein Problem ist, wenn ich eine Automation über den Assistenten in der GUI erstelle, dann wird in der *.yaml als device_id eine Zahl mit 32 Ziffern genommen.
YAML:
device_id: ac7d32156e8db9fe066d7509ecadf666
entity_id: a8b0661edbe8466185bba508ca8e5946
Angenommen es gibt eine Jalousie Integration von Shelly. Diese Integration wird in diversen Automationen genutzt
- Beschattung, aber nur wenn wir zu Hause sind
- Beschattung zu einer bestimmten Uhrzeit beenden und Jalousien hoch fahren
- wir verlassen das Haus, alle Jalousien gehen zu
- wir kommen wieder, alle Jalousien auf den ursprünglichen Wert setzen
- wenn es dunkel wird, Jalousien nach Regeln (einige später runter fahren, einige nur halb runter fahren usw) herunter fahren
- wenn die Sonne aufgeht, Jalousien hoch fahren, aber nur wenn wir zu Hause sind
- Jalousien über die App hoch und herunter fahren
- usw.

Leider sind mir in der Vergangenheit (sowohl die Homematic, als auch die Shelly) mal abgeraucht. Wenn ich jetzt einen neuen Jalousieschalter einbaue, dann bekommt dieser eine andere numerische entity_id.
Dann muss ich alle Automationen anfassen um den neuen Schalter nutzen zu können.
Das ist zwar nicht so häufig, aber es kommt eben mal vor.
Und um jetzt nicht durch jede Automation durchklicken zu müssen, nehme ich lieber die "sprechenden Namen" der Integrationen, so wie auch in vielen Hinweisen und Dokumentationen.
z.B.

Code:
entity_id: cover.dj_oase_jalousie

Dann muss ich im Falle eines Austausches nur die entity_id des neuen Gerätes anpassen und alles läuft weiter wie vorher, da die Automationen auf die entity_id: cover.dj_oase_jalousie zugreifen.
Im ioBroker konnte ich dafür einen Alias anlegen auf den sich alle Scripte und Programme bezogen haben.

Wenn ich diese "sprechenden Namen" der entity_id in der automations.yaml eingebe und später eine neue Automation erstellen lasse, wird aus entity_id: cover.dj_oase_jalousie wieder entity_id: a8b0661edbe8466185bba508ca8e5946
Leider kann ich beim Erstellen der Automation mittels GUI die entity_id nicht auswählen, sondern nur das Gerät, und damit kommen wieder diese 32 Zahlen als entity_id.

Grundsätzlich solltest Du natürlich auch ein Backup Add-On nutzen, das dann z.B. täglich ein Backup, natürlich nicht auf dem gleichen Medium anlegt.

Ja, das war das erste was ich eingerichtet habe. Jeden Tag zwei Full Backups, solange bis alles richtig läuft, dann geht es, je nachdem wie groß das File wird, auf inkrementelle Backups mit wöchentlichen Full Backup.

Ich hoffe ich konnte mich verständlich ausdrücken warum ich nicht ganz glücklich bin mit den entity_id in Zahlenform.

Ich möchte sehr sehr gern auf HA umsteigen da mir die von mir genutzten Integrationen deutlich besser gefallen als im ioBroker und der WAF ist hier im Hause mit HA deutlich höher als im ioBroker.
 
Mein Problem ist, wenn ich eine Automation über den Assistenten in der GUI erstelle, dann wird in der *.yaml als device_id eine Zahl mit 32 Ziffern genommen.
YAML:
device_id: ac7d32156e8db9fe066d7509ecadf666
entity_id: a8b0661edbe8466185bba508ca8e5946
Dann wähle nicht "Gerät", um irgendwas zu schalten, sondern die Entität direkt.
Klar kannst Du unter Gerät z.B. "Rolläden" ansprechen, aber dann hast Du da halt Zahlen stehen. Besser ist es, wenn Du tiefer schaust und z.B: bei "Abdeckung" wählst, die Aktion festlegst und dann unten "ENTITÄT" und das entsprechende Rollo wählen.
 
Dann wähle nicht "Gerät", um irgendwas zu schalten, sondern die Entität direkt.
Klar kannst Du unter Gerät z.B. "Rolläden" ansprechen, aber dann hast Du da halt Zahlen stehen. Besser ist es, wenn Du tiefer schaust und z.B: bei "Abdeckung" wählst, die Aktion festlegst und dann unten "ENTITÄT" und das entsprechende Rollo wählen.

Das ist es was ich gesucht habe, jetzt kann ich weiter meine Automationen verfeinern. Ich danke dir für den hilfreichen Tipp!
 
Das erzähle ich dir schon die ganze Zeit "in Automationen keine Geräte (harte IDs), sondern Zustände, Entities u.ä verwenden"
 
Das erzähle ich dir schon die ganze Zeit "in Automationen keine Geräte (harte IDs), sondern Zustände, Entities u.ä verwenden"
Sorry, du erzählst mir die ganze Zeit was ich zu machen habe, aber wie, das behältst Du immer schön für dich!
Das ist für einen Anfänger nicht zielführend, da habe ich mehr Hilfe erwartetet.
Aber vielleicht bist Du ja bereit mir einen Tipp zu geben wie ich hier vorgehen muss:
- ein virtueller Schalter soll eine Steckdose ein- oder ausschalten
Wenn ich diesen virtuellen Schalter als Trigger (wenn) nutzen will, kann ich eine Entity auswählen, bei der Ausführung (dann mache) habe ich nur die Möglichkeit ein Geräte auszuwählen. Somit sehe ich keine Möglichkeit auf die Entity_id switch.xxx zuzugreifen


2024-02-07 18_48_22-Einstellungen – Home Assistant.jpg

Wenn ich hier noch die Möglichkeit finde statt des Gerätes eine Entity_ID zu wählen, wäre ich glücklich und kann die Automationen fertig stellen.
Danke und Gruß
Mercy
 
Du schaust dir die Liste an, was passend sein könnte, z.B. Schalter :)
Deinem automation.yaml Hickhack kann ich auch nicht folgen.
Entweder du schreibst manuell erstellte Automations da rein (mit id) oder du erzeugst sie im UI und wenn du was ändern oder reinkopieren willst, schaltest du oben rechts auf yaml Ansicht (bevorzugte Variante).
 
Das erzähle ich dir schon die ganze Zeit "in Automationen keine Geräte (harte IDs), sondern Zustände, Entities u.ä verwenden"
Das typische Problem, wenn man schon zu tief in der Materie steckt. ;)
Wenn ich nen Kunden mit Computerproblemen habe, versuche ich immer, dem da so zu erklären, als wäre er ein jugendlicher, der gerade anfängt.
Das ist auch der Grund, warum meine Anleitungen hier meist recht ausführlich sind. Jemand, der schon tiefer in der Materie steckt, wird mich sicher verfluchen, aber ein Anfänger kommt damit meist besser klar. So erging es mir nämlich auch, als ich letztes Jahr mit HA angefangen habe und hier nach Hilfe geschaut habe.

Aber klasse, das es bei Mercyful jetzt klappt.
 
Das typische Problem, wenn man schon zu tief in der Materie steckt. ;)
Wenn ich nen Kunden mit Computerproblemen habe, versuche ich immer, dem da so zu erklären, als wäre er ein jugendlicher, der gerade anfängt.
Das ist auch der Grund, warum meine Anleitungen hier meist recht ausführlich sind. Jemand, der schon tiefer in der Materie steckt, wird mich sicher verfluchen, aber ein Anfänger kommt damit meist besser klar. So erging es mir nämlich auch, als ich letztes Jahr mit HA angefangen habe und hier nach Hilfe geschaut habe.

Aber klasse, das es bei Mercyful jetzt klappt.

Hallo RudiP!
Ja, das sehe ich genauso, wenn schon Hilfe angeboten wird, dann sollte das genauso aussehen wie du beschrieben hast. Mache ich genauso. Dank deiner Hilfe konnte ich in viele Skripte aus ioBroker in HA erstellen und jetzt geht es ans Debugging :)
Schöne Grüße
Mercy
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.638
Beiträge
47.421
Mitglieder
4.286
Neuestes Mitglied
levoni
Zurück
Oben