Anbindung an Stromspeicher E3DC

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Ollo0815
Beiträge: 13
Registriert: 06.01.2017, 13:23
Hat sich bedankt: 4 Mal

Re: Anbindung an Stromspeicher E3DC

Beitrag von Ollo0815 » 28.09.2022, 12:38

Hey!

Habe Dir eine PN geschrieben. LG

jhhr06
Beiträge: 7
Registriert: 27.09.2020, 14:31
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von jhhr06 » 29.09.2022, 16:53

Hallo Nico,
ich habe die gleiche Fehlermeldung wie Ollo0815.
Ich habe versucht von V2.09 auf V2.17 einen Upgrade zu machen mit "git pull".
der Server läuft zwar aber auf der GUI wird nur der Rahmen angezeigt keine Werte.

Code: Alles auswählen

pi@raspi-e3dc:~/E3dcGui$ make
rm copyPara 
cc -O1 copyPara.c -o copyPara
rm watchdog 
g++ -O1 Watchdog.cpp -o watchdog
rm screenSave 
cc -O1 screenSave.c -o screenSave
rm screenSaveHM 
cc -O1 screenSaveHM.c -o screenSaveHM -lwiringPi
rm GuiMain 
cc -O1 GuiMain.c -lcurl -o GuiMain -lwiringPi
rm start 
cc -O1 start.c -o start
rm stop 
cc -O1 stop.c -o stop
rm RscpMain 
g++ -O3 RscpMain.cpp Rscp/RscpProtocol.cpp Rscp/AES.cpp Rscp/SocketConnection.cpp -o RscpMain
In file included from RscpMain.cpp:20:
Rscp/RWData.h: In function ‘int handleResponseEMSGetIdlePeriods(RscpProtocol*, SRscpValue*, idle_period_t*)’:
Rscp/RWData.h:495:29: warning: control reaches end of non-void function [-Wreturn-type]
   protocol->destroyValueData(emsData);
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
rm Rscp/RscpSet 
g++ -O3 Rscp/RscpSet.cpp Rscp/RscpProtocol.cpp Rscp/AES.cpp Rscp/SocketConnection.cpp -o Rscp/RscpSet
In file included from Rscp/RscpSet.cpp:13:
Rscp/../Rscp/RWData.h: In function ‘int handleResponseEMSGetIdlePeriods(RscpProtocol*, SRscpValue*, idle_period_t*)’:
Rscp/../Rscp/RWData.h:495:29: warning: control reaches end of non-void function [-Wreturn-type]
   protocol->destroyValueData(emsData);
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
rm S10history/S10history 
g++ -O3 S10history/S10history.cpp S10history/RscpReader.cpp Rscp/RscpProtocol.cpp Rscp/AES.cpp Rscp/SocketConnection.cpp -o S10history/S10history
In file included from S10history/RscpReader.cpp:27:
S10history/../Rscp/RWData.h: In function ‘int handleResponseEMSGetIdlePeriods(RscpProtocol*, SRscpValue*, idle_period_t*)’:
S10history/../Rscp/RWData.h:495:29: warning: control reaches end of non-void function [-Wreturn-type]
   protocol->destroyValueData(emsData);
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
pi@raspi-e3dc:~/E3dcGui$ grep "Stand: " README.markdown |cut -d " " -f 2
V2.17
Gruß Jürgen

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 29.09.2022, 18:27

Hallo Jürgen,
ich hatte gestern von @Ollo0815 noch Informationen per PN erhalten. So habe ich gestern den Fehler auf die Sperrzeiten eingrenzen. Da die Warnung beim kompilieren im Bereich der "IdlePeriods" kommt, denke ich so allmählich doch, dass es mit der Warnung zusammenhängt.

Die Warnung ist eigentlich nur eine Meldung, aber vielleicht macht der Compilierer damit doch einen Fehler ins Programm.
Es Fehlt in der Funktion am Ende ein "return". Ältere Compiler haben das ignoriert, vielleicht habt ihr ein neueres Raspberry System mit aktuellen Compiler wo dies Fehlschlägt.

Vielleicht kann einer von euch beiden das mal testen, denn bei mir geht es egal wie der Compiler meldet nichts :(
Wenn es klappt baue ich es schnell in eine neue Version ein.
Was muss gemacht werden... In der Datei "Rscp/RWData.h" ziemlich am ende muss dieser Befehl ergänzt werden. "return 1;"

Vorher:

Code: Alles auswählen

    uint8_t unknown = protocol->getValueAsUChar8(emsData);
    printf("Unknown ems tag %08X -> %i.\n", emsData->tag, unknown);
    break;
  }
  protocol->destroyValueData(emsData);
}

#endif // __RWData_H_
Nachher:

