====== 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 ==== TODO Zonen HACS * https://hacs.xyz/docs/setup/download * https://hacs.xyz/docs/configuration/basic ===== 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 [[https://community.home-assistant.io/t/rest-sensor-state-max-length-is-255-characters/31807/13|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 [[https://community.home-assistant.io/t/grabbing-a-sensor-value-in-markdown-card/332028|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: * https://community.home-assistant.io/t/sonoff-pow/40672/34 * https://github.com/home-assistant/core/pull/10753 * https://www.reddit.com/r/homeassistant/comments/atlvml/restful_sensor_rest_result_could_not_be_parsed_as/ * https://community.home-assistant.io/t/solved-how-to-use-json-attributes-e-g-mqtt-sensor/40790 * https://community.home-assistant.io/t/sonoff-pow/40672 * https://community.home-assistant.io/t/extracting-multiple-attributes-from-json/167427 ===== Quelle(n) ===== {{tag>IT Homeautomation}}