Hoppa till huvudinnehåll

Publicering till externa tjänster

Yggio stödjer att skicka uppdateringsdata för enheter till externa tjänster.
Det finns två sätt vi uppnår detta på, vår egen interna Publisher och NGSI-prenumerationer. De fungerar på liknande sätt, men det finns några betydande skillnader. De största skillnaderna är stöd för MQTT och formatet på den publicerade datan.

NGSI-prenumerationer

Dokumentation om NGSI-prenumerationer finns här

Publisher

Publisher är en intern tjänst som skickar data genom antingen HTTP eller MQTT.

För att ta emot uppdateringar från en enhet med hjälp av Publisher måste du skapa en channel. Kanalen är en beskrivning av var uppdateringar till iotnoden ska skickas. Se bilden nedan.

channel

HTTP-data skickas genom en POST-förfrågan till kanalens URL.
MQTT-data skickas genom Yggios MQTT-mäklare till kanalens ämne.

Förfrågans kropp kommer att ha följande format:

{
iotnode: Iotnode,
diff: Object,
event: Object
}

iotnode är iotnode-entiteten som har uppdaterats. diff innehåller attributen som ändrades i uppdateringen. event innehåller attributen som utlöste uppdateringen.

Skapa en kanal

Att skapa en kanal görs genom en enkel POST-förfrågan till vår REST API, detaljer kan hittas på Swagger.
Krav för HTTP- och MQTT-kanaler skiljer sig och kan hittas nedan. Kanaler kräver alltid en iotnodeId och ett name.

HTTP

För att skapa en HTTP-kanal krävs också en url. URL:en kommer inte att ändras på något sätt i Yggio, så se till att den matchar din server exakt. Detta innebär att inkludera http/https om det krävs. Uppdateringar för iotnoden kommer att POST:as till URL:en med header content-type: application/json, dvs. det kommer att POST:as som JSON.

MQTT

För att skapa en MQTT-kanal krävs en type. Du har möjlighet att välja mellan keycloakUser eller basicCredentialsSet som type. Yggio är värd för sin egen mäklare och publicerar iotnode-uppdateringar till användar- eller klientspecifika ämnen. Det krävs fortfarande att skapa en kanal för att se uppdateringarna. För information om hur du ansluter, hänvisa till MQTT (data consumer).