Autor Thema: lokale Anbindung SENEC Batterie an FHEM  (Gelesen 12415 mal)

Offline xerion

  • Sr. Member
  • ****
  • Beiträge: 537
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #60 am: 17 Februar 2021, 14:11:26 »
Moin hat schon jemand von auch eine Möglichkeit gefunden den Speicher bzw. das Laden/Entladen zu steuern?
Um das EV PV Optimiert laden zu können wäre es am besten wenn man den Speicher auch übersteuern könnte, damit der Speicher nicht in das EV geladen wird.

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1773
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #61 am: 23 Februar 2021, 13:10:04 »
So, wir kommen im Kostal Thread mit der Batterie Ansteuerung weiter, da ist sicher auch hier etwas von zugebrauchen.

z.B MinSOC, MaxSOC, 70% Regel mit Ladefenster
Anfragen bitte im anderen Thread stellen.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline xerion

  • Sr. Member
  • ****
  • Beiträge: 537
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #62 am: 23 Februar 2021, 13:31:56 »
So, wir kommen im Kostal Thread mit der Batterie Ansteuerung weiter, da ist sicher auch hier etwas von zugebrauchen.

z.B MinSOC, MaxSOC, 70% Regel mit Ladefenster
Anfragen bitte im anderen Thread stellen.

VG
   Christian

Hallo Christian,

ich habe jetzt nicht ganz aus dem Thread entnehmen können, wie das mit dem SENEC Speicher nun funktionieren soll?

Offline PapaRiX

  • New Member
  • *
  • Beiträge: 5
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #63 am: 10 April 2021, 14:31:52 »
Ich habe jetzt auch mal ein wenig rumgeforscht und mittels Entwicklerconsole im Browser und Postman rumgespielt
Wenn die Infos schon bekannt sind, tut mir's leid, ich würde das gerne trotzdem mal zusammenstellen und sammeln.

im Photovoltaikforum gibt es interessante Hinweise im SENEC thread:
https://www.photovoltaikforum.com/thread/140602-senec-home-v3-hybrid-duo/

Es gibt eine debug Seite, die alle Variablen anzeigt:
http://192.168.XXX.YYY/Vars.html

Außerdem scheint bei:
http://192.168.XXX.YYY/display.html
einiges mehr an infos zu fließen als man angezeigt bekommt.

es gibt dort in lala.cgi die Anfrage:
{"DISPLAY":{"IMAGE":"","LEDS":""}}

