Anbindung an Stromspeicher E3DC

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Johre
Beiträge: 13
Registriert: 01.05.2021, 18:42
System: CCU
Hat sich bedankt: 4 Mal

Re: Anbindung an Stromspeicher E3DC

Beitrag von Johre » 30.11.2022, 21:10

Hallo Nico,

super, danke für die Rückmeldung, ich werde das, wie beschrieben einbauen und testen. Ich hatte so etwas schon auf Grund des Namens der fehlenden Datei vermutet. Insofern bin ich guter Dinge, dass das funktionieren wird. Ich melde mich dann.

Viele Grüße

Johannes

Johre
Beiträge: 13
Registriert: 01.05.2021, 18:42
System: CCU
Hat sich bedankt: 4 Mal

Re: Anbindung an Stromspeicher E3DC

Beitrag von Johre » 01.12.2022, 12:09

Hallo Nico,

jetzt habe ich die Änderung eingebaut und neu kompiliert und der Test war erfolgreich:
Hier die Ausgabe und die Variablen wurden auch neu gesetzt.

Notstromreserve setzen
EP Reserve Max = 14137
EP Reserve = 4000
____________________
Connecting to server 192.168.xxx.xx:5033
Connected successfully
Request authentication
RSCP authentitication level 10
____________________
Set Notstrom-Reserve
EP Reserve = 4000 Wh
Send to Serial-Number S10-xxx
Parameter gesendet

Allerdings musste ich alles neu kompilieren, bevor die Änderung wirksam war.
Noch Mal vielen Dank für die Analyse und Lösung !

Viele Grüße

Johannes

nischram
Beiträge: 108
Registriert: 20.05.2016, 10:41
Danksagung erhalten: 10 Mal

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 04.12.2022, 18:04

Hallo Johannes,

freut mich das es geklappt hat.
Warum das mit de Kompilieren nicht geklappt hat verstehe ich nicht aber das ist ja jetzt egal, bei dir läuft es und wenn ich es einbaue sollte man beim Update ehe alles kompilieren.

Danke fürs Feedback.

Viele Grüße Nico

lag00b
Beiträge: 24
Registriert: 15.08.2022, 15:49
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 17.04.2023, 10:28

Hallo Nico,
gibt es eine Möglichkeit die erzeugte PV-Tages-Leistung in kWh aus der E3DC auszulesen und in Homematic als Systemvariable einzubinden?
Gruß Paul

nischram
Beiträge: 108
Registriert: 20.05.2016, 10:41
Danksagung erhalten: 10 Mal

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 17.04.2023, 20:23

Hallo Paul,

ich habe es gerade mal auf die Schnelle bei mir eingebaut und getestet. Es geht recht einfach.
Die Energiewerte werden mit dem Zusatz S10history abgerufen, so muss der Part mit dem senden an die HM dort eingebaut werden.
Ich habe es dir als Beispiel mal in die RscpReader.cpp eingebaut: (ab Zeile 226)

Code: Alles auswählen

		case TAG_DB_DC_POWER: {
			float dc_power = protocol->getValueAsFloat32(&((*dbSum)[i]));
			printf("%s production: %0.1f Wh\n", sum_prefix, dc_power);
			writeHistory(dataPV, dc_power, writedata);
			sum.production = dc_power;
			printsendHM(HM_Intervall, TAG_EMS_ISE_PV_ENERGY, dc_power);
			break;
		}
Entscheidend ist die Zeile mit der Funktion printsendHM(). Da die Funktion auch in der RscpMain.cpp verwendet wird und dort nur alle x Sekunden was zur HM gesendet werden soll, muss du genau diesen Punkt treffen und das erfüllt die Variable "HM_Intervall". Die Variable "TAG_EMS_ISE_PV_ENERGY" ist nur ein Beispiel wichtig ist das diese in der parameter.h mit der ISE der HM definiert wird. Die Variable "dc_power" wird zuvor im case mit der Energie bis zum Abfragezeitpunkt in Wh gefüllt.
Somit musst du nur die Zeile einfügen, die Variable "TAG_EMS_ISE_PV_ENERGY" in der parameter.h definieren und das die Zusatzfunktion erneut kompilieren mit:

Code: Alles auswählen

make S10history/S10history
Nun sollte es schon funktionieren, ach ja fast vergessen. Voraussetzung ist natürlich das die HistoryValues auch aktiviert sind. Aber ich denke das hast du schon sonst wäre die Frage nicht gekommen. Wenn doch noch nicht dann musst du in der parameter.h noch die HistoryValues mit eine "1" aktivieren (und kompilieren):

Code: Alles auswählen

#define historyAktiv                1                       //History Values Abfragen und Anzeigen aktiv=1 deaktiv=0
#define historyDelay                900                     //Abfrageintervall in Sekunden mindestens 60, Empfehlung 900
Viel Erfolg.
Gruß Nico

