e.open.fp

FTP Upload

Die e.open.ftp-Schnittstelle beschreibt das Datenprotokoll zur regelmäßigen Übertragung der Messwerte vom Datenlogger an einen FTP Server.
Die Daten werden als JSON-Datei verschickt.

Aktivierung

Die Aktivierung erfolgt auf der Webseite des Datenloggers. Unter dem Punkt Konfiguration => Datenübertragung.
Hier können Sie die Übertragung zum FTP-Server aktivieren.

FTP Account

  • FTP-Server
  • FTP-Benutzer
  • FTP-Passwort
  • FTP-Ordner (optional)
  • Passiv / Aktiv Mode

FTP Übertragung (e.open.ftp)

  • Übertragung zum eigenen FTP-Server aktivieren
  • Komprimieren (gz) (optional)

Datenübertraung

Die Datenübertragung erfolgt in der Regel alle 5 Minuten. Es wird eine JSON-Datei, bei aktiver Komprimierung eine gezippte JSON-Datei, auf dem Server gespeichert.
Wird ein FTP-Ordner angegeben, so wird diese in den Ordner gespeichert. Ansonsten ins root-Verzeichnis.

Die Datei hat folgenden Dateinamen: <Unix-Zeit>_<Seriennummer>.json[.gz]

z.B. 1366713708_EMA120612345.json für eine JSON Datei vom 23.04.2013 12:41:48

z.B. 1366717009_EMA120612345.json.gz für eine gezippte JSON Datei vom 23.04.2013 13:36:49

Eine Übertragungsquittierung erfolgt bei dem FTP-Protokoll nicht. Jede Datenübertragung hat die Folge, dass die Übertragenden Daten im Datenlogger als erfolgreich gesendet markiert werden. Wurde die Datei bei der Übertragung beschädigt, sind diese Daten verloren.

Beschreibung

Anmeldung

Eine Anmeldung wird immer geschickt, wenn das Gerät neu gestartet wird oder eine Internetverbindung neu aufgebaut wurde,
da z.B. die GSM Verbindung abgebrochen wurde.
{
"serial": "EMA123456789", // (String) Seriennummer des Überwachungsgerätes
"time": "2013-04-19 12:57:42", // (String) Zeit, wann der das Gerät die Datei gesendet hat
"softwareversion": "0.5.3", // (String) Firmwareversion
"picsoftwareversion": "1.2.0", // (String) Firmwareversion des 2 Prozessors
"hardwareversion": "0.9.0", // (String) Hardwareversionsstand
"protocolversion": "1.0.1", // (String) Version dieser aktuellen JSON-Datei
"remote": "enable", // (String) Remote Service [enable,disable,not installed]
"reception": "99", // (String) Empfangsstaerke bei GSM/UMTS-Geraeten (-dBm)
"provider": "Vodafone", // (String) Provider
"lac": "514", // (String) Location ID
"cellid": "27511", // (String) Cell ID
"telefonnumber": "", // (String) Telefonnummer
"request": [], // (String) Anforderungen an den Server (bei FTP n.a)
"ipaddress": "192.168.2.10", // (String) IP-Adresse des Geraetes
"macaddress": "02:80:AD:21:AB:8E", // (String) MAC-Adresse
"devicecounter": 0, // (Integer) Anzahl der Devices, bei Anmeldung immer 0
"intervall": 5, // (Integer) Speicherintervall der Messwerte, immer 5
"datasets":[] // Array der Datensaetze, bei der Anmeldung immer leer
}

Datenübertragung