Code: Alles auswählen

    uint8_t unknown = protocol->getValueAsUChar8(emsData);
    printf("Unknown ems tag %08X -> %i.\n", emsData->tag, unknown);
    break;
  }
  protocol->destroyValueData(emsData);
  return 1;
}

#endif // __RWData_H_
Ich hoffe das klappt, dann wäre der Fehler ja schnell abgestellt ;-)
Viele Grüße Nico

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 29.09.2022, 23:46

Hallo Jürgen,
bei Ollo0815 hat es mit der neuen Zeile jetzt geklappt. Somit sollte es bei dir auch Abhilfe schaffen.
Wenn dir noch was auffällt oder weitere Probleme auftreten melde dich gerne wieder.
Den Fehler werde ich nächsten Tage im Github korrigieren.

Viele Grüße Nico

jhhr06
Beiträge: 7
Registriert: 27.09.2020, 14:31
System: CCU

Re: Anbindung an Stromspeicher E3DC

Beitrag von jhhr06 » 30.09.2022, 12:31

Hallo Nico,

vielen Dank, läuft jetzt auch bei mir.

Gruß Jürgen

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 14.10.2022, 08:21

Hallo Nico,
bei mir läuft alles fantastisch.
Gerne würde ich mir weitere Batteriedaten übertragen lassen.
Gibt es eine Möglichkeit die Variablen Batterie Laden und Entladen (Watt-Zahl) in die Homematic zu übertragen?
Gruß Paul

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 15.10.2022, 18:18

Hallo Paul,

sofern die Daten per RSCP vom Speicher zur Verfügung gestellt werden kann man alles auch zur HM übertragen.
Man muss dazu ggf. die "RscpMain.cpp" anpassen oder erweitern.
Wenn ich den Wert schon für das Display abfrage müsste nur eine ISE in der parameter.h angelegt werden und eine ähnliche Zeile wie diese um passenden Bereich ergänzt werden.

Code: Alles auswählen

printsendHM(CounterHM, TAG_EMS_ISE_POWER_BAT, TAG_EMS_OUT_POWER_BAT);
Wenn ich den Wert noch nicht abfrage ist der Aufwand größer.

Aber jetzt zu dem Wert welchen du haben möchtest. Wenn ich es richtig verstehe willst du nur die Batterieladung oder Batterieentladung in Watt haben.
Grundsätzlich ist dieser Wert vorhanden und wird mit dieser ISE auch zur HM übertragen:

Code: Alles auswählen

#define TAG_EMS_ISE_POWER_BAT
Aber das nur als ein Wert. Laden ist Positiv und Entladen ist Negativ. Wenn du die Werte einzeln haben willst dann wäre das recht einfach möglich. Aber bevor ich darauf näher eingehe, schreib doch bitte etwas genauer was die gerne für Werte haben willst. Vielleicht kann ich mir dann was überlegen, es erklären oder ggf. sogar in die Applikation einbauen.

Viele Grüße Nico

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 16.10.2022, 12:54

Hallo Nico,
folgende Vorstellung habe ich um mir die zwei Werte in mein AIO Creator Neo anzeigen zu lassen (E3DC->PI->Homematic->AIO Creator Neo):
- Am besten wäre, wenn ich nur eine Variable hätte, die mir entsprechen plus oder minus (Laden/Entladen) anzeigen würden.
- Wenn die erste Variante nicht geht, dann wären auch zwei Variablen möglich (Laden/Entladen), die Vorzeichen in diesem Fall wären da nicht wichtig
Die Anzeigen müsste dann wie folgt sein:
+ Bsp. Variante 1: Anzeige von nur einem Wert -> Laden: +1000W oder Entladen: -500W
+ Bsp. Variante 2: Anzeige von jeweils zwei Werten -> Laden: 1000W und Entladen: 500W
Danke und Gruß Paul

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von nischram » 16.10.2022, 15:42

Hallo Paul,

aber genau das was du möchtest wird doch mit dem Wert "PowerBat" schon übertragen, wenn du die ISE eingerichtet hast.
ISE:

Code: Alles auswählen

#define TAG_EMS_ISE_POWER_BAT
bei mir in der HM "S10_EMS_POWER_BAT"
Bildschirmfoto 2022-10-16 um 15.35.53.png
Aktuell wird die Batterie mit 627W geladen, eine Entladung wären her z.B. -400W

Gruß Nico

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

Re: Anbindung an Stromspeicher E3DC

Beitrag von lag00b » 17.10.2022, 08:12

Hallo Nico,
Oh, das war mein Fehler. Ich hatte diese Variabel übersehen.
Danke und Gruß Paul

Antworten

Zurück zu „HomeMatic allgemein“