Home Assistant 2022.8.6 Konfiguration für Ihren WQHD INSTAR MQTTv5 Broker

Installation mit Docker

docker pull homeassistant/home-assistant:latest
mkdir -p /opt/homeassistant/{config}
chmod -R 775 /opt/homeassistant
docker run -d --rm --privileged --net=host --name='home-assistant' -e 'TZ=Europe/Berlin' -v /opt/homeassistant/config:/config homeassistant/home-assistant:latest

Grundlegende Einrichtung

Öffnen Sie Ihren Browser auf http://localhost:8123/onboarding.html und erstellen Sie ein Benutzerkonto, um sich anzumelden:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Auf dem Weg dorthin können wir direkt die MQTT Addon:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Und verbinden Sie es mit dem MQTTv5 Broker Ihrer Kamera:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Verwandeln Sie Ihre MQTT-Topics in Switches

Wenn Sie dem oben beschriebenen Installationspfad gefolgt sind, finden Sie nun die Hauptkonfigurationsdatei unter /opt/homeassistant/config/configuration.yaml. Hier können wir einen Import für Switch-Elemente hinzufügen, die wir zum Schalten des Kamerazustands über die MQTT-API verwenden möchten:

# MQTT
# switch: !include mqtt/switches.yaml /deprecated
mqtt: !include mqtt/entities.yaml

Erstellen Sie nun den Ordner mqtt neben der Konfigurationsdatei und erstellen Sie darin die Datei switches.yaml:

mkdir mqtt
nano mqtt/entities.yaml

Hier können wir z.B. 4 Schalter erstellen, die die Privatsphärenmasken in unserer Kamera umschalten können. Wenn Sie Ihre Kamera so einstellen, dass sie das Präfix cameras und die MQTT ID 115 verwendet:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Können Sie die folgende Konfigurationsdatei verwenden - Sie können die verwendeten MQTT-Topics durch beliebige Topics aus unserer MQTTv5 API ersetzen:

switch:
  - name: 'Garden Red Alarm Area'
    state_topic: 'cameras/115/status/alarm/areas/red/enable'
    command_topic: 'cameras/115/alarm/areas/red/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Blue Alarm Area'
    state_topic: 'cameras/115/status/alarm/areas/blue/enable'
    command_topic: 'cameras/115/alarm/areas/blue/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Green Alarm Area'
    state_topic: 'cameras/115/status/alarm/areas/green/enable'
    command_topic: 'cameras/115/alarm/areas/green/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Yellow Alarm Area'
    state_topic: 'cameras/115/status/alarm/areas/yellow/enable'
    command_topic: 'cameras/115/alarm/areas/yellow/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Privacy Mask 1'
    state_topic: 'cameras/115/status/multimedia/privacy/region1/enable'
    command_topic: 'cameras/115/multimedia/privacy/region1/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Privacy Mask 2'
    state_topic: 'cameras/115/status/multimedia/privacy/region2/enable'
    command_topic: 'cameras/115/multimedia/privacy/region2/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Privacy Mask 3'
    state_topic: 'cameras/115/status/multimedia/privacy/region3/enable'
    command_topic: 'cameras/115/multimedia/privacy/region3/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Privacy Mask 4'
    state_topic: 'cameras/115/status/multimedia/privacy/region4/enable'
    command_topic: 'cameras/115/multimedia/privacy/region4/enable'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Auto Gamma'
    state_topic: 'cameras/115/status/multimedia/image/gamma/auto'
    command_topic: 'cameras/115/multimedia/image/gamma/auto'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Auto Denoise'
    state_topic: 'cameras/115/status/multimedia/image/denoise/auto'
    command_topic: 'cameras/115/multimedia/image/denoise/auto'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Flip'
    state_topic: 'cameras/115/status/multimedia/image/transform/flip'
    command_topic: 'cameras/115/multimedia/image/transform/flip'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false
  - name: 'Garden Mirror'
    state_topic: 'cameras/115/status/multimedia/image/transform/mirror'
    command_topic: 'cameras/115/multimedia/image/transform/mirror'
    qos: 1
    payload_on: '{"val":"1"}'
    payload_off: '{"val":"0"}'
    optimistic: false
    retain: false


