Photovoltaik Eigenverbrauch,Bilanz,Prognose (Kostal Plenticore; KSEM; BYD HV)

Begonnen von ch.eick, 07 Oktober 2020, 16:09:12

Vorheriges Thema - Nächstes Thema

ch.eick

Hallo zusammen, ich bin hier bezüglich PV mit WP mal wieder unterwegs.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Für interessierte Leser,

Auf PHOTOVOLTAIC GEOGRAPHICAL INFORMATION SYSTEM (PV GIS) bekommt man sehr schöne monatliche Ertragsprognosen, wenn man sein System realistisch einträgt.
Bei mir passt das mit geringer Abweichung zu den tatsächlichen Monatserträgen.
Man kann das Jahr im Überblick sehen und bekommt auch die restlichen Monate des Jahres angezeigt.
Die Datenbasis scheint jedoch vom Zeitraum 2005 - 2016 zu sein. Was dann allerdings die letzen Jahre mit trockenen Sommern nicht beinhaltet.

Hat jemand eine Idee, was wir damit anfangen können ???
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

EDIT: Sorry, ich musste nochmal aktualisieren, da noch ein unnützer Wert zum Testen drin stand.

Hallo zusammen,
der Winter naht und mein Speicher macht das erste mal "smart_Laden" :-(

Hier kommt dann ein aktualisiertes uiTable:
- rechts oben wird das "smart_Laden aktiv" in rot angezeigt
- in der untersten Zeile sind die SOC Einstellungen für Sommer/Winter zusammen gerutscht und in der rechten Spalte wird der aktuell eingestellte SOC angezeigt.


{
package ui_Table;
##  $TR{0} = "style='color:yellow;text-align:left;font-weight:bold;font-size:18px'";                                                         ## Reihe 0 für Überschrift
  $TABLE = "style='width:100%;'";

  $TD{0..9}{0}     = "align='center' style='font-size:16px;border-right-style:solid;border-color:darkgreen;border-right-width:2px;width:26%'";

  $TD{0..9}{1} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:36%;font-weight:bold;'";
  $TD{0..9}{2..4} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:8%;text-align:center;'";
  $TD{0..9}{5} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:2px;width:8%;text-align:center;'";

sub FUNC_batt {
    my($val)=@_;
    my $ret="position:absolute;left:".(90*$val/100)."px;width:90px;height:20px;background:linear-gradient( to right,#F8F8E0 ".(90-(90*$val/100))."px,rgba(0,0,0,0) ".(90-(90*$val/100))."px);";
    return $ret;
  }
sub FUNC_Status {
    my($value, $min, $colorMin,  $statusMin,  $colorMiddel, $statusMiddle, $max, $colorMax, $statusMax)=@_;
    my $ret = ($value < $min)? '<span style="color:'.$colorMin.'">'.$statusMin.'</span>' : ($value > $max)? '<span style="color:'.$colorMax.'">'.$statusMax.'</span>' : '<span style="color:'.$colorMiddel.'">'.$statusMiddle.'</span>';
    return $ret;
  }
}

#########################################################
## "Spalte 0"|"Spalte 1"|"Spalte 2"|"Spalte 3"|"Spalte 4"|"Spalte 5"

"$SELF"|"Kommando<dd>Auswahl / DcPowerAbs</dd>" | widget([$SELF:ui_command],"uzsuDropDown,---,smart_Laden start,smart_Laden beenden,3 Minuten Wiederholung,Reset,DC_Power_Abs,Sommer,Winter") | widget([$SELF:SpeicherDcPowerAbs],"selectnumbers,-4500,250,4500,0,lin")."W" |""|([$SELF:SpeicherExternTrigger] eq "gesperrt" and [WR_1_API:Battery_InternControl_MinHomeConsumption] == [WR_1_API:Battery_Info_WorkCapacity])?'<span style="color:red">smart_Laden aktiv</span>':""

|"Speicher<dd>Steuerung</dd>" | widget([$SELF:SpeicherEntladung],"uzsuDropDown,Automatik,Trigger,Zeit") |""|
FUNC_Status([WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],-10,"#00FF00","Laden","orange","Standby",15,"red","Entladen").FUNC_Status([WR_1:Act_state_of_charge],15,"red","Speicher SOC","orange","Speicher SOC",49,"#00FF00","Speicher SOC")|

FUNC_Status([WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],-10,"green",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],"orange",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],15,"red",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P])." W"."<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);'>".STY(" ",FUNC_batt([WR_1:Act_state_of_charge])).STY(::round([WR_1:Act_state_of_charge],0)."%","font-size:16px;position:absolute;top:2px;left:30px")."</div>"


