Hoppa till huvudinnehåll

Translatorer för datadelning

En datadelningstranslator flyttar data från enheten den körs på till en annan enhet i Yggio. Värdet skrivs till målenheten genom additionalDeviceUpdates i stället för att lagras lokalt, så att en enhets avläsning kan dyka upp på en annan.

Enheten måste ha skrivrättigheter till målet. Adresseringen sker med identifierare: secret, imei, devEui, tag eller serialNumber, valda med targetIdentifierField och angivna i targetIdentifierValue.

Varför vidarebefordra data alls​

Två helt olika problem, båda lösta genom att flytta data i sidled.

Att bygga en enhet som inte finns. Vissa beräkningar behöver indata från flera sensorer samtidigt. En byggnads energieffektivitet behöver energi från en mätare, inomhustemperatur medelvärdesbildad över rum, och en utomhustemperatur från något helt annat håll. Ingen enskild enhet rapporterar allt det. Vidarebefordran samlar värdena på en gemensam nod, och analys- eller beräkningstranslatorn körs sedan där, på en enhet sammansatt av en hel installation snarare än av en sensor.

Att skilja konnektivitet från innehåll. Den som driver nätet behöver se att en enhet är uppkopplad och levererar. Det är inte samma sak som att få läsa vad den skickade. Om payloaden är medicinsk data får driftteamet inte se den. forward-encoded-data delar de två: den råa framen kommer in på en nod operatören kan övervaka, lämnas till slutanvändarens egen nod för att avkodas där, och tas sedan bort från källan, där den inte kan återskapas.

Translatorerna​

TranslatorVad den flyttarNoteringar
forward-valueEtt kanoniskt fält, namngivet i forwardFieldVarje katalogfält är deklarerat i den här translatorns spec, så vilket kanoniskt fältnamn som helst accepteras. Standard temperature
forward-valuesFlera fält samtidigt, listade i forwardFieldsKommaseparerade, och varje post får vara källa:mål för att byta namn vid ankomst, till exempel temperature,relativeHumidity:rh. Värdena landar inuti ett enda measurements-objekt, vilket är det som släpper igenom icke-kanoniska och enhetsspecifika namn
forward-encoded-dataDen råa, oavkodade framenKörs som huvudtranslator på källnoden, inte kedjad: den avkodar inte, den vidarebefordrar payloaden och rensar den. Enhetens riktiga avkodare bor på den mottagande noden

forward-value och forward-values är kedjade och körs ovanpå enhetens egen translator och läser fält den redan har avkodat.

Att gruppera vidarebefordrade värden​

När flera enheter vidarebefordrar till en gemensam nod behöver mottagaren kunna skilja dem åt. forward-values kan nästla en omgång under en nyckel:

  • groupName lägger värdena under measurements[groupName], en fast etikett du väljer.
  • groupBySourceName använder den sändande enhetens eget namn i stället, så att en translator på mottagaren kan känna igen vilken nod som skickade vad och hantera var och en därefter. Den åsidosätter groupName.

Sändare och mottagare delar den här formen som ett kontrakt, så bestäm den en gång och håll båda ändarna i takt.

Parametrar​

ParameterSyfte
targetIdentifierFieldVilken identifierare som adresserar målet: secret, imei, devEui, tag eller serialNumber. Standard secret
targetIdentifierValueMålenhetens identifierare. Obligatorisk, och det finns ingenstans att skicka data utan den
forwardFieldEndast forward-value. Det kanoniska fält som ska vidarebefordras. Standard temperature
forwardFieldsEndast forward-values. Kommaseparerad lista, varje post källa eller källa:mål. Translatorparametrar stödjer ännu inte arrayer, vilket är varför det är en lista i en sträng
groupName, groupBySourceNameEndast forward-values. Nästla omgången under en fast nyckel, eller under den sändande enhetens namn

Alla tre sätter errorMessage när målet inte är konfigurerat eller det inte finns något att vidarebefordra.

Kedjning​

Vidarebefordran är normalt sista steget på den sändande enheten och första indata till en kedja på den mottagande:

Sensorer → forward-values → gemensam nod → analytics-building-energy-efficiency → set-alarm-custom

Sensorerna bidrar med sina avläsningar, den gemensamma noden beräknar den siffra ingen enskild enhet kunde, och larmet på slutet rapporterar om den som vilket annat fält som helst.

För det fullständiga A–Ö-registret över alla translatorer, se översikten över translatorer.