Skip to content
Tueftler edited this page Nov 2, 2024 · 13 revisions

Virtual Trigger

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.

Beispiel

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

MQTT in Home-Assistant integrieren

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.

grafik

Nun müssen die .yaml Dateien an dieser Stelle abgelegt werden. HomeAssistant wird jede der Dateien beim Boot einlesen und auswerten.

Beispielkonfigurationen

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"

3

  • Rechtsklick -> "Generate UUID at Cursor"

4

5

  • Speichern

Dateien

BSC-Internal.txt

BSC-Inverter.txt

BSC-BMS1_serial2.txt

BSC-Neey1_BLE.txt

Vorhandene MQTT-Konfiguration in neuem Verzeichnis integrieren

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",
        }