|"Trigger<dd>Status / ExternTrigger / Start / Ende</dd>" | widget([$SELF:SpeicherTrigger],"uzsuDropDown,entladen,gesperrt,none") | widget([$SELF:SpeicherExternTrigger],"uzsuDropDown,frei,gesperrt,none") | widget([$SELF:SpeicherZeitStart],"time") | widget([$SELF:SpeicherZeitEnde],"time")

|"Kommando Wiederholung<dd>aktiviert / läuft</dd>" | widget([$SELF:SpeicherCmdRepeatActive],"uzsuToggle,Aus,An") | widget([$SELF:SpeicherCmdRepeatRunning],"uzsuToggle,Aus,An") |""|""

|"MaxSOC Kontrolle<dd>aktiviert / läuft</dd>" | widget([$SELF:SpeicherMaxSOCControlActive],"uzsuToggle,Aus,An") | widget([$SELF:SpeicherMaxSOCControlRunning],"uzsuToggle,Aus,An") |""|""

|"MaxSOC Limit<dd>fc1_Limit / Minimum SOC Zeit / gestern / geplant</dd>" |
FUNC_Status([WR_1:Solar_Calculation_fc1_day],[$SELF:SpeicherMaxSOC_fc1_Limit],"red","<","","",[$SELF:SpeicherMaxSOC_fc1_Limit]-1,"#00FF00",">="). widget([$SELF:SpeicherMaxSOC_fc1_Limit],"selectnumbers,2000,1000,40000,0,lin") | widget([$SELF:SpeicherMaxSOC_MinSOC_Time],"time"). widget([$SELF:SpeicherMaxSOC_MinSOC_MinSOC],"selectnumbers,5,1,100,0,lin") |
"<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);'>".STY(" ",FUNC_batt([$SELF:SpeicherMaxSOC_DayBefore])).STY("gestern","font-size:12px;position:absolute;top:3px;left:25px")."</div>".widget([$SELF:SpeicherMaxSOC_DayBefore],"selectnumbers,5,1,100,0,lin")."%" |
"<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);'>".STY(" ",FUNC_batt([$SELF:SpeicherMaxSOC_Actual])).STY("geplant","font-size:12px;position:absolute;top:3px;left:25px")."</div>".widget([$SELF:SpeicherMaxSOC_Actual],"selectnumbers,5,1,100,0,lin")."%"

|"Mittags Kontrolle<dd>aktiviert / läuft</dd>" | widget([$SELF:SpeicherMiddayControlActive],"uzsuToggle,Aus,An") | widget([$SELF:SpeicherMiddayControlRunning],"uzsuToggle,Aus,An")|""|""

|"Mittags Limits<dd>Inverter_Max_Power / Laden nicht vor / Start /Stop<br>MaxSOC morgens / Power morgens / Power mittags</dd>" | widget([$SELF:SpeicherMidday_Inverter_Max_Power],"selectnumbers,1000,250,15000,0,lin")."W<br>".widget([$SELF:SpeicherMidday_MaxSOC],"selectnumbers,5,1,100,0,lin")."%" | widget([$SELF:SpeicherMidday_NotBefore],"time").widget([$SELF:SpeicherMidday_MaxChargePowerAbs_morning],"selectnumbers,0,50,2000,0,lin")."W" | widget([WR_1:Solar_middayhigh_fc0_start],"time").widget([$SELF:SpeicherMidday_MaxChargePowerAbs_midday],"selectnumbers,0,1,5000,0,lin")."W" | widget([WR_1:Solar_middayhigh_fc0_stop],"time").([$SELF:SpeicherMidday_MaxChargePowerAbs_midday] == 0)?"dynamisch":""

