miner:anvandning:override

Detta är en gammal version av dokumentet!


Överskrivning av datapunkter via Miner

Vissa integrationer ger möjligheten att skriva ett värde till en datapunkt, vi kallar detta för överskrivning.

För att kunna skriva till datakällan behöver datapunkten i första hand vara överskrivningsbar. Det brukar framgå via egenskapen (kolumnen) ”dataAccess” som visar ”rw” för de datapunkter som är överskrivningsbara. Denna information går att få fram genom en CSV-export av datapunkter i ett jobb, eller i anslutning till bläddring av en datakälla.

För varje datapunkt som ska skrivas över så kan Miner hantera minimum- och maximumgränser, prioritet för överskrivning, varaktighet och själva värdet som ska skrivas till datakällan. Som värde kan man välja att sätta en konstant eller hämta ett värde från en annan datapunkt inom samma Miner. Nedan följer en beskrivning av varje fält:

  • Prioritet: Överskrivningsreglerna försöker verkställas i prioritetsordning. Om den regeln med högst prioritet returnerar ett giltigt värde, kommer det värdet att skrivas till datapunkten med den giltighetstid som framgår det värde för ”varaktighet” som har angivits för regeln. Om det returnerade värdet är felaktigt, exempelvis utanför gränserna för min- och maxvärde för regeln, blir den aktuella regeln ogiltig och Miner försöker att verkställa regeln med näst högst prioritet och så vidare.
  • Värde: Här anges det värde som ska skrivas till datapunkten. Värdet kan vara en konstant, eller hämtas från en annan datapunkt (antingen avläst värde, eller attribut/metadata) från valfritt jobb i Minern.
  • Min-värde/Max-värde: Här anges det förväntade minsta respektive högsta värdet som får skrivas till datapunkten. Inför varje överskrivning, kommer Miner att kontrollera värdet som ska skrivas till datapunkten mot angivna min- och maxvärdet. Om värdet hamnar utanför intervallet, kommer regeln att misslyckas och Miner kommer att försöka verkställa nästa regel enligt angiven prioritetsordning.
  • Varaktighet: Här anges information om hur gammalt ett värde får vara. Miner kommer då att kontrollera tidstämplen för värdet och jämföra mot tidstämpeln för senaste överskrivningen från den aktuella regeln. Om värdet är för gammalt, kommer regeln att misslyckas och Miner kommer att försöka verkställa nästa regel enligt angiven prioritetsordning.

Inställning och redigering av överskrivningsregler kan göras via det grafiska användargränssnittet, eller via import av CSV-filer.

  • Gå in på den aktuella datapunkten som du vill skriva över och aktivera redigeringsläget. Om det inte går att aktivera redigeringsläget, kan det bero på att jobbet håller på att köras. Se till att stoppa jobbet först och försök därefter igen.
  • Bläddra ned till avsnittet under inställning av attribut. Du ser rubriken ”Överskrivningsregler”, klicka på ”Lägg till” [1].
  • Fyll i de olika fälten för ”Prioritet”, ”Värde”, ”Min-värde”, ”Max-värde” och ”Varaktighet”.
    • Om du för pekaren till höger i respektive fält, ser du en symbol för förstoringsglas [2]. Om du klickar på denna symbol, dyker ett sökfält upp och du kan då söka dig fram till de Jobb som finns i Minern. Skriv del av namnet på jobbet i sökrutan, eller bläddra dig fram till jobbet och klicka på jobbets namn.
      • Då laddas listan med alla datapunkter som ingår i jobbet. Sök eller bläddra dig fram till aktuell datapunkt och klicka på den.
      • Du får då upp en lista, där du kan välja bland värdet för datapunkten (value), eller någon av de attribut som är tillgängliga för datapunkten [3].
  • Om du vill ta bort någon överskrivningsregel, klickar du på knappen ”Ta bort” till höger om den aktuella raden.
  • När du är klar med inställningen av dina regler, är det bara att spara datapunkten.
  • Glöm inte att starta jobbet igen, om du har fått stoppa ett pågående jobb för att kunna påbörja dina redigeringar.