Interessant ist die Variable "IMAGE" (siehe auch http://192.168.XXX.YYY/Vars.html)
Diese gibt einen riesen Array mit 264 Werten zurück.
Leider konnte ich mich noch nicht weiter auf die Suche machen, weil ich nicht genau weiß, wie ich das n-te Element eines Arrays in JSON isolieren kann (hat einer von euch einen Tipp?) Ich könnte wetten, dass wir dort auch Infos wie Energiemengen herbekommen.

Wenn vielleicht einer von Euch mehr Ahnung zum HTTPMOD/Postman/JSON hat kommen wir vielleicht weiter...

Grüße,
Patrix

Offline cjung

  • Full Member
  • ***
  • Beiträge: 174
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #64 am: 10 April 2021, 14:37:14 »
Hallo Patrix,

Ich kann noch die Chartfunktion beitragen:

http://192.168.XXX.YYY/chart.html?ENERGY.GUI_BAT_DATA_POWER.0&ENERGY.GUI_GRID_POW.0&ENERGY.GUI_HOUSE_POW.0&ENERGY.GUI_INVERTER_POWER.0

Hast Du Dir die Statistik Variablen schonmal angesehen ? "{"STATISTIC":{"LIVE_BAT_CHARGE":"","LIVE_BAT_DISCHARGE":"","LIVE_GRID_EXPORT":"","LIVE_GRID_IMPORT":"","LIVE_HOUSE_CONS":"","LIVE_PV_GEN":""}}"
Das Display scheint nur die Bit Daten der Pixel zu übertragen. Die eigentlichen Wert bekommt man auch direkt. Man muss die nur aus hex in Dezimal umrechnen. Ein Beispiel für FHEM findest Du im ersten Posten dieses Threads.

Gruß
Christoph
« Letzte Änderung: 10 April 2021, 14:42:14 von cjung »
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

Offline PapaRiX

  • New Member
  • *
  • Beiträge: 5
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #65 am: 10 April 2021, 16:47:43 »
Hey Christoph,

Ich nutze das Beispiel von Seite 1 selbst.

(habe eben auch nochmal beim Durchgehen des Threads gesehen, dass schon mal jemand auf den DISPLAY Knoten gestoßen ist   ;D )

Danke nochmal für den Hinweis auf den STATISTIC Knoten.
die Statistikwerte scheinen aber die Insgesamtwerte anzuzeigen. Ich habe noch die Hoffnung, dass irgendwo auch die Tageswerte stehen...

Grüße,
Patrix



Offline cjung

  • Full Member
  • ***
  • Beiträge: 174
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #66 am: 10 April 2021, 22:13:27 »
Die Tageswerte hab ich jetzt noch nicht gesucht, aber Du könntest die Summenwerte nehmen und dann ein Diagram mit delta-d machen. Dann zeigt es jeweils die Tagenswerte an.
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

Offline PapaRiX

  • New Member
  • *
  • Beiträge: 5
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #67 am: 11 April 2021, 15:38:53 »
Das ist eine super Idee!

Ich schau mal, ob ich mit delta-d arbeite (muss mich da mal einlesen) oder ob ich mir einen dummy schaffe, der anhand der Gesamtwerte für jeden Kalendertag einen Wert ermittelt und in ein Log legt.

Offline Doemy

  • New Member
  • *
  • Beiträge: 5
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #68 am: 12 April 2021, 09:35:27 »
Hallo zusammen,

hat jemand bereits eine Möglichkeit gefunden, um dem Speicher Befehle zu senden?

Vorallem wäre es interessant, die Einstellungen für das PEAK SHAVING zu ändern.
Die automatische Einstellung funktioniert bei mir überhaupt nicht, die letzten Tage waren sehr sonnig, Begrenzung hat angesprochen, PEAK Shaving hat aber nicht gegriffen. Habe es dann seit vorgestern auf manuell gestellt, funktioniert super.
Allerdings möchte ich an einem Regentag natürlich andere Einstellungen als ein einem Sonnentag.
Aber jeden Tag die Einstellungen manuell anpassen...  :o

Evtl. wäre es auch möglich, nur das laden des Batterie zu sperren und somit nicht das vorgegebenen PEAK SHAVING zu nutzen, sondern über eine solche Regelung "selbst zu basteln".

Gruß Thomas

Offline xerion

  • Sr. Member
  • ****
  • Beiträge: 537
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #69 am: 12 April 2021, 13:04:40 »
Ich könnte noch die Links beisteuern, dort kann man sich jeweils den aktuellen und vorherigen Logs live anschauen.

http://192.168.yyy.xxx/log.html (Live vom Tag)

Die Historie der Logs kann man sich jeweils pro Tag unter http://192.168.yyy.xxx/log/YYYY/MM/DD.log (Historie pro Tag

Offline PapaRiX

  • New Member
  • *
  • Beiträge: 5
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #70 am: 12 April 2021, 21:57:12 »
Nachdem ich momentan ein seltsames Verhalten bei meinem Speicher oder viel mehr dem Wechselrichter habe (ich bekomme alle paar Tage eine art Phantomleistung vom Dach angezeigt, ca 200W zu viel... auch Nachts) habe ich den Support angeschrieben und bei der Gelegenheit gleich nochmal angefragt, ob sie nicht eine MQTT-Schnittstelle bereitstellen können.
Wie zu erwarten ist das derzeit nicht geplant aber "der Vorschlag wurde an die Fachabteilung weitergereicht". Ich weiß, ich weiß... das ist das moderne "don't call us, we'll call you" aber man kann ja noch etwas träumen.  ;D

Offline PapaRiX

  • New Member
  • *
  • Beiträge: 5
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #71 am: 22 April 2021, 20:26:13 »
Kennt sich von Euch einer besser mit HTTPMOD aus?
ich möchte gerne die Leistungen der MPP Strings auslesen.
{"PV1":{"MPP_POWER": ""}}Der JSON code sieht so aus:
{
    "PV1": {
        "MPP_POWER": [
            "fl_42AA0107",
            "fl_00000000",
            "fl_40CC0001"
        ]
    }
}

Das Ergebnis ist also ein array und ich habe es noch nicht geschafft einzelne elemente des Arrays zu isolieren.
hat einer eine Idee?

Danke,
Patrix

EDIT:
... und Frage selbt beantwortet  ;D
attr SENEC readingXXJSON PV1_MPP_POWER_Y
XX --> nummer des readings
Y --> Stelle des Arrays, fängt bei 0 an
« Letzte Änderung: 22 April 2021, 21:53:58 von PapaRiX »

Offline Juergen27

  • New Member
  • *
  • Beiträge: 8
Antw:lokale Anbindung SENEC Batterie an FHEM
« Antwort #72 am: 21 Juli 2021, 16:33:27 »
Hallo Leute, nachdem unser Speicher nun stabil läuft und auch sauber Daten liefert, wollte ich mal meine Definition mit der Community teilen. Vielleicht kann der eine oder andere ein Reading gebrauchen:
defmod SENEC HTTPMOD http://192.168.178.XX/lala.cgi 30
attr SENEC enableControlSet 1
attr SENEC reading01JSON PV1_POWER_RATIO
attr SENEC reading01Name PV-Begrenzung
attr SENEC reading01OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading02JSON ENERGY_GUI_INVERTER_POWER
attr SENEC reading02Name PV-Erzeugung
attr SENEC reading02OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON ENERGY_GUI_BAT_DATA_FUEL_CHARGE
attr SENEC reading03Name AKKU-Beladung
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON ENERGY_GUI_BAT_DATA_POWER
attr SENEC reading04Name AKKU-Entnahme
attr SENEC reading04OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading05JSON ENERGY_GUI_HOUSE_POW
attr SENEC reading05Name Haus-Stromverbrauch
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading06JSON PM1OBJ1_P_TOTAL
attr SENEC reading06Name Netz-Einspeisung
attr SENEC reading06OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading07JSON STATISTIC_CURRENT_STATE
attr SENEC reading07Name PV-Status
attr SENEC reading07OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading08JSON BMS_VOLTAGE
attr SENEC reading08Name BatterieSpannung
attr SENEC reading08OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading09JSON BMS_CURRENT
attr SENEC reading09Name BatterieStrom
attr SENEC reading09OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading10JSON BMS_CYCLES
attr SENEC reading10Name BatterieZyklen
attr SENEC reading10OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading11JSON PV1_MPP_VOL
attr SENEC reading11Name ModulSpannung
attr SENEC reading11OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading12JSON PV1_MPP_CUR
attr SENEC reading12Name ModulStrom
attr SENEC reading12OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading13JSON PV1_MPP_POWER
attr SENEC reading13Name ModulLeistung
attr SENEC reading13OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading14JSON TEMPMEASURE_BATTERY_TEMP
attr SENEC reading14Name Temperatur_Batterie
attr SENEC reading14OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading15JSON TEMPMEASURE_CASE_TEMP
attr SENEC reading15Name Temperatur_Gehaeuse
attr SENEC reading15OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading16JSON TEMPMEASURE_MCU_TEMP
attr SENEC reading16Name Temperatur_Hardware
attr SENEC reading16OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC requestData {"PV1":{"POWER_RATIO":"","MPP_VOL":"","MPP_CUR":"","MPP_POWER":""},"ENERGY":{"GUI_HOUSE_POW":"","GUI_INVERTER_POWER":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_FUEL_CHARGE":"","STAT_STATE":""},"PM1OBJ1":{"P_TOTAL":""},"STATISTIC":{"CURRENT_STATE":""},"BMS":{"VOLTAGE":"","CURRENT":"","CYCLES":""},"TEMPMEASURE":{"BATTERY_TEMP":"","CASE_TEMP":"","MCU_TEMP":""}}
attr SENEC room zz_Basisdevices
attr SENEC showBody 1
attr SENEC userReadings ur_Akku_Laden:AKKU-Entnahme.*\
{if(ReadingsVal("SENEC","AKKU-Entnahme",0) > 0) {return ReadingsVal("SENEC","AKKU-Entnahme",0)} else {return 0}},\
ur_Akku_Entladen:AKKU-Entnahme.*\
{if(ReadingsVal("SENEC","AKKU-Entnahme",0) < 0) {return ReadingsVal("SENEC","AKKU-Entnahme",0) * -1} else {return 0}},\
ur_Netz_Einspeisung:Netz-Einspeisung.*\
{if(ReadingsVal("SENEC","Netz-Einspeisung",0) < 0) {return ReadingsVal("SENEC","Netz-Einspeisung",0) * -1} else {return 0}},\
ur_Netz_Bezug:Netz-Einspeisung.*\
{if(ReadingsVal("SENEC","Netz-Einspeisung",0) > 0) {return ReadingsVal("SENEC","Netz-Einspeisung",0)} else {return 0}},\
ur_EnergieNetzStd:ur_Netz_Einspeisung.*\
integral {ReadingsVal("SENEC","ur_Netz_Einspeisung",0)/3600},\
ur_TimeStampStatus:Netz-Einspeisung.*\
{SplitStr2Time_Short(ReadingsTimestamp("SENEC","ur_Netz_Einspeisung","2000-01-01 00:00:00"))},\
ur_SENECStatusText:Netz-Einspeisung.*\
{SENECStatusText(ReadingsVal("SENEC","PV-Status","13"))},\
ur_Modulleistung:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ModulLeistung-1",0) + ReadingsVal("SENEC","ModulLeistung-2",0) + ReadingsVal("SENEC","ModulLeistung-3",0)},\
ur_Direktverbrauch:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_Modulleistung",0) - ReadingsVal("SENEC","ur_Netz_Einspeisung",0) - ReadingsVal("SENEC","ur_Akku_Laden",0)},\
ur_EigenverbrauchBasis:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_Direktverbrauch",0) + ReadingsVal("SENEC","ur_Netz_Einspeisung",0) + ReadingsVal("SENEC","ur_Akku_Laden",0)},\
ur_AutarkiegradBasis:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_Direktverbrauch",0) + ReadingsVal("SENEC","ur_Netz_Bezug",0) + ReadingsVal("SENEC","ur_Akku_Entladen",0)},\
ur_AutarkieDirektverbrauch:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_AutarkiegradBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Direktverbrauch",0)/ReadingsVal("SENEC","ur_AutarkiegradBasis",0)*100)} else {return 0}},\
ur_AutarkieAkkuEntnahme:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_AutarkiegradBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Akku_Entladen",0)/ReadingsVal("SENEC","ur_AutarkiegradBasis",0)*100)} else {return 0}},\
ur_AutarkieNetzbezug:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_AutarkiegradBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Netz_Bezug",0)/ReadingsVal("SENEC","ur_AutarkiegradBasis",0)*100)} else {return 0}},\
ur_AutarkieGrad:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_AutarkieAkkuEntnahme",0) + ReadingsVal("SENEC","ur_AutarkieDirektverbrauch",0)},\
ur_EigenverbrauchDirektverbrauch:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_EigenverbrauchBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Direktverbrauch",0)/ReadingsVal("SENEC","ur_EigenverbrauchBasis",0)*100)} else {return 0}},\
ur_EigenverbrauchAkkuLaden:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_EigenverbrauchBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Akku_Laden",0)/ReadingsVal("SENEC","ur_EigenverbrauchBasis",0)*100)} else {return 0}},\
ur_EigenverbrauchNetzeinspeisung:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_EigenverbrauchBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Netz_Einspeisung",0)/ReadingsVal("SENEC","ur_EigenverbrauchBasis",0)*100)} else {return 0}},\
ur_EigenverbrauchAnteil:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_EigenverbrauchAkkuLaden",0) + ReadingsVal("SENEC","ur_EigenverbrauchDirektverbrauch",0)}
Zur Info: wir haben zwei Stränge (2x12 Module) auf der Garage und 4 Batterien im Speicher (SENEC.Home V3 hybrid). Bei einer anderen Ausstattung fallen ein paar Readings weg.
LG
Jürgen
Cubietruck 3.4.107 / Debian GNU/Linux 7.8 (wheezy), verschiedene Homematic und Somfy Komponenten

 

decade-submarginal