number:
  - name: 'Garden Brightness'
    object_id: in9408_brightness
    unique_id: in9408_brightness
    icon: 'mdi:brightness-6'
    state_topic: 'cameras/115/status/multimedia/image/brightness'
    command_topic: 'cameras/115/multimedia/image/brightness'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 100
    step: 1
    unit_of_measurement: '%'
    qos: 1
    optimistic: false
  - name: 'Garden Contrast'
    object_id: in9408_contrast
    unique_id: in9408_contrast
    icon: 'mdi:contrast-box'
    state_topic: 'cameras/115/status/multimedia/image/contrast'
    command_topic: 'cameras/115/multimedia/image/contrast'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 100
    step: 1
    unit_of_measurement: '%'
    qos: 1
    optimistic: false
  - name: 'Garden Saturation'
    object_id: in9408_saturation
    unique_id: in9408_saturation
    icon: 'mdi:palette-outline'
    state_topic: 'cameras/115/status/multimedia/image/saturation'
    command_topic: 'cameras/115/multimedia/image/saturation'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 100
    step: 1
    unit_of_measurement: '%'
    qos: 1
    optimistic: false
  - name: 'Garden Hue'
    object_id: in9408_hue
    unique_id: in9408_hue
    icon: 'mdi:palette-outline'
    state_topic: 'cameras/115/status/multimedia/image/hue'
    command_topic: 'cameras/115/multimedia/image/hue'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 360
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Sharpness'
    object_id: in9408_sharpness
    unique_id: in9408_sharpness
    icon: 'mdi:shark-fin-outline'
    state_topic: 'cameras/115/status/multimedia/image/sharpness'
    command_topic: 'cameras/115/multimedia/image/sharpness'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 100
    step: 1
    unit_of_measurement: '%'
    qos: 1
    optimistic: false
  - name: 'Garden Vibrancy'
    object_id: in9408_vibrancy
    unique_id: in9408_vibrancy
    icon: 'mdi:palette-outline'
    state_topic: 'cameras/115/status/multimedia/image/vibrancy/value'
    command_topic: 'cameras/115/multimedia/image/vibrancy/value'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 255
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Gamma'
    object_id: in9408_gamma
    unique_id: in9408_gamma
    icon: 'mdi:gamma'
    state_topic: 'cameras/115/status/multimedia/image/gamma/preset'
    command_topic: 'cameras/115/multimedia/image/gamma/preset'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 18
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Denoise'
    object_id: in9408_denoise
    unique_id: in9408_denoise
    icon: 'mdi:contrast-box'
    state_topic: 'cameras/115/status/multimedia/image/denoise/preset'
    command_topic: 'cameras/115/multimedia/image/denoise/preset'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 15
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Max ISO'
    object_id: in9408_isomax
    unique_id: in9408_isomax
    icon: 'mdi:brightness-6'
    state_topic: 'cameras/115/status/multimedia/image/isomax'
    command_topic: 'cameras/115/multimedia/image/isomax'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 1
    max: 32
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Auto IR LEDs'
    object_id: in9408_autoled
    unique_id: in9408_autoled
    icon: 'mdi:lightbulb-night-outline'
    state_topic: 'cameras/115/status/features/nightvision/autoled'
    command_topic: 'cameras/115/features/nightvision/autoled'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 2
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Auto IRcut'
    object_id: in9408_autoircut
    unique_id: in9408_autoircut
    icon: 'mdi:lightbulb-night-outline'
    state_topic: 'cameras/115/status/features/nightvision/autoircut'
    command_topic: 'cameras/115/features/nightvision/autoircut'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 2
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Red Alarm Area Sensitivity'
    object_id: in9408_red_area_sense
    unique_id: in9408_red_area_sense
    icon: 'mdi:cctv-off'
    state_topic: 'cameras/115/status/alarm/areas/red/sensitivity'
    command_topic: 'cameras/115/alarm/areas/red/sensitivity'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 100
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Blue Alarm Area Sensitivity'
    object_id: in9408_blue_area_sense
    unique_id: in9408_blue_area_sense
    icon: 'mdi:cctv-off'
    state_topic: 'cameras/115/status/alarm/areas/blue/sensitivity'
    command_topic: 'cameras/115/alarm/areas/blue/sensitivity'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 100
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Green Alarm Area Sensitivity'
    object_id: in9408_blue_area_green
    unique_id: in9408_blue_area_green
    icon: 'mdi:cctv-off'
    state_topic: 'cameras/115/status/alarm/areas/green/sensitivity'
    command_topic: 'cameras/115/alarm/areas/green/sensitivity'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 100
    step: 1
    qos: 1
    optimistic: false
  - name: 'Garden Yellow Alarm Area Sensitivity'
    object_id: in9408_blue_area_yellow
    unique_id: in9408_blue_area_yellow
    icon: 'mdi:cctv-off'
    state_topic: 'cameras/115/status/alarm/areas/yellow/sensitivity'
    command_topic: 'cameras/115/alarm/areas/yellow/sensitivity'
    value_template: '{{ value_json.val }}'
    command_template: '{"val":"{{ value }}"}'
    min: 0
    max: 100
    step: 1
    qos: 1
    optimistic: false

button:
  - name: 'Garden Alarm Trigger'
    command_topic: 'cameras/115/alarm/pushalarm'
    payload_press: '{"val":"1"}'
    icon: mdi:alarm-light
    qos: 2
    retain: false
  - name: 'Garden Reboot'
    command_topic: 'system/reboot/now'
    payload_press: '{"val":"1"}'
    icon: mdi:cog-refresh-outline
    qos: 2
    retain: false

Beachten Sie, dass Sie sowohl das Befehl- als auch das Status-Topic hinzufügen müssen. Wenn Sie den Parameter "Optimistic" auf "False" setzen, aktualisiert jeder Schalter das Befehlsthema, wenn er umgeschaltet wird, schaltet aber erst dann um, wenn die Kamera die Statusaktualisierung zurückgibt - was bedeutet, dass der Befehl empfangen und ausgeführt wurde.

Hinzufügen von Schaltern als UI-Elemente

Nachdem wir nun unsere Schalter definiert haben, müssen wir sie zu unserem Dashboard hinzufügen. Beginnen Sie mit der Aktivierung des Edit-Modus:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Erstellen Sie eine neue Dashboard-Registerkarte:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Und klicken Sie auf Add Card, um ein neues Element hinzuzufügen:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Hier müssen Sie Entitäten auswählen:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Und fügen Sie alle Schalter hinzu:

type: entities
entities:
  - entity: switch.privacy_mask_1
  - entity: switch.privacy_mask_2
  - entity: switch.privacy_mask_3
  - entity: switch.privacy_mask_4
title: Privacy Mode
state_color: true

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker

Speichern Sie Ihr Dashboard und probieren Sie es aus:

Home Assistant mit Ihrem WQHD INSTAR MQTTv5 Broker