Table of Contents
Home Assistant
Basic Setup
Docker script
TODO LINK
Homeassistant OS ist unsere Basis für die Hausautomation. Es gibt verschiedene Methoden wie man die Homeassistant Software installieren kann, wir hatten eine Zeit lang einen Docker Container.
Der Container hat jedoch ein paar Nachteile mit sich gebracht, weshalb ein Wechsel wünschenswert war:
1. Keine Plugins verfügbar (nur HACS) 2. Dadurch, dass der NGINX am Server auch containerisiert ist, kann man aufs Host Netzwerk nicht zugreifen (und der Docker Container ist wegen dem Auto-Detect für neue Komponenten genau so gelaufen)
Verzeichnisstruktur
TODO
Hardware
Mainboard: ASRock Q1900M (Micro ATX Motherboard, 64 bit) CPU: Intel® Quad-Core Processor J1900 RAM: 8GB DDR3/DDR3L (2x4 GB) Netzteil: Jou Jye Computer ENP-200 200W Mini-ITX Grafikkarte: onboard (Intel® 7th generation (Gen 7) graphics) Soundkarte: onboard (Realtek ALC662 Audio Codec) Festplatte(n): TODO Sonstiges:
verwendete Ports
Es gibt eigentlich nur einen relevanten Port (8123).
Angebundene Peripherie
TODO
Konfiguration, Backup & Sonstiges
Integrationen
Mobiltelefone
Spritpreise
Für die Spritpreisanzeige muss man mehrere Dinge machen:
- Einen REST Sensor im config file erzeugen und ein Template dafür schreiben
- Die Ausgabe in einer Karte darstellen (ich habe eine Markdown Karte verwendet, da die Ausgabe dort sinnvoll formattierbar ist)
Rest Sensor erzeugen
Bei den Sensoren muss man darauf achten, dass die Syntax & Einrückung korrekt ist, da sonst einfach gar nichts angezeigt wird.
Am Besten man startet mit einem ganz simplen Sensor, wie dem oben beschriebenen IP Adressen Sensor.
Ich habe für die Spritpreisanzeige aufpassen müssen, dass ich mit der Ausgabe nicht über 255 Zeichen komme, da dies das Maximum für einen Sensor darstellt.
TODO: Aktuell ist noch offen, dass die Lat / Long von der Home Zone genommen wird, anstatt.
# extracted from
# https://api.e-control.at/sprit/1.0/doc/index.html?url=https://api.e-control.at/sprit/1.0/api-docs%3Fgroup%3Dpublic-api#/search/searchGasStationsByAddressUsingGET
- platform: rest
resource: https://api.e-control.at/sprit/1.0/search/gas-stations/by-address?latitude=48.221750&longitude=16.530180&fuelType=DIE&includeClosed=false
method: GET
name: "Spritpreise"
value_template: >
{% for state in value_json -%}
{% if loop.index < 6 %}|{{loop.index}}|{{ state.name.split()[0] }}|{{state.location.address}}|{{state.location.postalCode}}|{% if state.prices %}{{state.prices[0].amount|replace(".", ",") }}€
{% else %}-
{% endif %}
{{ '\n' }}
{% endif %}
{%- endfor %}
scan_interval: 1800
Sensordaten in Markdown verwenden
Scheinbar ist es möglich, “Meta”-Sensoren zu erstellen, die die Rest-Calls absetzen und die Daten zwischenhalten. In weiterer Folge zieht man diese dann zur weiteren Verwendung heran.
Weitere Ressourcen zum Thema Sensoren:
Quelle(n)
IT Homeautomation
