e.open.fp

FTP Upload

The e.open.ftp interface describes the data protocol for regular transmission of the measured values from the data logger to an FTP server.
The data is sent as a JSON file.

Activation

The activation takes place on the web page of the data logger. Under the item Configuration → Data transfer.
Here you can activate the transfer to the FTP server.
FTP Account
  • FTP server
  • FTP user
  • FTP password
  • FTP folder (optional)
  • Passive / Active Mode
FTP Transfer(e.open.ftp)
  • Enable transfer to own FTP server
  • Compress (gz) (optional)

Data transfer

The data transfer usually takes place every 5 minutes. A JSON file, a zipped JSON file if compression is active, is saved on the server.
If an FTP folder is specified, this is saved to the folder. Otherwise into the root directory.
The file has the following filename: < Unix time >_< Serial number>.json [.gz]

e.g. 1366713708_EMA120612345.json for a JSON file dated 2013-04-23 12:41:48.

e.g. 1366717009_EMA120612345.json.gz for a zipped JSON file dated 2013-04-23 13:36:49

There is no transmission acknowledgement with the FTP protocol.
Each data transmission has the consequence that the transmitted data are marked in the data logger as successfully sent.
If the file was damaged during the transfer, this data is lost.

Description

Login

A login is always sent when the device is restarted or an internet connection has been reestablished,
because e.g. the GSM connection was interrupted.

{
"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
}

Data transmission

Data transmission is usually carried out every 5 minutes.
If no current data is available, no data transmission takes place.
Data transmission is always carried out on the hour.
{
"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": []
}
]
}
]
}