HUE dim-switch via Node-RED

Deze dimmer/switch heeft 4 knoppen waarmee een aantal standaard functies aangeroepen kunnen worden, te weten:

  • Aan
  • Dim omhoog
  • Dim omlaag
  • Uit

Bedienen via HUE app

De standaard functies zijn dan geconfigureerd. Daarbij kan deze schakelaar ook ’tellen’ hoe vaak je achter elkaar de aanknop indrukt (max. 5 keer) en afhankelijk van het aantal kunnen dan verschillende acties uitgevoerd worden. Standaard is dat het volgende via de HUE app:

Bedienen met Apple Home App

In de HUE app kun je ook aangeven dat je de switch wilt configureren in Apple Home ipv. in de HUE app. In de Home App (Woning) kun je dan aangeven wat er moet gebeuren als er op één van de 4 knoppen wordt gedrukt.

Bedienen met Node-RED

Een derde manier van het gebruik van deze dimmer/schakelaar is door gebruik te maken van Node-RED. Verwijder de dimmer uit de HUE app voor methode 1 of in de HUE app kun je ook aangeven dat je de switch wilt Configureren in een andere app voor methode 2.

Methode 1: Zigbee2MQTT

Aangezien de dimmer met Zigbee werkt kan deze ge-paired worden met ZHA of Zigbee2MQTT. Ik heb dat laatste gedaan en in Zigbee2MQTT heb ik het ‘DimmerKantoorNico’ genoemd.

Zigbee2MQTT maakt er dan een MQTT entiteit van en dat zien we terug in de MQTT integratie

Bovenaan zie je de ‘Action‘ sensor en hier kunnen we dus gebruik van maken in automatiseringen zoals bv. Node-RED. (let op dat topics in MQTT case-sensitive zijn!)

Luister op topic in MQTT

De eerste state-node vraagt de status-verandering op van de action-sensor. Dit zou ook een MQTT-In-node kunnen zijn met het topic zigbee2mqtt/DimmerKantoorNico/#

Beide nodes hebben de volgende payloads die we in een switch-node plaatsen:

Afhankelijk welke button ingedrukt wordt en of dat kort of lang is, volgt een actie op de betreffende uitgang van de switch die het licht aan, uit, helderder of dimmen. Belangrijk hierbij is om de ‘release’ actions te gebruiken! Naast het licht kan dan ook eventueel de media-player bedient worden, ik gebruik korte release (press) voor het licht en lange release (hold) voor de media_player.

Methode 2: HA via de HUE integratie

In Home Assistant kan nu gebruik gemaakt worden van de events die de buttons genereren bij het indrukken van één van die knoppen. Hiervoor zijn, door de HUE integratie, 4 events per HUE schakelaar aangemaakt in Home Assistant:

  • Schakelaar Button 1 – Aan
  • Schakelaar Button 2 – Dim +
  • Schakelaar Button 3 – Dim –
  • Schakelaar Button 4 – Uit

De buttons zijn de 4 buttons op de wandschakelaar, gezien van boven naar beneden. De standaard functies staan erachter en die kunnen we vrij eenvoudig in Node-RED in een flow maken. De event types van de buttons in deze flow, zijn:

  • long_release
  • short_release

Aan de uitgangen van de event-nodes kunnen nu switch-nodes gekoppeld worden die de events van de buttons afvangen en dan de verlichting bedienen met een service-node. Bij een long-release laat ik de lamp in 10 seconden naar 100% of naar 20% gaan, bij een short-release zijn dat steeds stappen van 10%. De flow ziet er dan zo uit:

Om te voorkomen dat de events uitgevoerd worden bij een (her)start van Home Assistant kan een extra controle toegevoegd worden aan de flow waarin een ‘initial_press’ event gedetecteerd wordt. Dit event wordt namelijk gebruikt bij een druk op één van de knoppen en niet bij een herstart van Home Assistant. De controle kan gedaan worden met een switch-node waarbij de old_state een event is voorafgaand aan een druk op een knop:

De controle komt dan tussen event- en de switch-nodes:

Home Assistant uitbreiding

Wij hebben voor het alarm-systeem een bewegingsensor in de keuken maar die kan uiteraard ook voor het licht gebruikt worden. Als er beweging wordt gedetecteerd terwijl de zon onder is, dan gaat het licht aan. Is er geen beweging voor een bepaalde tijd dan gaat het licht weer uit. In Home Assistant is een input-binary als helper die deze sensor kan overbruggen zodat de verlichting niet aan- of uitgaat bij beweging. De dimmer/schakelaar laat ik bij de aan- en uit functie tevens de overbrugging aan- of uitzetten. Hierdoor gedraagt de dimmer/schakelaar zich als permanente schakelaar, onafhankelijk van een beweging.