Sensoren importieren

Navigation:  Energie-Monitoring > Sensoren >

Sensoren importieren

Previous pageReturn to chapter overviewNext page

Mit der Funktion "Sensoren importieren" können Sensoren mittels CSV-Datei erstellt und/oder geändert werden.

(Manuelle Sensoren / Manuelle Zähler können über diese Funktion nicht erstellt werden).

 

Zum Import muss eine Regel erstellt werden, in dieser werden die Zuordnungen der CSV-Spaltentitel zu den internen Feldbezeichnungen definiert.

Die CSV-Datei muss immer alle Pflichtfelder der Sensoren enthalten, alle weiteren Spalten sind optional. (Bei der Komponente und Objekt kann jeweils component oder component_id bzw. object oder object_id als Pflichtfeld genutzt werden).

 

Beispiel:

Sensor_import_rule

 

Mit dem Knopf "Regel erzeugen" wird eine Vorgabe erzeugt, welche mit dem Sensor-Export (alle Spalten) kompatibel ist, dabei werden auch Portal-spezifische Felder (EAV-Felder) berücksichtigt (ausgenommen der zeitbasierenden EAV-Felder siehe Zeitbasierende Felder importieren).

Alle in den Regeln angegebenen Zuordnungen resp. deren Spaltentitel müssen in der CSV Datei auch vorhanden sein.

Die Regeln können nun je nach Bedarf angepasst werden. Nach einem erfolgten Import bleibt die Regel (pro Firma) gespeichert und ist somit auch für andere Benutzer der gleichen Firma gültig.

 

Pflichtfelder

Für einene Import von Sensoren braucht es mindestens folgende Felder:

machine_identifier = Maschinen-Id

rds = AKS

name = Name

class = Klasse

type = Art

unit = Einheit

component = Komponente

 

Wenn man den AKS nicht mitgibt, nimmt es die Maschinen-Id als AKS.

 

ACHTUNG: Importe sind NUR im UTF8-Zeichensatz möglich. Die maximale Zeilenlänge der hochzuladenden CSV-Datei ist auf 10'000 Zeichen begrenzt.

 

Einzelne Regeln stehen auf einer Zeile und bedeuten "{interne Bezeichnung} = {CSV Spaltentitel}".

Eine Regel kann mit dem Zeichen "#" an der ersten Position deaktiviert werden.

 

Allgemeine Angaben:

Der Wert der Regel (rechter Teil) kann wie folgt aufgebaut sein:
 

Spaltentext : Entspricht dem Spaltentext in der CSV-Datei
 

"Text in Anführungszeichen" : entspricht einem Fixwert (statisch)
 

Spaltentext("CSV-Wert" = {ImportWert}, _DEFAULT_ = 0)
Beispiel:
eav54d0a1626f2a1 = MeinCSVFeld
eav54d0a1626f2a1 = MEINCSVFELD("In Betrieb" = 1, _DEFAULT_ = 0)
-> falls MEINCSVFELD = "In Betrieb" ist so ist eav54d0a1626f2a1 = 1 ansonsten 0

 

Mehrere Werte pro Feld:
Falls man ein Wert aus mehreren Werten zusammen bauen möchte, geht das mit ";"
Beispiel CSV Feld Art hat den Wert "Fühler" und man möchte aber alle importieren Sensoren besonders markieren. dann schreibt man
name = "IMPORTIERT: "; Art
Ergebnis: Der Sensor heisst dann z.B. "IMPORTIERT: Fühler"

 

 

Die einzelnen Regeln im Detail:

Internes Feld

Default

Bemerkung

header_rows

1

Gibt an, wie viele Zeilen als Titel in der CSV Datei vorhanden sind. Die effektiven Spaltentitel werden dann aus der letzten Titelzeile gelesen.
Diese Regel muss immer vorhanden sein.

machine_identifier

Maschinen-ID

Schlüssel/Datenpunkt auf dem System, unter welchem die Daten geholt werden sollen. Muss pro Komponente eindeutig sein.

rds

AKS

Eindeutiger Wert zur Identifikation des Sensors. (muss portalweit eindeutig sein)

name

Name

Name des Sensors.

class

Klasse

Klasse des Sensors, dies kann sein "'Sensor", "CounterUp", "ManualSensor", "ManualCounterUp", "Binary", "IntervalSensor"

type

Art

Die Art des Sensors, mögliche Werte: "temperature", "pressure", "flow-rate", "humidity", "concentration", "level", "desired-value", "area", "water", "oil", "gas", "electricity", "heat", "cold", "money", "count", "illuminance", "radiation", "volume", "speed", "direction", "weight", "distance", "audio"

unit

Einheit

Die Einheit des Sensors, Liste der Einheiten

component

Komponente