|"MinSOC Steuerung<dd>fc1_Limit / Winter | Sommer /aktuell</dd>"|
FUNC_Status([WR_1:Solar_Calculation_fc1_day],[$SELF:SpeicherMinSOC_fc1_Limit],"red","<","","",[$SELF:SpeicherMinSOC_fc1_Limit]-1,"#00FF00",">=").widget([$SELF:SpeicherMinSOC_fc1_Limit],"selectnumbers,2000,1000,40000,0,lin")."wh" |
widget([$SELF:SpeicherMinSOC_Winter],"selectnumbers,10,1,30,0,lin").widget([$SELF:SpeicherMinSOC_Sommer],"selectnumbers,5,1,10,0,lin")."%" |""|[WR_1_API:Battery_InternControl_MinSoc]." %"


VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo

ich denke die nächste Nachricht wird nur für ganz wenige hier von Nutzen sein.
Es ist nun gelungen, dank der Zusammenarbeit mit dem Photovoltaikforum, das man sich auch als Installer/master an der Plenticore API anmelden kann.
Dafür braucht man jedoch einen eigenen "Service Key" für den Installer Zugang.
Wer solch einen Key hat, der kann sich gerne mal bei mir melden, damit wir überlegen können, welche Funktionalität  man damit noch einbauen kann.

Das würde mir soweit einfallen

- Aktivieren/Deaktivieren der AC Laden des Speichers im Schwarm, da im Sommer meist der Master zum Laden reicht.
- Aktivieren/Deaktivieren des Speichers, damit nach einer externen Steuerung wieder die internen defaults verwendet werden

VG
  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MichaelO

Moin zusammen und danke für alles bisher Geleistete. Ich hab schon 2 Plenticore mit einmal BYD in Betrieb und die Tage kommt noch ein Fronius dazu. Nun dachte ich, ich setze das Wiki flott um, um ein wenig mit der Speichersteuerung experimentieren zu können und alle 3 WR schön in eine mySQL loggen zu lassen.

Leider scheitert es bereits am
ZitatWenn das Passwort aus dem KeyStore mit read abgeholt wird, wird es im Klartext angezeigt! Dies muss einzeilig und identisch zum "Master Key" erscheinen. Bei etwaigen Sonderzeichen kam es hier schon zu Abweichungen. In solch einem Fall muss man dann leider den "Master Key" im Plenticore ändern.
weil mein Key u. a. ein @ enthält.

Ich hab nun überall gesucht, als Betreiber und Installateur... aber ich finde nichts, wo ich diesen Master Key ändern kann. Wie bekomme ich nun das Teil in den KeyStore von fhem?

Danke
Michael

ch.eick

Zitat von: MichaelO am 27 Oktober 2021, 16:37:54
Moin zusammen und danke für alles bisher Geleistete. Ich hab schon 2 Plenticore mit einmal BYD in Betrieb und die Tage kommt noch ein Fronius dazu. Nun dachte ich, ich setze das Wiki flott um, um ein wenig mit der Speichersteuerung experimentieren zu können und alle 3 WR schön in eine mySQL loggen zu lassen.

Leider scheitert es bereits am weil mein Key u. a. ein @ enthält.

Ich hab nun überall gesucht, als Betreiber und Installateur... aber ich finde nichts, wo ich diesen Master Key ändern kann. Wie bekomme ich nun das Teil in den KeyStore von fhem?
Hallo Michael,
ich entnehme mal, dass Du das mit dem '@' bereits ausprobiert hast und das es tatsächlich nicht klappt.

Im Plenticore kann man das Passwort unter "Einstellungen|Grundeinstellungen" ändern.
Wenn der Plenticore mal durch zu viele falsche Zugriffe gesperrt war hatte ich bisher immer einfach den "Master Key" erneut überschrieben. Deshalb gehe ich davon aus, dass das Passwort dort der 'Master Key' ist. Eine kurze Bestätigung, wenn es so klappt wäre ganz toll.

Wenn Du den fremd WR so änlich wie möglich zum Plenticore implementierst, wirst Du sicherlich die wenigsten Probleme bekommen.
Vom Slave WR werden ja nicht so viele Werte benötigt, damit er sauber integriert werden kann.
Nur bei den Statistiken solltest Du genau hinschauen, damit diese auch kompatiebel zusammen geführt werden können.
Bei Fragen melde Dich einfach.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MichaelO

