Skip to content

Commit 32fdbb4

Browse files
committed
minor changes
1 parent 2009fe1 commit 32fdbb4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+991
-51
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# openWB
2-
Control your simpleEVSEwb with a Raspberry for various purposes
2+
3+
Skizze zum Aufbau sowie Screenshots im Wiki!
4+
35

46
UPDATE:
57
derzeitige Version IST lauffähig und im Betastadium.
6-
Wer das fertige stück software nachbauen und nutzen möchte muss sich noch ein wenig gedulden.
78
"Offizieller Release" nach Testphase.
89
Beta Tester sind herzlich willkommen.
910

modules/sdm630modbuslls1/main.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/bash
2+
. /var/www/html/openWB/openwb.conf
3+
4+
if [[ $evsesources1 = *virtual* ]]
5+
then
6+
if ps ax |grep -v grep |grep "socat pty,link=$evsesources1,raw tcp:$evselanips1:26" > /dev/null
7+
then
8+
echo "test" > /dev/null
9+
else
10+
sudo socat pty,link=$evsesources1,raw tcp:$evselanips1:26 &
11+
fi
12+
else
13+
echo "echo" > /dev/null
14+
fi
15+
n=0
16+
output=$(sudo python /var/www/html/openWB/modules/sdm630modbuslls1/readsdm.py $evsesources1 $sdmids1)
17+
while read -r line; do
18+
19+
if (( $n == 0 )); then
20+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/llas11
21+
fi
22+
if (( $n == 1 )); then
23+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/llas12
24+
fi
25+
if (( $n == 2 )); then
26+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/llas33
27+
fi
28+
if (( $n == 3 )); then
29+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/llaktuells1
30+
fi
31+
if (( $n == 4 )); then
32+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/llkwhs1
33+
fi
34+
35+
n=$((n + 1))
36+
done <<< "$output"
37+
38+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/python
2+
import sys
3+
import os
4+
import time
5+
import getopt
6+
import socket
7+
import ConfigParser
8+
import struct
9+
import binascii
10+
seradd = str(sys.argv[1])
11+
from pymodbus.client.sync import ModbusSerialClient
12+
client = ModbusSerialClient(method = "rtu", port=seradd, baudrate=9600,
13+
stopbits=1, bytesize=8, timeout=1)
14+
15+
#rq = client.read_holding_registers(0,8,unit=5)
16+
#print(rq.registers)
17+
sdmid = int(sys.argv[2])
18+
19+
resp = client.read_input_registers(0x06,2, unit=sdmid)
20+
21+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
22+
resp = client.read_input_registers(0x08,2, unit=sdmid)
23+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
24+
resp = client.read_input_registers(0x0A,2, unit=sdmid)
25+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
26+
27+
resp = client.read_input_registers(0x0C,2, unit=sdmid)
28+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
29+
resp = client.read_input_registers(0x0156,2, unit=sdmid)
30+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
31+
32+
33+

modules/sdm630modbuswr/main.sh

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,48 @@
11
#!/bin/bash
22

3-
###############
4-
#SDM630v2 wird mithilfe von https://github.com/gonium/gosdm630 ausgelesen.
5-
#auch für SDM230 nutzbar (L2 und L3 bleiben dann immer 0
6-
#wrwatt = Wattleistung Wechselrichter soll Modbus ID 3 sein
3+
. /var/www/html/openWB/openwb.conf
74

8-
wra1=$(curl -s localhost:8080/last/3 |jq '.Current.L1' | tr -d '\n' | sed 's/\..*$//')
9-
wra2=$(curl -s localhost:8080/last/3 |jq '.Current.L2' | tr -d '\n' | sed 's/\..*$//')
10-
wra3=$(curl -s localhost:8080/last/3 |jq '.Current.L3' | tr -d '\n' | sed 's/\..*$//')
11-
wrwatt=`curl -s localhost:8080/last/3 |jq '.Power.L1' | tr -d '\n' | sed 's/\..*$//'`
5+
if [[ $sdm630modbuswrsource = *virtual* ]]
6+
then
7+
if ps ax |grep -v grep |grep "socat pty,link=$sdm630modbuswrsource,raw tcp:$sdm630modbuswrlanip:26" > /dev/null
8+
then
9+
echo "test" > /dev/null
10+
else
11+
sudo socat pty,link=$sdm630modbuswrsource,raw tcp:$sdm630modbuswrlanip:26 &
12+
fi
13+
else
14+
echo "echo" > /dev/null
15+
fi
16+
n=0
17+
output=$(sudo python /var/www/html/openWB/modules/sdm630modbuswr/readsdm.py $sdm630modbuswrsource $sdm630modbuswrid)
18+
while read -r line; do
19+
if (( $n == 0 )); then
20+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/wra1
21+
fi
22+
if (( $n == 1 )); then
23+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/wra2
24+
fi
25+
if (( $n == 2 )); then
26+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/wra3
27+
fi
28+
if (( $n == 3 )); then
29+
wl1=$(echo "$line" | cut -c2- |sed 's/\..*$//')
30+
fi
31+
if (( $n == 4 )); then
32+
wl2=$(echo "$line" | cut -c2- |sed 's/\..*$//')
33+
fi
34+
if (( $n == 5 )); then
35+
wl3=$(echo "$line" | cut -c2- |sed 's/\..*$//')
36+
fi
37+
if (( $n == 6 )); then
38+
echo "$line" | cut -c2- |sed 's/\..*$//' > /var/www/html/openWB/ramdisk/wrkwh
39+
fi
40+
41+
n=$((n + 1))
42+
done <<< "$output"
43+
44+
wattwr=`echo "($wl1+wl2+$wl3)" |bc`
45+
echo $wattwr > /var/www/html/openWB/ramdisk/pvwatt
1246