Es kann der Name der Komponente oder der AKS (Format:"[{AKS}]" oder die Kombination daraus (analog Objekt-Export im Format "{Name} [{AKS}]") angegeben werden.
Es ist nur eine Konfiguration für die Komponente anzugeben, entweder "component" oder "component_id" oder "component_ip"

#component_id

component_id

Die Portal interne id der Komponente
Es ist nur eine Konfiguration für die Komponente anzugeben, entweder "component" oder "component_id" oder "component_ip"

#component_ip

component_ip

Die IP-Adresse der Komponente
Es ist nur eine Konfiguration für die Komponente anzugeben, entweder "component" oder "component_id" oder "component_ip"

#component_instance_uuid

component_instance_uuid

Eigenschaft von ProMoS NG Komponenten

object

Objekt

Das Kurzzeichen des Objektes, falls die Kurzzeichen im Portal eindeutig sind.
Sind die Kurzbezeichnungen zu den Objekten im Portal nicht eindeutig, muss die "object_id" verwendet werden.

#object_id

object_id

Muss aktiviert werden, falls die Kurzbezeichnungen zu den Objekten im Portal nicht eindeutig sind. Es darf nur entweder "object" oder "object_id" verwendet werden.

#deleted

"0"

Mit dem Setzen des Wertes auf "1" können mehrere Sensoren über den Sensor-Import gelöscht werden.

#decimals

decimals

Dezimalstellen zum Sensor (nummerischer Wert) Liste der Standard-Nachkommastellen pro Einheit

#startup_date

startup_date

Sensor Inbetriebnahme im Format "DD.MM.YYYY"

#cfg.correction_factor

cfg.correction_factor

Korrekturfaktor (nummerischer Wert)

#cfg.death_sensor_activate

cfg.death_sensor_activate

Aktivierung der Sensorausfall-Erkennung (in der Konfiguration der Schalter)

#cfg.death_sensor_detection

cfg.death_sensor_detection

Sensorausfall-Erkennung, relative Zeitangabe, z.B. "+ 2 days"

#cfg.death_sensor_check_end

cfg.death_sensor_check_end

Ende Sensorausfall-Erkennung, mit welchem definiert wird, bis wann Sensor-Daten vorhanden sein müssen, für die Überwachung

cfg.death_sensor_formula

cfg.death_sensor_formula

Importmöglichkeit für bestehende Codes von Sensorausfall-Erkennungsformel, welche über die CSV-Exportfunktion exportiert worden sind.
(Es wird davon abgeraten, den Code zu manipulieren. Wird eine abweichende Formel benötigt, soll diese neu erstellt werden oder in der Struktur nach dem Import individuell angepasst werden.

#cfg.sensor_logs_only_changes

cfg.sensor_logs_only_changes

Datenpunkte protokollieren nur Änderungen, 0 oder 1

#cfg.shrink_method

cfg.shrink_method

Kumulativ Typ - Definiert wie z.B. Stundenwerte in Tageswerte umgerechnet werden. Mögliche Werte sind: "avg" für Durchschnitt und "sum" für Summe und "last" für "Letzter Wert".

#cfg.values_are_consumption

cfg.values_are_consumption

Werte werden als Verbrauch versendet, 0 oder 1

#cfg.counter_overflow

cfg.counter_overflow

Zählerüberlauf (nummerischer Wert z.B. 100000 )

#cfg.target_data_sensor_id

cfg.target_data_sensor_id

Sensor-Id für die Ersatzwertbildung (nummerischer Wert)

#cfg.target_data_sensor_type

cfg.target_data_sensor_type

Sensor-Typ für die Ersatzwertbildung

#cfg.reading_interval

cfg.reading_interval

Zeitangabe (man. Sensor) - Eingabe-Intervall (mögliche Werte sind: "15m", "hour", "day", "week", "month", "year")

#cfg.detect_lost_connections_min_val

cfg.detect_lost_connections_min_val

Maximalverbrauch innerhalb 15 Min (nummerischer Wert)

#cfg.summer_up_downs

cfg.summer_up_downs

Max Rückwärtszählung (nummerischer Wert)

#cfg.max_change

cfg.max_change

Maximale Änderung (nummerischer Wert); 0= deaktiviert

#cfg.heating_value

cfg.heating_value

Heizwert (nummerischer Wert)

eavXXXXX

wie Export

EAV-Id's von Objektspezifischen EAV-Feldern.
Die EAV-Id (eavXXXXX) ist auch in der Konfiguration des EAV-Feldes sichtbar. Das XXXXX steht für die UUID des EAV-Felds (oberstes Feld in der EAV-Feld-Konfig)

 

 

Bemerkung zu den EAV-Feldern:

Falls ein EAV-Feld vom Typ "Auswahl" ist, können als Werte die effektiven Auswahl-Texte oder die EAV-Auswahl-Id angegeben werden.

Werden z.B. bei einem EAV mehrere Werte übergeben/gesetzt, müssen diese mit ", " (Komma gefolgt von einem Leerzeichen) getrennt werden. (Dies ist z.B. bei einem EAV-Feld mit mehreren Kontrollkästchen der Fall)

Die Werte werden auf ihr Vorhandensein in der Auswahlliste geprüft.

EAV-Felder vom Typ "Bild" werden beim Import ignoriert.

Zeitbasierende EAV-Felder werden ignoriert (Importfunktion siehe Zeitbasierende Felder importieren).

 

Bemerkung zu den Konfigurationen (cfg.XXX):

Bitte beachten sie, dass nicht alle Optionen für einzelne Sensorklassen Auswirkungen haben.

So ist z.B. "cfg.heating_value" nur für Sensoren vom Typ "CounterUp" mit der Art "oil" oder "gas" zu konfigurieren.

 

Nach dem betätigen des "Importieren" Knopfes wird die angegebene CSV-Datei analysiert und es werden neu zu erstellende und Änderungen zur Auswahl angezeigt.

Die gewünschten Vorgänge müssen nun angewählt werden:

 

Sensoren Stammdatenimport

 

Jeder neue Sensor und jede Änderung wird in der Maske dargestellt und muss einzeln bestätigt werden. Mittels "Alle auswählen"-Knopf können auch alle auf einmal markiert werden (gilt separat für neue Sensoren und Änderungen der Sensordaten.

 

ACHTUNG: EAV-Felder werden beim "Regel erzeugen" nur eingefügt, wenn diese vorher auch in der Liste dargestellt werden!