Zitat von: ch.eick am 27 Oktober 2021, 19:21:56
Im Plenticore kann man das Passwort unter "Einstellungen|Grundeinstellungen" ändern.
Wenn der Plenticore mal durch zu viele falsche Zugriffe gesperrt war hatte ich bisher immer einfach den "Master Key" erneut überschrieben. Deshalb gehe ich davon aus, dass das Passwort dort der 'Master Key' ist. Eine kurze Bestätigung, wenn es so klappt wäre ganz toll.

Danke für die schnelle Rückmeldung. Leider gibt es hier Begriffsverwirrungen, denn Deine Annahmen passen nicht. Der Plenticore kennt 2 Rollen. Diese sind der Anlagenbetreiber und der Installateur. Jede Rolle hat unterschiedliche Login-Methoden.

Der Anlagenbetreiber wird im Dropdown ausgewählt und muss ein Passwort eingeben. Dieses Passwort ist NICHT der Master Key vom Aufkleber, sondern ein frei zu vergebenes Passwort, dass in den von Dir beschriebenen Grundeinstellungen geändert werden kann.

Der Installateur wird ebenfalls im Dropdown ausgewählt, muss dann aber den Master Key und den Service Code eingeben. Der Master Key steht auf dem Aufkleber (bei mir mit Sonderzeichen) und den Service Code bekommt man von Kostal. Beides lässt sich nicht im Wechselrichter ändern.

Ich habe nach Deinem Posting alles mögliche versucht, aber im Menü der Grundeinstellung konnte ich stets nur das Passwort für den Anlagenbetreiber ändern, egal ob der Menüpunkt im Profil Betreiber oder Installateur ausgewählt wurde.

Leider ist das Wiki derart komplex, dass ich momentan nicht mehr Zeit für Versuche habe. Die Einrichtung beider WR mit BYD klappt jedenfalls nicht auf anhieb, da brauche ich mehr Zeit.

ch.eick

Zitat von: MichaelO am 28 Oktober 2021, 13:46:50
Danke für die schnelle Rückmeldung. Leider gibt es hier Begriffsverwirrungen, denn Deine Annahmen passen nicht. Der Plenticore kennt 2 Rollen. Diese sind der Anlagenbetreiber und der Installateur. Jede Rolle hat unterschiedliche Login-Methoden.

Der Anlagenbetreiber wird im Dropdown ausgewählt und muss ein Passwort eingeben. Dieses Passwort ist NICHT der Master Key vom Aufkleber, sondern ein frei zu vergebenes Passwort, dass in den von Dir beschriebenen Grundeinstellungen geändert werden kann.

Der Installateur wird ebenfalls im Dropdown ausgewählt, muss dann aber den Master Key und den Service Code eingeben. Der Master Key steht auf dem Aufkleber (bei mir mit Sonderzeichen) und den Service Code bekommt man von Kostal. Beides lässt sich nicht im Wechselrichter ändern.

Ich habe nach Deinem Posting alles mögliche versucht, aber im Menü der Grundeinstellung konnte ich stets nur das Passwort für den Anlagenbetreiber ändern, egal ob der Menüpunkt im Profil Betreiber oder Installateur ausgewählt wurde.

Leider ist das Wiki derart komplex, dass ich momentan nicht mehr Zeit für Versuche habe. Die Einrichtung beider WR mit BYD klappt jedenfalls nicht auf anhieb, da brauche ich mehr Zeit.
Ich habe bei mir immer das Passwort des Anlagenbetreibers gleich dem Master Key vom Aufkleber gesetzt, somit kann man es auch nicht vergessen :-)
Leider führen diese Begrifflichkeiten immer wieder zu Verwirrung.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Crawler

Hi
ich weiß jetzt nicht ob ich hier richtig bin  ::)
Ich habe mal die HTTPMOD Geschichte bei mir eingerichtet.
die Raw Def lies sich auch ohne Probleme einbinden und die Anmeldung am Plenticore Plus 4.2 funktioniert.
Leider bekomme ich als Fehler in Last ERROR Reading
Zitat"http:///api/v1/auth/logout: malformed or unsupported URL"
obwohl im Event Monitor
Zitat2021-11-20 22:30:57 ModbusAttr Plenticore Total_DC_Power: 0
2021-11-20 22:30:58 ModbusAttr Plenticore Gesamt_Ertrag: 41.272
2021-11-20 22:30:58 ModbusAttr Plenticore täglicher_Ertrag: 60.308
2021-11-20 22:30:58 ModbusAttr Plenticore Ladezustand: 38
steht.
liegt es an der fehlenden Einbindung der SQL Datenbank?
FHEM auf Raspi + HMLan + 14 Aktoren + OBIS(Strom) über GPIO

