-
-
Notifications
You must be signed in to change notification settings - Fork 19
30 MQTT
Es gibt 10 virtuelle Trigger (vTrigger) die per MQTT gesteuert werden können. Die virtuellen Trigger Daten gehen 1:1 auf die normalen Trigger über.
Um einen vTrigger "speichernd" zu erhalten, also über einen Reboot des BSC hinaus, kann dieser als "retain" an das BSC gesendet werden. Sobald das BSC wieder am Broker angemeldet wurde, wird der Trigger-Zustand dadurch direkt wieder mit dem BSC aktualisiert.
Wird der vtrigger 1 aktiviert, dann wird auch Trigger 1 aktiv.
{Device Name}/input/vtrigger/{Trigger Nummer}
{Device Name}: Der Device Name aus den System-Settings
{Trigger Nummer}: Triggernummer von 1 bis 10
Payload:
0 -> Trigger Low
1 -> Trigger High
Um die Übersichtlichkeit der configuration.yaml zu wahren, können getrennte MQTT-Config-Dateien genutzt werden.
Sinnvoll ist es z.B. pro angebundener Hardware eine Datei zu generieren.
Folgende Programmzeile ist in der "config/configuration.yaml" zu hinterlegen:
mqtt:
- sensor: !include_dir_merge_list mqtts/
Die einzelnen MQTT-Konfigurationen werden dann in einem Unterverzeichnis namens "mqtts" hinterlegt. Dieses muss händisch erstellt werden.
Nun müssen die .yaml Dateien an dieser Stelle abgelegt werden. HomeAssistant wird jede der Dateien beim Boot einlesen und auswerten.
Folgend findet Ihr Beispielkonfigurationen für verschiedene Hardware:
- BSC intern
- BMS
- Inverter
- Neey-Balancer
Die Dateien müssen zur Integration statt ".txt" in ".yaml" umbenannt werden.
Leider unterstützt Github .yaml nicht.
Innerhalb der Dateien gibt es pro Sensorwert eine UniqueID welche von jedem definiert werden muss.
Generieren kann man diese beispielsweise mit der "Version 1" auf https://www.uuidgenerator.net/version1 .
Alternativ kann man sehr komfortabel über das Addon namens "Visual Studio Code Server" innerhalb Home-Assistant alle zu ersetzende UUIDs auf einmal ändern. Die selbe Vorgehensweise funktioniert über VisualStudioCode mit dem Addon "UUID Generator von netcorext".
- Markieren des temporären Strings "xxxxx-xxx-xxx-xxx-xxxxx"
- Rechtsklick -> "Change all Occurrences"
- Rechtsklick -> "Generate UUID at Cursor"
➜
- Speichern
Wenn im Vorhinein eine dedizierte mqtt.yaml im Config-Hauptverzeichnis verwendet wurde, kann diese einfach in das soeben erzeugte Verzeichnis kopiert und genutzt werden.
Hierbei ist zu beachten, dass in den ausgegliederten Konfigurationsdateien der Befehl "sensor:" nicht mehr vorhanden sein darf.
Weiterhin müssen die Definitionen nun eine Tabulatorstelle nach links gerückt werden.
#### BSC Inverter
- state_topic: bsc/inverter/chargeCurrentSoll
name: DC-Ladestrom Soll
unique_id: xxxxx-xxx-xxx-xxx-xxxxxxx
state_class: measurement
device_class: current
icon: mdi:current-dc
unit_of_measurement: "A"
device:
{
identifiers: ["BSC-Inverter"],
manufacturer: "BSC",
model: "BSC",
name: "BSC-Inverter",
}
- state_topic: bsc/inverter/dischargeCurrentSoll
name: DC-Entladestrom Soll
unique_id: xxxxx-xxx-xxx-xxx-xxxxxxx
state_class: measurement
device_class: current
icon: mdi:current-dc
unit_of_measurement: "A"
device:
{
identifiers: ["BSC-Inverter"],
manufacturer: "BSC",
model: "BSC",
name: "BSC-Inverter",
}