SmartPi API

Mit der integrierten REST-API ist es möglich, alle relevanten Daten auszulesen und in eigenen Applikationen zu verwenden. Das Webinterface des SmartPi nutzt auch die REST-API.

Aktuelle Werte

Geben Sie zum Beispiel in der Adresszeile Ihres Browsers http://<ipaddress:1080>/api/all/all/now ein. Sie bekommen alle aktuellen Werte angezeigt.

Die Struktur der URL ist immer gleich aufgebaut: http://<ipaddress>:<port>/api/<phaseid>/<valueid>/now

Für valueid sind folgende Parameter erlaubt:

current Strom [A] (Für Phase 1,2,3 und Neutralleiter (4))
voltage Spannung [V](Nur für Phase 1,2,3)
power Leistung [W]  (Nur für Phase 1,2,3)
cosphi cos φ  (Nur für Phase 1,2,3)
frequency Frequenz [Hz]  (Nur für Phase 1,2,3)
all Alle Werte

 

Für phaseid sind folgende Parameter erlaubt:

1 Phase 1
2 Phase 2
3 Phase 3
4 Nur beim Parameter valueid current gültig (Strom des Neutralleiters)
all Alle Phasen

 

Historische- und Diagrammdaten

Die REST-API kann auch historische Daten liefern.
Zum Beispiel gibt http://<ipaddress:1080>/api/chart/123/power/from/2016-09-29T00:00:00.000Z/to/2016-09-29T14:00:00.000Z alle am 29. September 2016 zwischen 0:00 Uhr und 14:00 Uhr gemessenen Werte aus.

Auch hier ist die Struktur der URL immer gleich aufgebaut: http://<ipaddress>:<port>/api/chart/<phaseid>/<valueid>

Für valueid sind folgende Parameter erlaubt

current Strom [A] (available for phase 1,2,3, neutral conductor)
voltage Spannung [V] (available for phase 1,2,3)
power Leistung [W]  (available for phase 1,2,3)
cosphi cos φ  (available for phase 1,2,3 –  it is important to measure the voltage)
energy_pos Energie [Wh] (Energieverbrauch)
energy_neg Energie [Wh] (Energieerzeugung)

 

Für phaseid sind folgende Parameter erlaubt

1 Phase 1
2 Phase 2
3 Phase 3
4 Nur beim Parameter valueid current gültig (Strom des Neutralleiters)
123 All Phasen

SmartPi Modbus TCP/RTU

Mindestanforderung: Version 0.9.4

Mit der integrierten Modbus Schnittstelle ist es möglich, alle relevanten Daten über TCP oder RTU auszulesen und in eigenen Applikationen zu verwenden.

Bei Modbus RTU muss sicher gestellt werden, dass der RS485 richtig konfiguriert wurde. Siehe RS485 Aktivierung

Modbus TCP

TCP-Port: 502

Slave Address: 1

Unterstütze Funktionen: 3,4

Transaktionsnummer
TN

Protokollkennzeichen
PK

Zahl der noch folgenden Bytes

Adresse

Funktion

Daten

2 Byte

2 Byte (immer 0x0000)

2 Byte (n+2)

1 Byte

1 Byte

n Byte

Modbus RTU

Baudrate: 19200 8N1

Slave Address: einstellbar (Standard: 1)

Unterstütze Funktionen: 3,4

Adresse

Funktion

Daten

CR-Check

1 Byte

1 Byte

n Bytes

2 Bytes

Register

No

Name

Address

Type

Data format

Unit

Function code

Note

1

I1

0-1

R

Float

A

3,4

I1>0 = Bezug
I1<0 = Einspeisung

2

I2

2-3

R

Float

A

3,4

I2>0 = Bezug
I2<0 = Einspeisung

3

I3

4-5

R

FLOAT

A

3,4

I3>0 = Bezug
I3<0 = Einspeisung

4

I4

6-7

R

FLOAT

A

3,4

I4>0 = Bezug
I4<0 = Einspeisung

5

U1

8-9

R

FLOAT

V

3,4

 

6

U2

10-11

R

FLOAT

V

3,4

 

7

U3

12-13

R

FLOAT

V

3,4

 

8

P1

14-15

R

FLOAT

W

3,4

P1>0 = Bezug
P1<0 = Einspeisung

9

P2

16-17

R

FLOAT

W

3,4

P2>0 = Bezug
P2<0 = Einspeisung

10

P3

18-19

R

FLOAT

W

3,4

P3>0 = Bezug
P3<0 = Einspeisung

11

CosPhi1

20-21

R

FLOAT

 

3,4

 

12

CosPhi2

22-23

R

FLOAT

 

3,4

 

13

CosPhi2

24-25

R

FLOAT

 

3,4

 

14

F1

26-27

R

FLOAT

Hz

3,4

 

15

F2 28-29 R FLOAT Hz 3,4  

16

F3 30-31 R FLOAT Hz 3,4  

 

 

Float

Formatierung nach IEEE-754

 

Beispiel:

Messwert: 230V

4 Bytes: 0x43 0x66 0x00 0x00

Beispiel Modbus RTU

Alle Daten auslesen.

Master => SmartPi

Adresse

Funktion

Start Register

Anzahl Register

CRC

0x01

0x03

0x00 0x00

0x00 0x20

0x44 0x12

 

SmartPi => Master

Adresse

Funktion

Anzahl Bytes

Daten

CRC

0x01

0x03

0x40

0x 0x 0xBD 0xA7 0xA0 0x76 0xBD 0x9E 0xCF 0xFB 0xBD 0xA8 0x23 0xA7 0xBD 0x9B 0x46 0xC4 0x3E 0xC9 0x51 0x83 0x3E 0xCC 0x63 0xF1 0x3E 0xCA 0x71 0xDE 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xBC 0x9F 0x08 0x03 0x3F 0x77 0x4D 0xD9 0xBE 0x71 0x7D 0xBD 0xBE 0xEA 0xAD 0xFF 0x43 0x91 0xC9 0x2F 0x43 0x7E 0xFA 0xE7 0x42 0xA4 0x0C 0xCC

0x52 0x94