Homeassistant

Mit dem Thema controllerX kennt sich carsten_h (bei den SmartHome Dummies) aus.
Habe es selber nicht in Verwendung.

Der Dienst “media_player.volume_up” erhöht die Lautstärke um 2%
Möchtest Du die die Erhöhung flexibel gestalten, verwendest Du den Dienst “media_player.volume_set”.
Dieser ist eigentlich dazu gedacht eine absolute Lautstärke zu setzen. Mit einem Template kannst Du aber auch einen relative Erhöhung realisieren.
Bsp. aktulle Lautstärke + 15

  - service: media_player.volume_set
    data_template:
      volume_level: |
        {{ state_attr('media_player.bad', 'volume_level') + 0.15 |float}}
    target:
      entity_id: media_player.bad

Schaue mal bitte unter Entwicklungswerkzeuge → Ereignisse. Höre dort auf das Ereignis “deconz_event” zu.
Wenn Du jetzt den Button drehen tust, kommt da jeweils nur 1 Ereignis an. Oder immer wieder, solange dieser gedreht wird?

Wenn ich anfange den Controller im Uhrzeigersinn zu drehen, wird das Event 2001 ausgelöst. Erst wenn ich wieder aufhöre zu drehen wird das Event 2003 ausgelöst. Es ist also nur 1 Ereignis.

Sprich also 2 Möglichkeiten:

  1. Drehen egal wie lange und die Lautstärke wird um Wert x erhöht.

  2. Auslöser event 2001: Drehen und solange gedreht wird die lautstarke in Dauerschleife um Wert x erhöhen alle x ms.
    Die schleife abbrechen bei event 2003.

Möglichkeit 1 ist ja der aktuelle Zustand den ich ja nicht möchte.
Wie wird Möglichkeit 2 denn umgesetzt? Vermutlich per YAML, oder?
Über die “normale” Automatisierung wüsste ich jedenfalls nicht wie es gehen soll, bzw. überfordern mich einige Möglichkeiten völlig.

Neu Automatisierung anlegen

Wichtig: Modus: Neu starten

Erstelle 2 Auslöser, der eine für event 2001 und der andere für Event 2003


id: ikea_symfonsik musst Du gegen die id Deines Schalters ersetzen!

Füge jedem Auslöser die Trigger_id ein (3 Punkte → Trigger ID bearbeiten)
2001 → Trigger-ID = start
2003 → Trigger Id = stopp

Als Aktionstyp: Auswählen.
Option 1
→ Bedingung: Ausgelöst durch “Start”

→ Aktion: Aktionstyp Wiederholen auswählen , Anzahl Wiederholungen z.B. 10

Aktion der Option hinzufügen
Aktionstyp : Dienst ausführen. Über die 3 Punkte in Yaml wechseln.
und diesen code einfügen:

service: media_player.volume_set
data_template:
  volume_level: |
    {{ state_attr('media_player.bad', 'volume_level') + 0.10 |float}}
target:
  entity_id: media_player.bad

Die media player entity musst Du gegen Deine austauschen.

Dann noch eine zusätzliche Aktion Warten Auf den Ablauf von Zeit (Verzögerung)
Dauer z.B. 01s hinzufügen.

Mit dem Auslöser 2001 wir die Lautstarke in Abstand von 1s um 0.10 erhöht, maximal 10 mal oder wenn event 2003 erfolgt.

Beim Trigger 2003 (stopp) wird die Automatisierung neu gestartet und die Standard-Aktionen ausgeführt In diesem Fall keine Aktion.

Wichtig: Modus: Neu starten

Kannst Du also alles im grafischen Editor erstellen.
Vollständigkeitshaber hier die YAML:

alias: Test - deconz event lautstarke
description: ''
mode: restart
trigger:
  - platform: event
    event_type: deconz_event
    event_data:
      id: ikea_symfonsik
      event: 2001
    id: start
  - platform: event
    event_type: deconz_event
    event_data:
      id: ikea_symfonsik
      event: 2003
    id: stopp
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: start
        sequence:
          - repeat:
              count: '10'
              sequence:
                - service: media_player.volume_set
                  data_template:
                    volume_level: >
                      {{ state_attr('media_player.bad', 'volume_level') + 0.10
                      |float}}
                  target:
                    entity_id: media_player.bad
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 1
                    milliseconds: 0
    default: []

