Hopp til hovedinnholdet
Integrasjoner

Koble til Evolo MQTT-broker

Med Evolo MQTT-broker kan du lese data fra bygget, styre datapunkter og sende inn måledata fra eksterne systemer.

Skrevet av Evolo Support

Sist oppdatert 10 dager siden

Brokeren dekker tre bruksområder:

  • Lese data ut: abonner på verdier fra datapunktene i bygget.

  • Styre datapunkter: skriv nye verdier, for eksempel et settpunkt.

  • Sende data inn: la en ekstern sender, for eksempel en sensorleverandør, publisere målinger rett inn i Evolo.

Før du starter

For å komme i gang trenger du dette:

  • Gatewayen er opprettet og online i Evolo.

  • Du har tilgang til Bruker → Integrasjoner for å opprette en MQTT-nøkkel.

  • Evolo Gateway må ha tilgang til mqtt.evolo.no (Utgående trafikk TCP 8883)

1. Aktiver MQTT på gatewayen

  1. Gå til Konfigurasjon → Gateways.

  2. Åpne gatewayen du vil bruke.

  3. Huk av Aktiver MQTT og klikk Lagre.

Evolo Gateway kobler seg nå til Evolo MQTT-broker og speiler alle datapunktverdier dit. Noter deg også gateway-nøkkelen som vises på gatewayen, for eksempel C5DM-YTZ1-GB71. Den brukes i alle topics.

2. Opprett en MQTT-nøkkel

  1. Gå til Bruker → Integrasjoner og velg fanen MQTT.

  2. Klikk Opprett ny MQTT Klient.

  3. Fyll inn navn og beskrivelse.

  4. Velg tilganger: Les MQTT for å lese, Skriv MQTT for å styre datapunkter eller sende data inn.

  5. Velg hvilke bygg nøkkelen skal gjelde for.

  6. Klikk Opprett.

Kopier verdiene som vises. Tokenet vises bare én gang.

Opprett én nøkkel per integrasjon eller enhet, og gi bare den tilgangen som faktisk trengs. Da er det enkelt å trekke tilbake én integrasjon uten å påvirke de andre.

3. Tilkoblingsdetaljer

Disse verdiene brukes i alle MQTT-klienter, enten det er MQTT Explorer, Node-RED, et SD-anlegg eller en sensorleverandørs egen tjeneste:

FeltVerdi

Host

mqtt.evolo.no

Port

8883 (TLS)

Brukernavn

Nøkkelens UUID, vises i tabellen under fanen MQTT

Passord

Tokenet du kopierte da nøkkelen ble opprettet

Client ID

Velger du selv. Bruk gjerne det klienten eller enheten foreslår

4. Lese data ut

Krever tilgangen Les MQTT. Gatewayen publiserer verdien til hvert datapunkt på:

evolo/<gateway-nøkkel>/tags/<datapunkt-id>/value

Datapunkt-id finner du i datapunktlisten i Evolo.

Topic

Gir deg

evolo/C5DM-YTZ1-GB71/tags/#

Alle datapunktverdier fra gatewayen

evolo/C5DM-YTZ1-GB71/tags/123/value

Verdien til datapunkt 123

evolo/C5DM-YTZ1-GB71/status/#

Om gatewayen er online og siste heartbeat

Verdiene sendes som JSON-tall eller true/false.

5. Styre datapunkter

Krever tilgangen Skriv MQTT. Publiser den nye verdien til:

evolo/<gateway-nøkkel>/tags/<datapunkt-id>/write

Payloaden skal være et rent JSON-tall eller en boolsk verdi, uten å pakkes inn i et objekt:

Topic: evolo/C5DM-YT2Z-GD71/tags/123/write 
Payload: 21.5 

Topic: evolo/C5DM-YT2Z-GD71/tags/456/write 
Payload: true

Datapunktet må være skrivbart på grensesnittet det tilhører, for eksempel et settpunkt på BACnet eller Modbus. Skrivingen går gjennom gatewayen og ut til feltutstyret på samme måte som når du endrer verdien i Evolo.