Die Datenübertragung wird in der Regel alle 5 Minuten ausgeführt. Sollten keine aktuellen Daten vorliegen, findet auch keine Datenübertragung statt.
Zur vollen Stunde wird immer eine Datenübertragung durchgeführt.
{
"serial": "EMA123456789", // (String) Seriennummer des Überwachungsgerätes
"time": "2013-04-19 12:57:42", // (String) Zeit, wann der das Gerät die Datei gesendet hat
"softwareversion": "0.5.3", // (String) Firmwareversion
"picsoftwareversion": "1.2.0", // (String) Firmwareversion des 2 Prozessors
"hardwareversion": "0.9.0", // (String) Hardwareversionsstand
"protocolversion": "1.0.1", // (String) Version dieser aktuellen JSON-Datei
"remote": "enable", // (String) Remote Service [enable,disable,not installed]
"request": [], // (String) Anforderungen an den Server (bei FTP n.a)
"ipaddress": "192.168.2.10", // (String) IP-Adresse des Geraetes
"macaddress": "02:80:AD:21:AB:8E", // (String) MAC-Adresse
"devicecounter": 0, // (Integer) Anzahl der Devices, bei Anmeldung immer 0
"status": [ // (String) Statusmeldungen des Loggers (keine
Statusmeldungen des Wechselrichters
{
"time": "2012-04-03 14:55:00", // (String) Zeitpunkt, wann das Ereignis aufgetreten
ist aufgetreten ist
"typ": 1, // (Integer) 2=Status, 3=Error, 4=Eigenverbrauch, 5=Rundsteuergerät, 6=Cos phi
"message": "Startup" // (String) Meldung
}
],
"intervall": 5, // (Integer) Speicherintervall der Messwerte, immer 5
"datasets": [ // Array der Datensaetze
{
"time": "2012-08-27 12:55:00", // (String) Zeitpunkt des Messwertes
"devices": [ //Array der Wechselrichter
{
"id": 18, // (Integer) ID des Wechselrichters im Datenlogger
"serial": "kaco-1", // (String) Seriennummer des Wechselrichters
"type": "Wechselrichter", // (String) Typ [Wechselrichter,Solarsensor,Zelltemperatur, Eigenverbrauch,Resteinspeisung,Bezug, Rundsteuergerät,Erzeuger,Verbraucher, Wind,Temperatur]
"model": "390TL ", // (String) Wechselrichtermodell
"port": "RS485 1", // (String) Angeschlossener Port [RS485 1, RS485 2, RS485 3,
PIC,LAN 1, LAN 2, LAN 2, CAN]
PIC Digitale und Analoge Eingänge
"busid": "1", //(String) ID am Angeschlossenen Port (bei RS485: die RS485-
Id des WSR, bei PIC: 1-8)
"name": "WR 1", // (String) Wechselrichtername
"numbersofmodules": 12, //(Integer) Angeschlossene Modulanzahl
"modulepower": 235, //(Float) Angeschlossene Modulleistung
"values": [ // Array der Messwerte des WSR
{
"type": "EDEV", // (String) Typ des Messwertes [edev: Ertrag (Mittelwert Speicherintervall), SOLAR: Solarstrahlung (Mittelwert Speicherintervall), SOLARTEMP: Zelltemperatur, UDC, IDC, UAC, IAC, DEVICETEMP: Wechselrichtertemperatur, ECONS: Aktueller Stromverbrauch (Mittelwert Speicherintervall), EREST: Aktuelle Resteinspeisung (Mittelwert Speicherintervall), EGET: Aktueller Bezug (Mittelwert Speicherintervall), STATUS, ERROR, PAC Aktuelle Leistung (Mittelwert Speicherintervall), ETOTAL: Gesamtertrag des WSR seit Inbetriebnahme, RIPPLECONTROL]
"number": 0, //(Integer) Nummer bei mehreren Gleichen Messwerttypen (z.B.: UAC1, UAC2, UAC3, IAC1, IAC2, IAC3 (3-phasig))
"data": 1722.02193 // (Float) Messwert
},
{
"type": "PAC",
"number": 0,
"data": 20664.26316
},
{
"type": "UDC",
"number": 1,
"data": 635.663158
},
{
"type": "IDC",
"number": 1,
"data": 13.097368
},
{
"type": "UAC",
"number": 1,
"data": 232.242105
},
{
"type": "IAC",
"number": 1,
"data": 29.586842
}
],
"status": [ // Array der Statusmeldungen
{
"time": "2012-01-03 14:55:00", //(String) Zeitpunkt, wann die Meldung aufgetreten ist
"message": "MPT on" //(String) Statusmeldung
},
{
"time": "2012-01-03 14:56:00",
"message": "MPT off"
},
{
"time": "2012-01-03 14:58:00",
"message": "Power off"
}
],
"error": [] // Array der Fehlermeldungen (Aufbau wie Statusmeldungen)
},
{
"id": 19,
"serial": "kaco-2",
"type": "Wechselrichter",
"model": "390TL ",
"port": "RS485 1",
"busid": "2",
"values": [
{
"type": "EDEV",
"number": 0,
"data": 1722.02193
},
{
"type": "PAC",
"number": 0,
"data": 20664.26316
},
{
"type": "UDC",
"number": 1,
"data": 635.663158
},
{
"type": "IDC",
"number": 1,
"data": 13.097368
},
{
"type": "UAC",
"number": 1,
"data": 232.242105
},
{
"type": "IAC",
"number": 1,
"data": 29.586842
}
],
"status": [
{
"time": "2012-01-03 14:55:00",
"message": "MPT on"
},
{
"time": "2012-01-03 14:56:00",
"message": "MPT off"
},
{
"time": "2012-01-03 14:58:00",
"message": "Power off"
}
],
"error": []
},
{
"id": 2,
"serial": "1",
"type": "Resteinspeisung",
"model": "",
"port": "PIC",
"busid": "1",
"values": [
{
"type": "EDEV",
"number": 0,
"data": 0
},
{
"type": "PAC",
"number": 0,
"data": 0
}
],
"status": [],
"error": []
}
},
{
"time": "2012-08-27 13:00:00",
"devices": [
{
"id": 18,
"serial": "kaco-1",
"type": "Wechselrichter",
"model": "390TL ",
"port": "RS485 1",
"busid": "1",
"values": [
{
"type": "EDEV",
"number": 0,
"data": 1722.02193
},
{
"type": "PAC",
"number": 0,
"data": 20664.26316
},
{
"type": "UDC",
"number": 1,
"data": 635.663158
},
{
"type": "IDC",
"number": 1,
"data": 13.097368
},
{
"type": "UAC",
"number": 1,
"data": 232.242105
},
{
"type": "IAC",
"number": 1,
"data": 29.586842
}
],
"status": [
{
"time": "2012-01-03 14:55:00",
"message": "MPT on"
},
{
"time": "2012-01-03 14:56:00",
"message": "MPT off"
},
{
"time": "2012-01-03 14:58:00",
"message": "Power off"
}
],
"error": []
}
]
}
]
}