ch.eick

Zitat
liegt es an der fehlenden Einbindung der SQL Datenbank?
Die ist komplett raus, Du könntest ja auch FileLog verwenden, wenn Du die anderen Sachen auch nicht verwenden möchtest.


Zitat von: Crawler am 20 November 2021, 22:54:13
Ich habe mal die HTTPMOD Geschichte bei mir eingerichtet.
die Raw Def lies sich auch ohne Probleme einbinden und die Anmeldung am Plenticore Plus 4.2 funktioniert.
Leider bekomme ich als Fehler in Last ERROR Readingobwohl im Event Monitor steht.

Deine Meldungen im Log sind vom ModBus Device, das nichts mit HTTPMOD zu tun hat. Über ModBus bekommst Du aktuelle Werte und einige wenige Statistiken, die Du Dir ja auch schon umbenannt hast. Mit der Umbenennung solltest Du vorsichtig sein, wenn Du später auch noch andere Teil aus dem Wiki übernehmen möchtest, da sich die Namen ja durchziehen. Das hat bei anderen Anwendern zu einem nicht endenden Aufwand bei Neuerungen geführt. Auch bei SQL SELECTs müsstest Du in den Beispielen immer wieder umbenennen.
Weiterhin ist auch der Device Name mit bedacht gewählt und fügt sich in die anderen Devices ein.

Das HTTPMOD ist ein separates Device und greift auf die API zu, um Statistiken abzufragen und um den Plenticore inklusieve Speicher steuern zu können. Einiges würde auch über das ModBus Device gehen, was ich aber noch nicht umgesetzt habe, da es in der Firmware erst später dazu gekommen ist,

Bei dem Login Fehler fehlt Dir noch das WR_1_config Device, wo die IP-Adresse konfiguriert wird, denn die fehlt Dir im http Aufruf, siehe dazu nochmal die Device Benennung oben in der ersten Antwort.
Dann check bitte als nächstes die Funktionen in der 99_myUtils für die Authentification.
Und vergiss nicht das Plenticore Passwort zu hinterlegen und auch zu testen, da es bei Sonderzeichen schon Schwierigkeiten gegeben hat.

Im Wiki habe ich versucht den Aufbau von oben nach unten zu strukturieren, es ist also nicht so gut in der Mitte anzufangen :-)

Die Solar_* Funktionen brauchst Du nur, wenn Du an dem Thema Interesse hast.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Crawler

Hab ich glatt überlesen den Modbus  ::)
Ich finde die Wiki Seite sehr überladen und an manchen stellen komme ich nicht wirklich mit.
Wird es irgendwann nochmal ein fertiges Modul wie für den Piko geben?

Okay hab jetzt config und modbus auf WR_1 umgestellt jetzt kommen auch alle Werte  :)
Konnte bei mir auch die externe Batteriesteuerung über modbus aktivieren.

jetzt die Frage der Steuerung der Batterie. Modbus oder http?

Sonst muss ich dir ein großes Lob ausstellen. Da stecken viele Stunden Arbeit drin  :o

der WR1 sieht noch ein wenig unschön aus.
Ich denke das mach ich dann mal schön
FHEM auf Raspi + HMLan + 14 Aktoren + OBIS(Strom) über GPIO

ch.eick

Zitat von: Crawler am 21 November 2021, 11:26:40
Hab ich glatt überlesen den Modbus  ::)
Ich finde die Wiki Seite sehr überladen und an manchen stellen komme ich nicht wirklich mit.
Wird es irgendwann nochmal ein fertiges Modul wie für den Piko geben?
Ich stimme zu, es ist extrem viel Information, dafür aber nahezu komplett und an einer Stelle :-) Je weiter Du nach unten kommst, desto mehr könntest Du auch weglassen.