lag00b
Beiträge: 24
Registriert: 15.08.2022, 15:49
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 17.04.2023, 22:01

Hallo Nico, das war ja schnell.
Vielen Dank für Deinen Support. Ich werde es am Wochenende versuchen umzusetzen (ich hoffe schon eher)
Dir noch einen schönen Abend und danke.
Gruß Paul

lag00b
Beiträge: 24
Registriert: 15.08.2022, 15:49
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 18.04.2023, 19:05

Hallo Nico,

leider zeigt mir die CCU den Wert nicht an.

Um den Fehler einzugrenzen schreibe ich Dir Schritt für Schritt meine Vorgehensweise:

1. Unter WinSCP habe ich die Datei RscpReader.cpp die Zeile ergänzt mit printsendHM.........
case TAG_DB_DC_POWER: {
float dc_power = protocol->getValueAsFloat32(&((*dbSum)));
printf("%s production: %0.1f Wh\n", sum_prefix, dc_power);
writeHistory(dataPV, dc_power, writedata);
sum.production = dc_power;
printsendHM(HM_Intervall, TAG_EMS_ISE_PV_ENERGY, dc_power);
break;

2. In der CCU habe ich die Systemvariable eingerichtet (Typ: Zahl, Wert: 0 - 65000) und die ise_ID herausgelesen (19728)

3. Unter WinSCP habe ich die Datei parameter.h die folgende Zeile ergänzt:
#define TAG_EMS_ISE_PV_ENERGY 19728 // ISE_ID_PV_ENERGY_TAG

Die 'History Values' waren bereits auf 1 gesetzt und auch der Intervall-Wert war bereits auf 900 gesetzt.

4. Dann unter Putty den folgenden Befehl im Pfad E3dcGui ausgeführt:
make S10history/S10history

pi@raspberrypi:~/E3dcGui $ make S10history/S10history
rm S10history/S10history
g++ -O3 S10history/S10history.cpp S10history/RscpReader.cpp Rscp/RscpProtocol.cp
p Rscp/AES.cpp Rscp/SocketConnection.cpp -o S10history/S10history

Es lief ohne Fehlermeldung durch.

Habe ich da etwas falsch verstanden oder wo könnte der Fehler sein?

Gruß Paul

nischram
Beiträge: 108
Registriert: 20.05.2016, 10:41
Danksagung erhalten: 10 Mal

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 18.04.2023, 20:42

Hey,

mit der Info muss ich jetzt fragen ob du die E3dcGui mit oder ohne Display benutzt. Die Applikation S10history wird nur durch die GuiMain regelmäßig nach 900 Sekunden durchgeführt.
Wenn die Applikation ohne Display betrieben wird musst du die S10history noch in den crontab bringen damit sie regelmäßig gestartet wird.
z.B. mit dieser Zeile:

Code: Alles auswählen

*/15 * * * * /home/pi/E3dcGui/S10history/S10history
Aber zuvor solltest du die Software testen mit:

Code: Alles auswählen

E3dcGui/S10history/S10history
Wenn die Daten geladen werden kommen etliche Zeilen Informationen als Ausgabe und deine Variable sollte dich füllen.

Gruß Nico

lag00b
Beiträge: 24
Registriert: 15.08.2022, 15:49
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 18.04.2023, 21:45

Guten Abend Nico,

ich benutze kein Display.

Mit dem Befehl E3dcGui/S10history/S10history wird keine PV-Tageswertmenge angezeigt.

Wie ich Dich verstanden habe, muss in dem Falle ohne Display die crontab ändern.
In der crontab steht bereits der Befehl: @reboot /home/pi/E3dcGui/start.
Muss ich jetzt eine zweite Zeile hinzufügen mit: @reboot /home/pi/E3dcGui/S10history/S10history?

Gruß Paul

lag00b
Beiträge: 24
Registriert: 15.08.2022, 15:49
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 18.04.2023, 21:50

Hier noch ein Auszug:
[88]-Hour Date: 1681854300 - Tue Apr 18 21:45:00 2023
[88]-Hour graph index: 87.0
[88]-Hour battery in: 0.0 W
[88]-Hour battery out: 505.5 W
[88]-Hour production: 0.0 W
[88]-Hour grid in: 4.0 W
[88]-Hour grid out: 3.8 W
[88]-Hour consumption: 420.0 W
[88]-Hour pm 0 power: 0.0 W
[88]-Hour pm 1 power: 0.0 W
[88]-Hour bat charge level: 79.9 %
[88]-Hour bat cycle count: 0.000000
[88]-Hour consumed production: 99.0
[88]-Hour autarky: 100.000000
[88]-Hour-CSV: 1681854300;0.00;505.50;79.92;0.00;4.00;3.75;420.00

Antworten

Zurück zu „HomeMatic allgemein“