Programmierung per UI mit Variablen

uwe.koch

New member
Hallo,
ich möchte per Web-Interface / UI gerne Programmierungen erstellen, in denen ich auch Variblen (boolean) verwende.
Speziell möchte ich eine Variable "Abwesend" verwenden, um bestimmte Funktionen zu programmieren, die nur etwas schalten, wenn ich abwesend oder eben nicht abwesend, also zuhause bin.
Die Zuhause-Erkennung per Smatphone-App ist mir viel zu ungenau (mal bin ich zuhause, obwohl ich gerade im Supermarkt bin, meist bin ich abwesend obwohlich im Wohnzimmer sitze ...)
Daher möchte ich die Boolean-Variable benutzen und diese entweder von Hand über die UI ein- oder ausschalten oder auch per Schlüsselschalter an der Haustür beim Verlassen des Hauses.
Der Schlüsselschalter (Gerät) soll dann den Wert der "Abwesend"-Variable setzen können, also z.B. "Schalter aus = Abwesend aus", "Schalter an = Abwesend an"

Ich habe aber in der UI-Automatisierung noch keine Funktion gefunden, mit der ich abhängig vom Schalter (Gerät) die Boolean-Variable setzen kann.

Gibt es da eine Möglichkeit, und wenn ja, welche Aktion / Aktionstype muss ich da verwenden ?
 

Nival

-
Moderator
Mit der UI habe ich mich ehrlich gesagt noch garnicht so wirklich beschäftigt, aber ich könnte mir gut vorstellen, dass eine Kombination aus Deinem Schlüsselschalter und https://www.home-assistant.io/integrations/input_boolean/ zum Erfolg führt. Die Beispiele darunter scheinen sogar relativ gut zu Deinem Anliegen zu passen.

Hast Du Dich schonmal damit auseinandergesetzt, wie die UI-Eingaben sich in Code umsetzen?
 

uwe.koch

New member
Mit der Code-Programmierung habe ich mich aus Zeitmangel noch nicht beschäftigt. (War eigentlich für lange dunkle Winterabende gedacht) Daher hatte ich gehofft, hier UI-Beispiele zu finden.
 

Nival

-
Moderator
Okay... also Option 1, Du wartest bis jemand antwortet der mehr Plan hat als ich, Option 2, ich schreibe Dir ein bisschen Code den Du in die Dateien einfügen und danach über die UI weiter bearbeiten kannst.

Mein aktueller Entwurf beinhaltet einen boolean_input, der sowohl über die Weboberfläche gesteuert werden kann als auch auf einen Sensor reagiert und eine Automatisierung, die auf diesen boolean_input reagiert.
 

uwe.koch

New member
Wäre super, wenn Du mir das schicken könntest (Option 2) mit Anleitung wie ich es wo einfügen muß
 

Nival

-
Moderator
Einen input_boolean kann man auch komplett per UI erstellen:
Einstellungen/Geräte&Dienste/Helfer/Helfer erstellen
Wenn mans kann. Ich hab die Option nichtmal, aber ich hab hier ja auch nur so ein fürs-Forum-rumspiel-HA :D

Wäre super, wenn Du mir das schicken könntest (Option 2) mit Anleitung wie ich es wo einfügen muß
Sorry, grade etwas zeitknapp (und nochmal rumgespielt gehabt und dabei natürlich alles kaputt gemacht :D), aber als Ansatzpunkt - in der configuration.yaml (oder über die Oberfläche, wie @carsten_h es beschrieb, falls das bei Dir geht) den Schalter anlegen:
YAML:
input_boolean:
  i_am_home:
    name: Aktiv wenn daheim
dann in der Übersicht oben rechts die drei Punkte, "Benutzeroberfläche konfigurieren", wieder die drei Punkte, "Raw-Konfigurationseditor" und dieses einfügen:
YAML:
      - type: button
        show_icon: true
        show_name: true
        tap_action:
          action: toggle
        entity: input_boolean.i_am_home
        show_state: true
und dann in die automations.yaml dieses:
YAML:
- id: '1657645493050'
  alias: home_action
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.i_am_home
    from: 'off'
    to: 'on'
  condition: []
  action:
  - event: ''
    event_data:
      msg: notify.notify
  mode: single