Zitat
Okay hab jetzt config und modbus auf WR_1 umgestellt jetzt kommen auch alle Werte  :)
Okay, das klappt dann schon mal.

Zitat
Konnte bei mir auch die externe Batteriesteuerung über modbus aktivieren.
Bei den Befehlen über ModBus habe ich festgestellt, dass es nicht wieder in den Default zurück fällt, somit müsste man das dann kontinuierlich und voll umfänglich weiter steuern.

Zitat
jetzt die Frage der Steuerung der Batterie. Modbus oder http?
Hier steht erstmal die Frage, was möchtest Du machen und Erreichen?
Bei nur einem WR wäre die erste Wahl die "intelligente Speicher Steuerung" des Plenticore, die hat schon ziemlich gute Treffer und war auch mein Anfang.

Wenn Du auch die Leistungsprognose verwenden möchtest, dann könntest Du die Grundsteuerung des WR verbessern. Für einige Fälle brauchst Du dann aber die Aktivierung der externen Speichersteuerung im Plenticore, was Dir der Installateur aktivieren müsste.

Ich verwende die API mit HTTPMOD und habe es so implementiert, das es das "dead man" Prinzip gibt. Sollte FHEM ausfallen arbeitet der WR einfach mit der internen Steuerung weiter, was auch mit der "intelligenten Speicher Steuerung" funktioniert.

Zitat
Sonst muss ich dir ein großes Lob ausstellen. Da stecken viele Stunden Arbeit drin  :o
Circa 3 Jahre ;-)

Zitat
der WR1 sieht noch ein wenig unschön aus.
Ich denke das mach ich dann mal schön
Hast Du bereits die Tabelle mit mit dem Rahmen als stateFormat ? Ich habe gerade gesehen, dass im Wiki noch ein älterer Stand ist.
Ich aktualisiere das gleich nochmal.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Eins hatte ich noch vergessen.

Ich werde daraus keim Modul erstellen, da ich dieses dann ja auch supporten muss.
Aus diesem Grund hatte ich mich entschieden die bestehenden Basis Module zu verwenden, wo Ihr auch separat Hilfe bekommen könnt.
Weiterhin verwendet hier auch nicht jeder alles was ich implementiert habe und Ihr könnt die Einzelkomponenten auch an anderer Stelle verwenden.

Das Wiki habe ich gerade noch aktualisiert:

WR_1
WR_2
WR_1_API
WR_2_API
WR_1_Speicher_1_ExternControl

Im Wiki sind jetzt auch wieder aktuelle Bilder zu finden.

Für die Zukunft ist noch eine Layout Überarbeitung geplant, bei der das uiTable Design auf die zu steuernden Geräte übertragen werden soll.
Dadurch werden die DUMMY Devices überflüssig werden. Das Erscheinungsbild wäre dann entsprechend dem WR_1_Speicher_1 oder dem Kia_eNiro_PV Device.
Auch wichtige Aufrufe, die jetzt im DOIF als cmd_* vorhanden sind werden dann als Pull Down im uiTable erscheinen.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hey zusammen

ich habe mal hier openWB mit Kia connect ein Anwendungsbeispiel mit openWB, Kia connect und sperren des Hausspeichers beim Laden abgelegt.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ojb

Hallo Leute,

ich habe eine PV-Anlage mit zwei Plenticore's und einer BYD und soweit alles am Laufen und in FHEM integriert. Vielen Dank für all die Vorleistungen. Grandios.

Das einzige was mir jetzt noch fehlt ist der Batteriestatus, also Normal, Ruhemodus 1, Ruhemodus 2.

In der Weboberfläche vom Plenticore findet man den Status unter Momentanwerte->Batterie.

FHEM liest Batterie_state aus, der steht bei mir aber immer auf NaN, was immer das heißen soll.

Bekommt jemand den Betteriestatus und wenn ja, wie?

Liebe Grüße
Oli
FHEM unter Debian auf Asus EEBox: KNX (Wetterstation, Rollläden, Beleuchtung), Maple-CUN (Temperatur und Feuchte über 1-Wire, Intertechno-Funksteckdosen), PV-Anlage mit Plenticore und BYD, Viessmann Wärmepumpe, 1-Wire (Temperatur, Feuchte, Stromverbrauch), Husquarna-Automower, ...