1 Like

Heute Morgen habe ich einen weiteren Umzug beendet.
Ich bin mit der kompletten Beleuchtung auf HA gewechselt. Am Anfang hatte ich wie immer Probleme, aber durch viel Fragen, war es letztlich eine lösbare Aufgabe.
Es ist tatsächlich möglich, die komplette Automation einen Flow zu packen. 1:0 für HA.

Ich habe noch fast alle Bewegungsmelder an Homey hängen.
Im Flur werkeln beispielsweise 3 Melder, die in Homey gruppiert sind. Diese Gruppe sende ich per MQTT an HA.
Die eigentliche Osram Surface ist bereits unter HA.
Es ist überhaupt kein Problem, dass die an Homey angemeldeten Bewegungsmelder, die an HA eingelernte Lampe füttert. Dank MQTT gibt es die Möglichkeit, die Automationen oder Flows entweder von Beiden, oder oder nur von Einem durchführen zu lassen.
Wie auch immer, die Reaktion ist vergleichbar schnell. Es ist keine merkliche Verzögerung feststellbar.
Die sogenannten YAML Konfigurationen sind noch oft der Horror. Alternativ gibt es aber auch den grafischen Editor. Das sehr praktische an HA ist, dass Konfigurationen geteilt werden können. Du kopierst dir einfach die Konfiguration einer anderen Person, setzt deine Geräte ein, und es funktioniert.
Ich könnte mir jetzt die oben stehende YAML von @Osorkon kopieren, bei mir als YAML einfügen und auf den grafischen Editor umschalten, um meine Geräte einzutragen.
So etwas bei Homey, würde das Erstellen von Flows extrem verkürzen.

Nun ja, ich werde Homey im Moment dennoch nicht ganz untreu werden. Ich bin weiterhin völlig überzeugt davon, dass die Beiden in Kombination, ein unschlagbares Team sind. Beide Systeme ergänzen und entlasten sich gegenseitig, was letztendlich in Summe einen Homey oder Home Assistant der nächsten Generation ergibt.
Selbst beim Thema Matter, wird HA eine Antwort haben und somit wird es Homey dann auch können.

Vielen Dank für die ausführliche, aber für mich auch notwendige Anleitung. Habe geschafft es umzusetzen, konnte es aber noch nicht ausprobieren, Rückmeldung folgt… :wink:
Für mich ist es oftmals nicht nachvollziehbar, wo ich die YAML tlw. notwenigen Informationen (z.B. IDs, Services, Triggernamen) herbekomme. Zwar scheint YAML deutlich einfacher zu sein als LUA beim Fibaro HC2, aber ob ich jemals in der Lage sein werde komplexere YAML Codes zu schreiben, was für komplexere Automatisationen scheinbar notwendig ist, bezweifle ich. Abwarten… :man_technologist:t3:

Hast Du mal ein Beispiel?
Ich denke mit YAML ist das auf jeden Fall möglich, aber wäre es nicht auch mit Homey Skript möglich?

Ich hätte aber noch weitere Fragen an die Allgemeinheit.

  1. Wie kann man HA auch außerhalb des eigenen WLANs erreichen?
    Ich habe zwar schon im Internet gesucht und auch versucht die HA Support Seite Remote access zu verstehen, aber ich stoße an meine Grenzen. Ich weiß nur, dass ich Port Forwarding aus Sicherheitsgründen nicht verwenden sollte.
    Hardwareausstattung:
    – FRITZ!Box als Modem
    – UniFi Dream Router
    Konfiguration:
    – FB ist per Port Forwardig mit dem DR verbunden
    – Kein VPN eingerichtet

  2. Gibt es eine Integration welche wichtige Daten vom Raspberry Pi ausliest/übermittelt (Temperatur, Speicher, etc.)? In HA und HACS habe ich nichts gefunden. Lediglich der Raspberry Pi Power Supply Checker, der übermittelt aber nur den Power-Status.

  3. Was kann man einem Raspberry Pi 3 Model B+ so zumuten? Gibt es irgendwelche Empfehlungen wieviele Integrationen, Add-Ons etc. installiert sein sollten?
    Da ich aktuell noch rumprobiere, möchte ich (noch) nicht in einen 4er RasPi oder Intel NUC investiert. Das würde eventuell in Frage kommen, sollte ich vielleicht mal vollständig auf HA umsteigen.