- bei der Automatisierung natürlich dann, nach speichern und Neustart, noch die gewünschte Aktion (über die UI) einfügen, das ist aktuell nur ein Platzhalter.

Das wäre dann zumindest schonmal die Variante über "Schalten über UI", die Kombination mit Sensor liefer ich noch nach wenn ichs wieder heile habe, aber eher nicht mehr heute ;)
 

bellini

New member
Wäre super, wenn Du mir das schicken könntest (Option 2) mit Anleitung wie ich es wo einfügen muß

Hi, bei mir sieht das so aus - habe mir das code schreiben gespart. Das kannst du zusammenklicken :)

1657835977599.png

Ich nutze für den Urlaubsstatus einen Helfer vom Typ "input select" - mit dem Status Urlaub 1. nein, 2. zu Hause, 3. auf Reisen. Alternativ kannst du einen Helfer vom Typ "input_boolean" nutzen - wie bei mir im Dashboard für Status Mediaserver, Waschmaschine und Co genutzt. So gehst Du vor.

Einen Helfer über die GUI anlegen:
Einstellungen / Geräte & Dienste / Helfer
Danach den Helfer im Dashboard deiner Wahl einbinden - z.B. via entity card
Und schon kannst du den Helfer in Automatisierungen verwenden - z.B. mit dem visuellen Editor
Auslöser = Zustand Entität - dein Helfer auswählen - gleich on (also im Urlaub)
--- dann Aktionen ausführen ...
geht ganz easy.
Ich nutze es z.B. auch zur Steuerung des Tages - z.B. Wenn der Tag ein "Workday" ist, ich aber im Urlaub bin, dann müssen morgens die Geräte nicht auf standby geschaltet werden...

Hoffe das hilft.
 
Zuletzt bearbeitet:

bellini

New member
Die Zuhause-Erkennung per Smatphone-App ist mir viel zu ungenau (mal bin ich zuhause, obwohl ich gerade im Supermarkt bin, meist bin ich abwesend obwohlich im Wohnzimmer sitze ...)
Daher möchte ich die Boolean-Variable benutzen und diese entweder von Hand über die UI ein- oder ausschalten oder auch per Schlüsselschalter an der Haustür beim Verlassen des Hauses.
Der Schlüsselschalter (Gerät) soll dann den Wert der "Abwesend"-Variable setzen können, also z.B. "Schalter aus = Abwesend aus", "Schalter an = Abwesend an"

Das habe ich fast genauso via visuellen Editor umgesetzt. Allerdings nutze ich noch den WLAN Router zur automatischen Erkennung. Und zusätzlich einen Schlüsselschalter. Dann Status kannst Du über Automatisierungen setzen. Beispiel für den Schlüsselschalter.
Auslöser ist der "Event" des Schalters - also Zustandsänderung
Der Auslöser setzt den Status per Action :entity "person.dein.name" auf "home" oder "not_home". Außerdem muss noch eine Aktion hinzugefügt werden, die über den "Dienst ausführen" den Status des "Helfers" setzt. Dann ist das Schalten über Schlüsselschalter konsistent zum Status im Dashboard. -- siehe bild - hier am Beispiel des Statusetzen für die Alarmanlage.
1657838133432.png
 

bellini

New member
Ich habe aber in der UI-Automatisierung noch keine Funktion gefunden, mit der ich abhängig vom Schalter (Gerät) die Boolean-Variable setzen kann.

Gibt es da eine Möglichkeit, und wenn ja, welche Aktion / Aktionstype muss ich da verwenden ?
Sorry habe ich erst jetzt gesehen - siehe Bild: Aktionstyp Dienst ausführen -- boolescher wert eingeben
 

uwe.koch

New member
Sorry, war die letzten Tage stark beschäftigt.

Danke für die aufschlussreichen Infos.
Inzwischen habe ich das mit dden "Helfern" über die GUI so hinbekommen wie ich es mir vorgestellt hatte.
 

Zurzeit aktive Besucher

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
750
Beiträge
11.133
Mitglieder
310
Neuestes Mitglied
DirkHH
Oben