Enklaste sättet att skapa CSV-filen är att ladda ned filen overwrite-template.zip och packa upp den.
overwrite-template.zip
Öppna sedan CSV-filen i den textredigeraren du föredrar, exempelvis Microsoft Excel eller Notepad. Öppna/spara gärna i UTF-8 för teckenkodningen, annars kan eventuella specialtecken såsom åäö bli fel.

Du borde få något liknande som på bilden ovan. Varje rad i CSV-filen kan ses som en överskrivningsregel. Följande är en beskrivning för varje kolumn i CSV-filen:

  • target: Datapunkten som vi ska skriva till.
  • minValue: Minimumgränsen som ”value” kan ha för att överskrivningsregeln ska bli giltig.
  • maxValue: Maximumgränsen som ”value” kan ha för att överskrivningsregeln ska bli giltig.
  • prio: Ordningen för överskrivningsregeln. Ju högre siffra desto högre prioritet.
  • duration: Varaktigheten för överskrivningen. Om datakällan har stöd för en varaktighet vid överskrivning skickas ”duration” till datakällan för att meddela om hur länge vi vill att värdet ska vara giltigt. Om datakällan inte har stöd för varaktighet används ”duration” tillsammans med ”minValue” och ”maxValue” för att se om ”value” ska skrivas till datapunkten.
  • value: Värdet som ska skrivas till ”target”. Vi kan ange antingen en konstant eller värdet från en befintlig datapunkt i samma Miner.

När vi vet vad varje kolumn betyder kan vi börja lägga till rader:
<uuid.1> ska självklart bytas ut till UUID för datapunkten som man vill överskriva. I exemplet ovan ser vi att ”minValue” är satt till 0 och ”maxValue” till 10, ”prio” är satt till 15, ”duration” till 30m (30 minuter) och ”value” är 4. Med denna rad säger vi till Miner att

För datapunkten <uuid.1> ska vi sätta värdet 4 i 30m om värdet är mellan 0 och 10.

Detta är den mer enkla implementationen av en överskrivningsregel, det kan göras lite mer komplicerade regler:

Här har vi lagt till en regel och ändrat föregående regel så att den hamnar utanför ”minValue” och ”maxValue”. Reglerna säger nu följande:

Om värdet 11 är mellan 0 och 10 ska vi skriva värdet till datapunkten <uuid.1> och ska vara giltig i 30m, 
annars ska värdet 5 skrivas till <uuid.1> och vara giltigt i 30m om värdet är mellan 0 och 10.

I exemplet ovan är det alltså ”prio” som sätter ordningen för överskrivningsreglerna. Lägger man till fler regler för samma datapunkt men med lägre prio blir det som en ”fallback”.
Vi kan även lägga till fler datapunkter att skriva till:

Observera att ”prio” limiteras till varje unika ”target”, i exemplet ovan gäller fortfarande samma prioritering för de två reglerna med <uuid.1>. Den nya raden med <uuid.2> får sin egna gruppering med ”prio”.
För att visa en bredare funktionalitet kan vi göra på följande sätt:

Här har vi gjort om regeln för <uuid.2> så att den hämtar en tagg från en annan datapunkt och sätter det som ”minValue” och ”maxValue”, i exemplet har vi tagit helt ologiska taggar; meterkey och fastighet. Vi tog också ett värde från en annan datapunkt. Observera att vi behöver ha '[' i början och ']' i slutet när vi refererar till en datapunkt. Datapunkten måste existera inom Minern.

När du känner dig klar med CSV-filen behöver den sparas i UTF-8 (kontrollera att det inte finns några tomma rader), vi kan därefter gå tillbaka till jobbet som har alla datapunkter som du har definierat i ”target”. Klicka på plus-ikonen längst ned till höger och välj sedan ”Importera skrivpunkter från CSV”.

Välj sedan den CSV-fil som du precis sparat och följ stegen tills du kommer tillbaka till jobbet.
Du kan kontrollera de datapunkter som du satte en överskrivning på genom att trycka på den, du bör få en panel på höger sida med datapunktens detaljer. Om det ser liknande ut som på bilden nedan så har allt gått bra, du kan nu starta jobbet. Det kan vara bra att även kontrollera i datakällan om värden faktiskt skrivs till rätt punkt.

  • miner/anvandning/override.1764002820.txt.gz
  • Senast uppdaterad: 2025/11/24 16:47
  • av dokuadmin