1347

14-
echo $wrwatt > /var/www/html/openWB/ramdisk/pvwatt
15-
echo $wra1 > /var/www/html/openWB/ramdisk/wra1
16-
echo $wra2 > /var/www/html/openWB/ramdisk/wra2
17-
echo $wra3 > /var/www/html/openWB/ramdisk/wra3
1848

modules/sdm630modbuswr/readsdm.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/usr/bin/python
2+
import sys
3+
import os
4+
import time
5+
import getopt
6+
import socket
7+
import ConfigParser
8+
import struct
9+
import binascii
10+
seradd = str(sys.argv[1])
11+
from pymodbus.client.sync import ModbusSerialClient
12+
client = ModbusSerialClient(method = "rtu", port=seradd, baudrate=9600,
13+
stopbits=1, bytesize=8, timeout=1)
14+
15+
#rq = client.read_holding_registers(0,8,unit=5)
16+
#print(rq.registers)
17+
sdmid = int(sys.argv[2])
18+
19+
resp = client.read_input_registers(0x06,2, unit=sdmid)
20+
21+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
22+
resp = client.read_input_registers(0x08,2, unit=sdmid)
23+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
24+
resp = client.read_input_registers(0x0A,2, unit=sdmid)
25+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
26+
27+
resp = client.read_input_registers(0x0C,2, unit=sdmid)
28+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
29+
resp = client.read_input_registers(0x0E,2, unit=sdmid)
30+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
31+
resp = client.read_input_registers(0x10,2, unit=sdmid)
32+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
33+
resp = client.read_input_registers(0x0156,2, unit=sdmid)
34+
print(struct.unpack('>f',struct.pack('>HH',*resp.registers)))
35+
36+
37+

modules/soc_http/main.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
#Soc from http
4+
. /var/www/html/openWB/openwb.conf
5+
6+
hsoc=$(curl --connect-timeout 15 -s $hsocip | cut -f1 -d".")
7+
8+
#wenn SOC nicht verfügbar (keine Antwort) ersetze leeren Wert durch eine 0
9+
re='^[0-9]+$'
10+
if ! [[ $hsoc =~ $re ]] ; then
11+
hsoc="0"
12+
fi
13+
echo $hsoc
14+
#zur weiteren verwendung im webinterface
15+
echo $hsoc > /var/www/html/openWB/ramdisk/soc

openwb.conf

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,23 @@ dacregister=62
2626
modbusevsesource=/dev/ttyUSB0
2727
#modbus id der evse
2828
modbusevseid=2
29+
modbusevselanip=192.168.2.10
2930

31+
evsecons1=modbusevse
32+
evsesources1=/dev/virtualcom1
33+
evseids1=1
34+
evselanips1=10.20.0.180
35+
sdmids1=5
36+
ladeleistungs1modul=sdm630modbuslls1
37+
38+
#lastmanagement
39+
lastmanagement=0
40+
lastmmaxw=15000
3041

3142

3243

3344
#################################################################
3445
# Modulauswahl für den Strombezug/Einspeisung am Übergabepunkt.
35-
# Mögliche Werte: vzlogger, sdm630modbusbezug, none
3646
# Das Modul selbst muss noch konfiguriert werden
3747
wattbezugmodul=vzlogger
3848

@@ -58,6 +68,10 @@ pvwattmodul=wr_fronius
5868

5969
#wr fronius ip
6070
wrfroniusip=10.20.0.126
71+
sdm630modbuswrsource=/dev/virtualcom2
72+
sdm630modbuswrlanip=192.168.0.24
73+
sdm630modbuswrid=3
74+
6175

6276

6377
#################################################################
@@ -83,22 +97,23 @@ sdm630modbuslllanip=10.20.0.180
8397

8498
# Modulauswahl für den SOC des Fahrzeugs.
8599
# wird kein SOC ausgelesen Wert auf "none" setzen
86-
# Mögliche Wete: none, soc_from_elastic
87-
socmodul=soc_from_elastic
100+
# Mögliche Wete: none,soc_http
101+
socmodul=none
88102

103+
hsocip=10.0.0.110/soc.txt
89104

90105

91106

92107
#Nachtlademodus
93108
# Geladen wird in der Zeit von 22 bis 7 Uhr (Beispiel) bis xx% soc, ist Soc Modul none (also keines vorhanden) wird durchgehend in der Zeit geladen
94109
# Soll nachts geladen werden? (wert 0 oder 1)
95-
nachtladen=1
110+
nachtladen=0
96111
# Ladeleistung für die Nacht (Wert 6-32) wobei 6 = 6A und 32 = 32A maximale WB Leistung ist
97112
nachtll=18
98113
# Ab wieviel Uhr abends soll geladen werden? (17-23 Uhr möglich, angabe in Stunden)
99-
nachtladenabuhr=22
114+
nachtladenabuhr=18
100115
# Bis wieviel Uhr morgens soll geladen werden? (01-10 Uhr möglich, angabe in Stunden)
101-
nachtladenbisuhr=6
116+
nachtladenbisuhr=5
102117
# Sofern Soc ausgelesen wird, bis wieviel % SOC laden?
103118
nachtsoc=50
104119

@@ -123,3 +138,5 @@ abschaltuberschuss=900
123138
# Der Modi Sofort Laden lädt immer mit der vorgegebenen Ladeleistung
124139
# Mögliche Werte: 6-32 (A)
125140
sofortll=20
141+
142+

ramdisk/anzahlphasen

100644100755
File mode changed.

ramdisk/bezuga1

100644100755
File mode changed.

ramdisk/bezuga2

100644100755
File mode changed.

0 commit comments

Comments
 (0)