EDIT

  1. Wenn ich z.B. den Namen eines Gerätes ändere, muss ich den Namen/die (geänderte? ID vermutlich auch in allen YAML Codes ändern, oder? Wenn ja, gibt es eine Hilfetool was das Ganze vereinfacht, z.B. aufzeigt in welchen Codes die ID enthalten ist? Oder wird die ID nie verändert?

@Osorkon, die Automatisierung funktioniert ganz gut, die Werte mussten nur ein bisschen angepasst werden. Eine Frage hätte ich allerdings noch, wofür ist dieser Wert?
image

Ich greife auf HA von “außen” über PortForward zu. Allerdings läuft das bei mir noch über einen ReverseProxy. Ist im Prinzip aber auch nur eine Weiterleitung auf den HA-Server.

Sicherheit…muss man abwägen. Alternativ geht es sonst über das HA-Abo und deren Cloud-Weiterleitung. Dann öffnest du dich aber zur HA-Cloud. Hat beides Vor- und Nachteile.

Gerne.
Wo Du mehr davon findest, weisst Du ja. :grinning:

Out of the Box inkl. Alexa wäre da die Nabucasa Home Assistant Cloud.
Ist die ersten 31 Tage Kostenlos, danach monatliche Gebühren.

Eine weitere Möglichkeit wäre entweder über eine eigne Domain (Subdomain) oder duckdns auf HA von Außerhalb zuzugreifen. In diesem Fall würde ich Dir das Nginx Proxy Manager Addon empfehlen.
Dort kannst Du Deine Hosts wie auch Deine Let’s Encrypt Zertifikate verwalten und anlegen.

Ich persönlich nutze eine eignen Domain in Verbindung mit Nginx Proxy Manager Addon.

Fritz VPN wäre natürlich auch eine Möglichkeit.

Unter Einstellungen → System → Speicher
findest Du z.B. Informationen zum Speicherplatz

Unter Einstellungen → System → Systemzustand
findest Du z.B. Prozessornutzung, Speicherauslastung

Kannst Du auch alles als Sensor anlegen.

Die Temperatur stammt bei mir allerdings aus dem ArgonOne Active Cooling Addon, da ich das Argon Oma m.2 Gehäuse nutze.

Zum testen und die ersten Gehversuche allemal gut.
Für einen Produktiven Einsatz würde ich Dir aber einen Pi4 mit 4GB RAM empfehlen.

Die Namen der Geräte und Entitäten kannst Du im Bereich Einstellungen → Geräte & Dienste in den Reiter Geräte und Entitäten ändern.

Wenn ich Entitäten Namen ändere. Und diese bereits in Automatisierungen, Skripten bereits Verwendung fanden. Nutze ich einfach die Suchen und ersetzen Funktion. In meinem Fall nutze ich den Studio Code Server als Editor.
Es empfiehlt sich aber, die Benennung gleich zu beginn zu erledigen. Am besten nach einen bestimmten Schema, das erleichtert einiges.

Das ist Teil der Schleife. Verzögerung von 1s bevor die Lautstärke wieder um den Wert 0.1 (oder welchen Wert auch immer Du in Verwendung hast) erhöht wird.

Ich regel den Fernzugriff über VPN.
Die Fritze hat doch in der beta-Firmware jetzt Wireguard mit an Bord.

Klar. Mit Hilfe von @Osorkon war das machbar.
Die Aufgabe war folgende:

  • Licht einschalten, wenn Bewegungsmelder anschlagen und Licht wieder aus, wenn für den Zeitraum von xx Minuten keine Bewegung mehr getriggert wird.
  • Das Ganze soll nur zwischen x und y Uhr passieren
  • Es muss unter einem bestimmten Lux-Wert sein
  • Das Licht soll sanft ausblenden
alias: Flur Licht Tag
description: ''
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_flur_gruppe_bewegungs_alarm
    to: 'on'
    id: 'ON'
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_flur_gruppe_bewegungs_alarm
    to: 'off'
    id: 'OFF'
    for:
      hours: 0
      minutes: 5
      seconds: 0
condition:
  - condition: time
    after: '06:00:00'
    before: '00:00:00'
action:
  - choose:
      - conditions:
          - condition: trigger
            id: 'ON'
          - condition: state
            state: 'off'
            for:
              hours: 0
              minutes: 0
              seconds: 0
            entity_id: light.licht_flur_level_on_off
          - type: is_value
            condition: device
            device_id: c222cc9e7171fdafb7f56b1ada5b9ab9
            entity_id: sensor.helligkeit_outside_gruppe_helligkeit
            domain: sensor
            below: 1600
        sequence:
          - service: light.turn_on
            data:
              brightness_pct: 100
            target:
              device_id: 4687c6d9c287355ffed57a218c4c609a
      - conditions:
          - condition: trigger
            id: 'OFF'
        sequence:
          - service: light.turn_off
            data:
              transition: 30
            target:
              device_id: 4687c6d9c287355ffed57a218c4c609a
    default: []
mode: single

Du kopierst den Code. Anschließend erstellst du eine neue Automatisierung. Jetzt wechsel zum YAML Editor. Lösch alles, was da drin ist und füge den Code ein. Jetzt kannst du wieder zurück zum grafischen Editor und deine eigenen Geräte eintragen. Speichern und fertig.

Ich habe einen 3b+ mit SSD für einen Kumpel aufgesetzt. Da sind ein Zigbee und Zwave Stick dran.
Es laufen im Moment knapp knapp 50 Automatisierungen und es sind 65 Geräte dran. Ich hab noch keine Beschwerden gehört, dass etwas langsam ist.

Ich nutze die Home Assistant Cloud.

Nutze darüber die Alexa Integration, An/Abwesenheitserkennung über die Mobile Apps und natürlich den Zugriff von außerhalb.

Klar, könnte man auch ohne Cloud hinbekommen, hatte aber tatsächlich noch keine Zeit & Lust mich darum zu kümmern. Die 5$ im Monat hab ich übrig und muss mich um nichts kümmern.

Euch allen erstmal vielen Dank für Eure Unterstützung! :+1:t3:

Remote Access
Hierfür werde ich dem Vorschlag von @Undertaker folgen, und die Labor FW Version auf die FRITZ!Box installieren. Eventuell folgen aber noch Fragen… :see_no_evil:
Was ist denn mit UniFi Teleport? Das ist doch auch ein VPN. Kann das nicht dazu genutzt werden?
Aufgrund der Kosten wollte ich die Cloud momentan noch nicht unbedingt nutzen, ich teste ja noch rum. Sollte ich dauerhaft HA nutzen, habe ich kein Problem mit den monatlichen Kosten. Schließlich werden damit auch die HA Gründer unterstützt. :+1:t3:

Da der RasPi weder passiv noch aktiv gekühlt wird wäre die Temperatur für mich eigentlich die wichtigste Angabe, aber diese wird scheinbar nirgends gelistet. Wenn ich mich richtig erinnere, wird die Temperatur zumindest mit dem Raspberry Pi OS Betriebssystem ausgegeben, oder? Dann müsste die Temperatur doch eigentlich auch in HA (per Add-On oder was auch immer) ausgelesen werden können.

Habe den Pi3 B+ grade in die Knie gezwungen. Ich hatte ein Gerät umbenannt und wollte mit dem Studio Code Server Editor nach den Entitäten suchen und ggfs. ersetzen. Hatte davor im Editor aber eine Datei angeklickt und nicht abgewartet, bis der Inhalt angezeigt wird. Das war wohl zu viel für den Kleinen…

Ok, dann werde ich damit auch noch was rumspielen und den Wert verringern müssen. Kann eine zu kurze Schleifendauer den Pi auch in die Knie zwingen? Schließlich wird die Automatisation u.U. ja mehrfach in der Sekunde ausgeführt. Hast Du/habt Ihr irgendwelche Erfahrungen?

Das ist natürlich ein großer Vorteil im Gegensatz zu der Problematik bei der Umbenennung von Geräten/Entitäten. Werde ich definitiv mal ausprobieren, wenn ich ein paar mehr Geräte drin habe.

Eine ganz wichtige Frage hatte ich noch vergessen. Aufgrund der aktuellen Problematik mit dem HCS, hatte ich die HA App von Athom installiert, die IP Adresse des Pi eingegeben (http://192.168.1.121:8123/) und mich angemeldet. Wenn ich dann aber ein Gerät hinzufügen möchte, wird nach 30 s ein Timeout angezeigt, es werden keine Geräte angezeigt. Was habe ich vergessen?

Ich hatte die App auch getestet und wie bei dir keine Verbindung hinbekommen. Sieht so aus, als wäre die Anmeldung ok, aber danach bekommt die App keine Daten von HA. Keine Ahnung, an was das liegt. Bei anderen scheint das ja zu funktionieren. Ich hatte aber keine Lust auf eine Meldung an Athom. Sollte ich vielleicht doch nochmal machen…

Darfst nicht alles glauben was die anderen erzählen, selbst bei mir nicht! :crazy_face::grinning:

Per Command Line Sensor

An einem Pi4 mit HA OS funktioniert es.

sensor:
  - platform: command_line
    name: CPU Temperature
    command: "cat /sys/class/thermal/thermal_zone0/temp"
    unit_of_measurement: "°C"
    value_template: "{{ value | multiply(0.001) | round(1) }}"

Ich hab die HA App aus dem Community App Store am Laufen.
Funktioniert


@DirkG
Wenn du Hilfe beim Einrichten von Wireguard auf der Fritze brauchst, meld dich einfach. Läuft bei meiner Mutter auf der 7590 seit Wochen stabil.

Ich habe jetzt mit Hilfestellung in HA einen Heizungsplaner erstellt. Noch ein paar Feinheiten und dann folgt der Test. Dafür krame ich extra zwei Z-Wave Spirits aus der Sperrmüll Schublade und bin gespannt, ob die unter HA genauso viel Theater machen.
Die Tuya Zigbee Thermostate laufen übrigens unter HA völlig fehlerfrei. Die Investition mit den Shelly TRVs hätte ich mir sparen können und dafür die halb so teuren Tuyas nehmen sollen. So wie es aussieht, wird bei der nächsten Heizperiode, HA übernehmen.

Hat Dich das HA Fieber gepackt?! :grinning::grinning:

Ich bin da sehr einfach gestrickt. Der Jenige wo etwas besser kann, darf es zukünftig auch machen. Das finde ich aber nur heraus, in dem ich es ausprobiere.
Gleichzeitig steht man auf zwei Beinen besser wie auf einem. Seit Homey den Flop mit seiner Bridge auf die Beine gestellt hat, bin ich doch sehr misstrauisch, ob das nicht zum finanziellen Disaster für Athom wird und die Kugel mit in den Abgrund reisst.

Eine Frage an die Spezialisten:

Im Moment muss ich Zahlenwerte von Homey Variablen, per Webhook an Home Assistant schicken. Ich habe schon kapiert, dass es POST Hooks sein müssen. Ich bekomme es aber nicht hin, dass der Webhook von HA gefressen wird.

Eine Beispiel YAML von HA, die den Webhook empfangen soll und den Wert in einen Helfer schreiben soll:

alias: ' Wbebhook von Homey'
description: ''
trigger:
  - platform: webhook
    webhook_id: wbebhook-von-homey-cb6_YtlQnOdPpj3W9cyKRpqx
condition: []
action:
  - service: input_number.set_value
    data: {}
    target:
      entity_id: input_number.webhook_homey
mode: single

Die Webhook ID steht absichtlich noch drin, weil es sich um eine reine Test-Datei handelt.

Was genau muss ich hier eingeben, dass etwas bei HA ankommt ? Ist es überhaupt möglich, einen Wert als TAG einzufügen ?
Eine interne Anfrage mit HTTP reicht

Alternativ hab ich noch die App HTTP request flow cards, aber da bin ich genauso überfragt.


Eins, zwei, oder drei, drei Felder sind frei. Ob ich recht habe oder nicht, sagt mir leider nicht das Licht…

Die JSON Anfrage erschien mir am sinnigsten


Den Tag zwischen die Klammern zu setzen funktioniert nicht.

Was die Homey Seite angeht, muss ich passen.

Auf der HA Seite, würde ich nicht mit einer Automatisierung und einem Helfer Arbeiten, sondern mit einem trigger-based template Sensor.
Der Wert den Du übermitteln willst gehört in den Body im json Format. Ein Bsp. könnte ich heute Abend bereitstellen.

Du hast doch aber MQTT am Start! Warum dann der Umweg über Webhooks?!

Klar, MQTT läuft, muss mal testen, ob ich damit klar komme.