6. Sende data inn fra en ekstern sender

Har du en sensorleverandør eller et system som selv kan publisere MQTT-meldinger, kan det sende målinger rett inn i Evolo. Da trenger ikke gatewayen å koble seg til leverandørens broker; senderen publiserer til Evolo MQTT-broker, og gatewayen henter meldingene derfra.

Krever en MQTT-nøkkel med tilgangen Skriv MQTT for bygget gatewayen står i.

6.1 Legg til enhet og grensesnitt i Evolo

Gå til Konfigurasjon → Enheter

  1. Legg til en enhet som samler senderen, for eksempel «Airthings» eller «Eksterne sensorer». Skriv mqtt.evolo.no som IP-adresse/vertsnavn. Feltet er påkrevd, men gatewayen kobler seg ikke til det for denne typen; dataene kommer via Evolo MQTT-broker.

  2. Legg til et grensesnitt på enheten med type MQTT innkommende. Grensesnittet trenger ingen broker-innstillinger.

Ett grensesnitt kan motta fra mange fysiske enheter. Det er topicen på hvert datapunkt som skiller dem, så du trenger ikke én enhet i Evolo per sensor.

6.2 Bestem topicene senderen skal bruke

Alle meldinger til gatewayen publiseres under gatewayens eget mottaksområde:

evolo/<gateway-nøkkel>/inbound/<kilde>/...

Delen etter inbound/ bestemmer du selv, gjerne med leverandørnavn og enhetens serienummer, for eksempel:

evolo/C5DM-YT2Z-GD71/inbound/airthings/2930123456/sample 
evolo/C5DM-YT2Z-GD71/inbound/kunde/rom109/vindu

Payloaden bør være JSON. Én melding kan inneholde mange målinger; Evolo henter ut hver måling til sitt eget datapunkt.

6.3 Legg til datapunkter

På grensesnittet legger du til ett datapunkt per måling du vil ha inn:

Felt

Verdi

Topic

Kun delen etter inbound/, for eksempel airthings/2930123456/sample. Dialogen viser den fulle topicen senderen skal bruke.

Javascript for å lese verdi

Hvilket felt i meldingen som skal leses, for eksempel return message.temp;

Boolsk variabel

Huk av hvis verdien skal tolkes som av/på

Flere datapunkter kan bruke samme topic med ulike uttrykk. Med meldingen {"temp": 21.7, "co2": 643} leser ett datapunkt message.temp og et annet message.co2.

Datapunktene kan også importeres fra Excel. Velg Importer → MQTT innkommende i datapunktlisten og last ned malen derfra.

6.4 Konfigurer senderen

Sett opp senderen med tilkoblingsdetaljene fra trinn 3 og topicene fra 6.2. Når senderen publiserer, dukker verdiene opp i datapunktene og går videre til logging, alarmer og skjermbilder på vanlig måte.

Verdiene republiseres også på evolo/<gateway-nøkkel>/tags/<id>/value, så du kan verifisere flyten med en hvilken som helst MQTT-klient.

Se egen artikkel for Airthings: Koble Airthings-enheter til Evolo med MQTT.

Feilsøking

Sjekk at brukernavnet er nøkkelens UUID, at passordet er hele tokenet, og at nøkkelen ikke har utløpt. Nøkkelen må også ha minst én av tilgangene Les MQTT eller Skriv MQTT.

Kontroller at gateway-nøkkelen i topicen er riktig, at nøkkelen gjelder for bygget gatewayen står i, og at tilgangen stemmer: Les MQTT for å abonnere, Skriv MQTT for å skrive og sende inn.

Brokeren husker tilgangen i inntil 10 minutter. Etter det avvises tilkoblinger og meldinger fra nøkkelen. Nye tilganger virker med en gang.

Sjekk at «Aktiver MQTT» er på for gatewayen, at topicen i datapunktet er skrevet uten evolo/…/inbound/-delen, og at uttrykket peker på riktig felt i meldingen.
Bruk Les datapunkt i dialogen for å se siste mottatte verdi.