Toegang tot Node-RED
HyperVisu bevat een krachtige Node-RED-integratie waarmee je aangepaste automatiseringen kunt maken en kunt integreren met externe systemen. Node-RED is een op flow gebaseerde programmeertool die het eenvoudig maakt om hardwareapparaten, API's en online diensten te verbinden zonder uitgebreide programmeerkennis.
Om toegang te krijgen tot de Node-RED-applicatie:
- Navigeer naar de HyperVisu-beheerinterface door het IP-adres van je server in een webbrowser in te voeren
- Log in met je beheerdersreferenties (gebruikersnaam en wachtwoord)
- Klik op de knop "Node-RED" op de serverbeheerpagina
- Een nieuw browsertabblad opent met de inlogpagina van Node-RED
- Gebruik dezelfde gebruikersnaam en hetzelfde wachtwoord als de HyperVisu-beheerinterface om toegang te krijgen tot Node-RED
Opmerking: De Node-RED-omgeving draait op dezelfde hardware als je HyperVisu-server, zodat alle integraties lokaal zijn en geen externe cloudservices vereisen.
Gebruik van HyperVisu Nodes
HyperVisu breidt Node-RED uit door aangepaste nodes toe te voegen die elk type widget in je huisautomatiseringssysteem vertegenwoordigen. Deze nodes stellen je in staat om rechtstreeks vanuit Node-RED met je KNX-apparaten te communiceren.
Node-structuur
De HyperVisu Node-RED-integratie draait om een hoofd "HyperVisu" node die de verbinding met de server beheert en toegang biedt tot alle widgets, kamers en categorieën. Deze kernnode stelt in en onderhoudt:
- Communicatie met de server
- Real-time updates van widgetwaarden
Aanvullende aangepaste nodes vertegenwoordigen elk widgettype dat beschikbaar is in HyperVisu:
- Drukknop - Voor drukknoppen met optionele statusfeedback
- Lichtschakelaar - Voor AAN/UIT-schakelaars specifiek voor verlichting
- Schakelaar AAN/UIT - Voor algemene AAN/UIT-schakelaars (stopcontacten, enz.)
- Analoge Uitgang - Voor het verzenden van analoge waarden binnen een vooraf gedefinieerd bereik
- Shutter/Blind - Voor het bedienen van shutters en blinds
- Temperatuurregelaar - Voor verwarming/koeling controle
- Dimmer - Voor standaard verlichting dimmers
- RGB Dimmer - Voor het bedienen van RGB(W) lichten
- Tunable White Dimmer - Voor het aanpassen van de kleurtemperatuur van witte lichten
- Analoge Ingang - Voor het weergeven van analoge waarden met optionele trending
- Digitale Ingang - Voor het weergeven van digitale statuswaarden
Globale commandonodes zijn ook beschikbaar:
- Globale Lichten - Voor het bedienen van alle lichten in een kamer of categorie
- Globale Shutters - Voor het bedienen van alle shutters in een kamer of categorie
- Scenario - Voor het activeren van vooraf gedefinieerde scenario's
Elke node toont zijn naam en bijbehorende kamer of categorie binnen de node voor gemakkelijke identificatie.
Ingangen en Uitgangen
Widgetnodes hebben doorgaans meerdere ingangen en uitgangen die overeenkomen met de functies van de widget. Bijvoorbeeld:
Dimmer Node:
- Ingangen: Toggle, Aan, Uit, Setpoint (dimbare waarde)
- Uitgangen: Status (aan/uit), Waarde (helderheidsniveau), Aan-opdracht, Uit-opdracht
Shutter/Blind Node:
- Ingangen: Omhoog, Omlaag, Stop, Blind Setpoint, Lamellen Setpoint
- Uitgangen: Beweging Omhoog, Beweging Omlaag, Blindpositie, Lamellenpositie, Omhoog, Omlaag, Stop
Wanneer een node gegevens ontvangt of verzendt:
- De berichtpayload bevat de waarde van de output of input
- Een onderwerpveld bevat de widgetobject-ID
- Een widgetveld bevat de widget-ID
Deze gestandaardiseerde formaten maken het eenvoudig om berichten tussen nodes te verwerken en complexe automatiseringen te bouwen.
Stromen bouwen
Node-RED gebruikt een visuele programmeeraanpak waarbij je nodes aan elkaar verbindt om "stromen" van gegevens te creëren.
Nodes verbinden
Om een stroom in de Node-RED-editor te bouwen:
- Zoek de HyperVisu-nodes in de node-palet aan de linkerkant
- Sleep het gewenste nodetype naar de stroom
- Verbind nodes door lijnen te slepen tussen de output van de ene node naar de input van een andere
- Nodes verwerken berichten sequentieel terwijl ze door de verbindingen stromen
Basisstroompatronen omvatten:
- Triggerstromen: Een triggernode (zoals een invoer of tijdsevent) veroorzaakt een actie via een outputnode
- Transformatiesstromen: Gegevens passeren functie-nodes die waarden wijzigen voordat ze outputnodes bereiken
- Beslissingsstromen: Schakelnodes routeren berichten anders op basis van ontvangen waarden
- Integratiestromen: Nodes van verschillende systemen (MQTT, HTTP, enz.) verbinden om gegevens uit te wisselen
Elke HyperVisu-node moet worden geconfigureerd om verbinding te maken met een specifieke widget in je systeem:
- Dubbelklik op een node om het configuratievenster te openen
- Gebruik het dropdownmenu om de widget te selecteren waarmee het moet verbinden
- Filteropties op kamer, categorie en widgettype om de juiste widget te vinden
- De lijst toont alle widgets met hetzelfde type die beschikbaar zijn vanuit je HyperVisu-configuratie
- Schakel MQTT-brokerpublicatie in/uit indien nodig (verzendt widgetwaarden naar de ingebouwde MQTT-broker)
- Klik op Gereed om de configuratie op te slaan
Voor virtuele widgets kun je waarden rechtstreeks vanuit Node-RED verzenden om de status van de widget bij te werken, zodat je sensoren of systemen kunt integreren die niet rechtstreeks zijn verbonden met je KNX-bus.
Stromen implementeren
Na het bouwen en configureren van je stromen:
- Klik op de Implementeren-knop in de rechterbovenhoek van de Node-RED-interface
- Wacht op het bevestigingsbericht dat een succesvolle implementatie aangeeft
- Je stromen zijn nu actief en beginnen gegevens te verwerken
De Node-RED-omgeving slaat je stromen automatisch op, en ze worden opnieuw opgestart wanneer de HyperVisu-server opnieuw wordt opgestart.
Je kunt de stroomstatus in realtime bekijken:
- Actieve verbindingen tonen statusindicatoren met waarden
- Fouten verschijnen in het debugpaneel (toegankelijk via de rechterzijbalk)
- Gegevens kunnen worden getraceerd met behulp van debugnodes die in de stroom zijn geplaatst
Geavanceerde functies
Integratie van globale opdrachten
Globale opdrachten stellen je in staat om meerdere apparaten tegelijkertijd te bedienen:
- Voeg een Global Lights of Global Shutters-node toe aan je stroom
- Configureer deze om een specifieke kamer of categorie te targeten
- Stuur een "Aan" of "Uit" bericht naar de input van de node om alle lichten in die kamer te bedienen
- Voor shutters, stuur "Omhoog" of "Omlaag" om alle blinds/shutters te bedienen
Dit is bijzonder nuttig voor het creëren van scènes of tijdgebaseerde controles die meerdere apparaten beïnvloeden.
Scenario-activering
HyperVisu-scenario's (vooraf gedefinieerde groepen van apparaatsituaties) kunnen rechtstreeks vanuit Node-RED worden geactiveerd:
- Voeg een Scenario-node toe aan je stroom
- Configureer deze om het specifieke scenario uit de beschikbare scenario's lijst te selecteren
- Verbind een triggernode met de input
- Wanneer geactiveerd, wordt het scenario uitgevoerd alsof het vanuit de mobiele app is geactiveerd
Dit stelt je in staat om complexe triggers voor je scenario's te creëren op basis van tijd, externe gebeurtenissen of sensorgegevens.
Integratie van IoT-apparaten
Een groot voordeel van de Node-RED-integratie is het verbinden van niet-KNX IoT-apparaten met je HyperVisu-systeem:
Integratie van externe sensoren:
- Maak een virtuele widget in HyperVisu
- Voeg de bijbehorende Node-RED-node toe (zoals Analoge Ingang)
- Verbind een externe gegevensbron (MQTT, HTTP, enz.) met deze node
- Wanneer gegevens binnenkomen, wordt de virtuele widget bijgewerkt en verschijnt deze in de HyperVisu-app
Bediening van externe apparaten:
- Maak een virtuele outputwidget in HyperVisu
- Voeg de bijbehorende Node-RED-node toe (zoals Schakelaar)
- Verbind de output met een node die je externe apparaat bedient (HTTP-verzoek, MQTT-publicatie, enz.)
- Wanneer je de virtuele widget in HyperVisu bedient, activeert dit de externe actie
De ingebouwde MQTT-broker kan voor elke widget worden ingeschakeld, waardoor de statuswijzigingen worden uitgezonden op onderwerpen die overeenkomen met de widgetobject-ID. Dit maakt het eenvoudig om andere MQTT-compatibele apparaten te laten reageren op gebeurtenissen in je huis.
Integratievoorbeelden:
- Verbind weer-API's om buitentemperaturen op virtuele widgets weer te geven
- Bediening van slimme apparaten die verschillende protocollen gebruiken
- Registreren van energieverbruiksgegevens van slimme meters in InfluxDB
- Bouw aangepaste logica voor geavanceerde automatiseringen op basis van meerdere voorwaarden
Door gebruik te maken van deze Node-RED-integratie kun je HyperVisu uitbreiden buiten de native KNX-mogelijkheden om een werkelijk uitgebreide slimme thuisoplossing te creëren die al je systemen integreert.