3. e.open.ftp
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.
3.1 Aktivierung
Die Aktivierung erfolgt auf der Webseite des Datenloggers. Unter dem Punkt Konfiguration => Erweiterte Einstellungen. Hier können Sie die Übertragung zum FTP-Server aktivieren.
- Komprimieren (gz) (optional)
- FTP-Server
- FTP-Benutzer
- FTP-Passwort
- FTP-Ordner (optional)
3.2 Datenübertragung
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.
3.3 Beschreibung
Anmeldung
Eine Anmeldung wird immer geschickt, wenn das Gerät neu gestartet wird oder eine Internetverbindung neu aufgebaut wurde, da z.B. die GPRS Verbindung abgebrochen wurde.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
{ "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": [] } ] } ] } |