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

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

Vorheriges Thema - Nächstes Thema

killah78

Moin, bin etwas spät dran und wollte das API Device auf die neueste Version umstellen.
Habe die Änderung so aus dem Wiki übernommen.
Aber ich bekomme die Meldung:
"The method is not allowed for the requested URL."
Diese Meldung wurde schonmal gemeldet und liegt wohl an HTTPMOD, ich bekomme aktuell aber immernoch die Meldung.
Ist das noch nicht behoben?
Und wenn nein, kann jeman eine alte Version anhängen mit der es klappt?
Danke und Gruss

ch.eick

Zitat von: killah78 am 15 Januar 2021, 16:54:53
Aber ich bekomme die Meldung:
"The method is not allowed for the requested URL."
Diese Meldung wurde schonmal gemeldet und liegt wohl an HTTPMOD, ich bekomme aktuell aber immernoch die Meldung.
Ich denke Du meinst die HTTPMOD Version, da habe ich momentan folgende in Verwendung.

FVERSION 98_HTTPMOD.pm:0.233300/2020-12-12
ModuleVersion 4.0.16 - 5.12.2020

Sollte es da mit einer neueren Version Probleme geben, dann mach bitte direkt im passenden Thread einen Post auf.

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

Mumpitz

Also irgendetwas stimmt nicht mehr seit den Änderungen. Ich habe wieder regelmässig diese Meldung im Log und die Bilanz wird nicht mehr aktualisiert. Wie sieht es bei dir aus?

2021.01.15 20:57:03 2: PV_Schedule cmd_5 : PV Überschuss wird in Batterie geladen. Keine Entladung
2021.01.15 19:57:03 2: PV_Schedule cmd_5 : PV Überschuss wird in Batterie geladen. Keine Entladung
2021.01.15 08:57:03 2: PV_Schedule cmd_5 : PV Überschuss wird in Batterie geladen. Keine Entladung

ch.eick

Zitat von: Mumpitz am 15 Januar 2021, 21:09:42
Also irgendetwas stimmt nicht mehr seit den Änderungen. Ich habe wieder regelmässig diese Meldung im Log und die Bilanz wird nicht mehr aktualisiert. Wie sieht es bei dir aus?

2021.01.15 20:57:03 2: PV_Schedule cmd_5 : PV Überschuss wird in Batterie geladen. Keine Entladung
2021.01.15 19:57:03 2: PV_Schedule cmd_5 : PV Überschuss wird in Batterie geladen. Keine Entladung
2021.01.15 08:57:03 2: PV_Schedule cmd_5 : PV Überschuss wird in Batterie geladen. Keine Entladung

Das scheint wieder der Loop zu sein...

attr PV_Anlage_1_API event-on-change-reading Battery_.*
attr PV_Anlage_1_API event-on-update-reading auth_.*,Statistic_Autarky.*,Statistic_Energy_.*arge.*,Statistic_EnergyFeedIn.*,Statistic_EnergyHome.*, Statistic_EnergyPv[1|2].*,Statistic_.*Consumption.*,Statistic_Yield.*

Bitte check das mal. Wenn für die Battery_.* readings bei jedem update ein Evebt erzeugt wird, dann looped das DOIF, da es jedesmal den neuen Status abfragt und somiet wieder ein reading update gemacht wird.
Deshalb habe ich für die Battery_.* readings ein event-on-change-reading eingerichtet.
Im Wiki ist es bereits richtig drin.
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

Mumpitz

Zitat von: ch.eick am 15 Januar 2021, 21:23:11
Das scheint wieder der Loop zu sein...

Ja genau. Die beiden Readings sind gesetzt!
Was mich auch stark verunsichert ist der Umstand, dass ich MinSoC auf 20 gestellt habe, der Batteriestand jedoch heute über den Tag von 22% auf nun 14% abgenommen hat...
Keine Ahnung was ihn entladen hat..

Update:
Dann wäre es allerdings auch klar warum immer getriggert wird. Der MinSoC ist ja jedesmal tiefer und darum triggert er. Hmm, nur warum entlädt sich meine Batterie derart?

Mumpitz

Zitat von: ch.eick am 15 Januar 2021, 10:44:49
Danke, ist im Post und Wiki erledigt.

Noch was habe ich entdeckt:
Müsste
attr PV_Anlage_1_API get24Name 23_Battery_TimeControl
Nicht durch
attr PV_Anlage_1_API get24Name 24_Battery_TimeControl
ersetzt werden?

ch.eick

Zitat von: Mumpitz am 15 Januar 2021, 22:17:11
Ja genau. Die beiden Readings sind gesetzt!
Was mich auch stark verunsichert ist der Umstand, dass ich MinSoC auf 20 gestellt habe, der Batteriestand jedoch heute über den Tag von 22% auf nun 14% abgenommen hat...
Keine Ahnung was ihn entladen hat..

Update:
Dann wäre es allerdings auch klar warum immer getriggert wird. Der MinSoC ist ja jedesmal tiefer und darum triggert er. Hmm, nur warum entlädt sich meine Batterie derart?
Eventuell kannst Du hier KOSTAL - Speicherlösungen mal forschen, da bin ich auch unterwegs ;-)
In einige Dinge steige ich nicht immer in voller Tiefe ein.
Es wurde ja auch im Stunden Abstand getriggert, was wirklich auf eine Entladung hindeuten würde. Das mit der Soc Bestimmung ist nicht immer so exact, wie man es sich wünschen würde, aber dazu findest Du dann auch in den anderen Forum spannende Diskussionen.
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

Zitat von: Mumpitz am 15 Januar 2021, 22:28:42
attr PV_Anlage_1_API get24Name 24_Battery_TimeControl
Erledigt. Danke, das Du so exakt mit prüfst.
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 zusammen,
Stefan war mit dem HTTPMOD Modul mal wieder fleißig un bietet ab der Version 4.1.00 ein neues Attribut an, was wir hier gut gebrauchen können.
set[0-9]*FollowGet dieses Attribut ermöglicht es nach einem Set als nächstes ein Get automatisch zu starten, um das Ergebnis direkt abzuholen. Dadurch können wir dann im PV_Schedule die Aufrufe für die Aktualisierung der Readings wieder entfernen. Das macht das ganze dann wieder übersichtlicher, weil man innerhalb der HTTPMOD direkt sehen kann, wie es aktualisiert wird.

Hier schon mal die zusätzlichen Attribute.

attr PV_Anlage_1_API set2201FollowGet 22_Battery_InternControl
attr PV_Anlage_1_API set2203FollowGet 22_Battery_InternControl
attr PV_Anlage_1_API set2204FollowGet 22_Battery_InternControl
attr PV_Anlage_1_API set2205FollowGet 22_Battery_InternControl
attr PV_Anlage_1_API set2206FollowGet 22_Battery_InternControl
attr PV_Anlage_1_API set2207FollowGet 22_Battery_InternControl


attr PV_Anlage_1_API set2300FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2301FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2302FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2303FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2304FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2305FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2306FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2307FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2308FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2309FollowGet 23_Battery_ExternControl
attr PV_Anlage_1_API set2310FollowGet 23_Battery_ExternControl

Der erste Test hat bereits geklappt.
Ich werde im Wiki noch ein aktualisiertes PV_Schedule ablegen, da sich bei mir einiges geändert hat.
Dies wären die Attribute wait, webCmd, webCmdLabel und cmdState , da ich bei dieser Gelegenheit etwas mehr aufgeräumt habe. Da nicht jeder einen BYD HV Speicher hat, habe ich mein cmd_1 ganz nach hinten verschoben, wodurch dann alle weiteren nun mit euren übereinstimmen sollten. Auch die anderen Speicher cmd_* befinden sich nach den allgemein gültigen Aufrufen. Bitte vergleicht einfach Euer PV_Schedule mit dem Wiki, den es hat sich insbesondere das wait verändert, den die Aktualisierung wird nun mit dem get Aufruf direkt vom PV_Anlage_1_API (optimiert) erledigt.

@Mumpitz: Wenn Du das bereits nachvollziehen möchtest, achte bitte auch auf das PV_Schedule Device, weil Du ja auch die Batterie Steuerung mit aktiv hast.

Viele Grüße
     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

killah78

Zitat von: ch.eick am 15 Januar 2021, 17:55:42
Ich denke Du meinst die HTTPMOD Version, da habe ich momentan folgende in Verwendung.

Auch mit der von dir angehangenen HTTPMOD Version bekomme ich den Fehler.
Kannst du mal einen Blick auf mein Log werfen, ob dir da was auffällt?
Danke und Gruss

ch.eick

Zitat von: killah78 am 18 Januar 2021, 15:29:27
Auch mit der von dir angehangenen HTTPMOD Version bekomme ich den Fehler.
Kannst du mal einen Blick auf mein Log werfen, ob dir da was auffällt?

Hier fehlt die Rückmeldung von plenticore_auth() teilweise, eventuell ist die Funktion in der 99_myUtils defekt.

2021.01.18 15:12:32.981 3: ====Start plenticore_auth==============================
2021.01.18 15:12:32.981 3: auth_step         : finish
2021.01.18 15:12:32.981 3: auth_user         : user
2021.01.18 15:12:32.981 3: auth_device       : PV_Anlage_1_API
2021.01.18 15:12:32.981 3: PV_Anlage_1_API: Replacement 04 with expression package main; {my $NAME="PV_Anlage_1_API"; plenticore_auth("finish","user","$NAME",ReadingsVal("$NAME","auth_randomString64","missed"),ReadingsVal("$NAME","auth_nonce","missed"),ReadingsVal("$NAME","auth_salt","missed"),ReadingsVal("$NAME","auth_rounds","missed"),ReadingsVal("$NAME","auth_transactionId","missed"))} and regex (?^:%FINISH%) created warning: Use of uninitialized value in substitution iterator at ./FHEM/98_HTTPMOD.pm line 888.
......


Bitte führe nochmal die Tests aus dem Wiki durch

{plenticore_auth("finish","user","PV_Anlage_1_API","TESMUWZnwkJZbnpF","TE2MUWZnwkJZbnpFQ5ulCfolNNdAD0vT","DbAC0R85jwF0rh+r","29000","1376720346bea40cdf770a8f84b5975cfeb20c5e6ac6d89b7862df3ca9695e43")}

Da sollte sowas raus kommen
{"transactionId": "1376720346bea40cdf770a8f84b5975cfeb20c5e6ac6d89b7862df3ca9695e43", "proof": "5xZeOxoyR0hzPCVqvD/BPMqscQbT57wSONl049xiLjE="}


Bei einem Login sollte im Step finish dann folgendes im Log stehen

2021.01.18 16:39:03.108 3: ====Start plenticore_auth==============================
2021.01.18 16:39:03.108 3: auth_step         : finish
2021.01.18 16:39:03.108 3: auth_user         : user
2021.01.18 16:39:03.108 3: auth_device       : PV_Anlage_1_API

### Bei Dir bricht es hier bereits ab...
2021.01.18 16:39:03.383 3: auth_randomString : gshgjfhdgjhfg
2021.01.18 16:39:03.383 3: auth_nonce        : dll2OTlaVUluNFpq30LG5PMATDV5uagQ
2021.01.18 16:39:03.383 3: auth_salt         : P1ekSf2dizLjJa8V
2021.01.18 16:39:03.383 3: auth_rounds       : 29000
2021.01.18 16:39:03.383 3: auth_transactionId: 1a13d0f3579cf111abd6b8a77fb821f3d50ed6421917797414c12055afc4dfee
2021.01.18 16:39:03.383 3: ====End arguments======================================
2021.01.18 16:39:03.384 3: auth_proof        : UKmNE5KIu5PPF7OQ3ZTTYoi0RKXUbfrzdaw5SQlhuxE=
2021.01.18 16:39:03.384 3: auth_return       : {"transactionId": "1a13d0f3579cf111abd6b8a77fb821f3d50ed6421917797414c12055afc4dfee", "proof": "UKmNE5KIu5PPF7OQ3ZTTYoi0RKXUbfrzdaw5SQlhuxE="}
2021.01.18 16:39:03.384 3: ====End output=========================================


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

killah78

Das ist verrückt. Kaum macht man es richtig, schon funktioniert es. :-D
Du hattest recht, die "use"-Zeilen hatte ich nicht übernommen in der 99_myUtils und die Funktionen waren dadurch unbekannt.
Danke für die Hilfe.

ch.eick

Zitat von: killah78 am 18 Januar 2021, 17:37:48
Das ist verrückt. Kaum macht man es richtig, schon funktioniert es. :-D
Du hattest recht, die "use"-Zeilen hatte ich nicht übernommen in der 99_myUtils und die Funktionen waren dadurch unbekannt.
Danke für die Hilfe.
Gerne, es kommt die Zeit, da läuft die Hilfe hier gegenseitig :-)
Oder es kommen Ideen, die ich noch nicht umgesetzt habe.
Gruß
   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

DS_Starter

Hallo Christian, @all,

vielleicht hast du/ihr schon gesehen dass ich ein Modul SolarForecast gebaut habe (https://forum.fhem.de/index.php/topic,102112.msg1123116.html#msg1123116) was auch eine informative Grafik (Anhang) enthält.
Es ist aus dem Projekt SMAPortal hervorgegangen und ist jetzt aber unabhängig vom Hersteller. Es sollte also auch mit einem Kostal gefüttert werden können.

Die hervorragende Arbeit in eurem Projekt hat mir viele Anregungen gegeben. Top !  :)

Interessant wäre nun im Sinne weiterer Verbesserungen inwieweit beide Lösungen annähernd gleiche Ergebnisse bei identischen Voraussetzungen bringen.
Würde mich freuen wenn du Christian oder ein anderer Interessent mein Modul mal parallel zu eurem Projekt installiert und die Ergebnisse vergleicht. Eine gewisse Einschwingzeit (1 Woche) nach der Ausführung von set <> pvCorrectionFactor_Auto on sollte man dem Modul aber erstmal gönnen.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 18 Januar 2021, 20:43:11
vielleicht hast du/ihr schon gesehen dass ich ein Modul SolarForecast gebaut habe (https://forum.fhem.de/index.php/topic,102112.msg1123116.html#msg1123116) was auch eine informative Grafik (Anhang) enthält.
Es ist aus dem Projekt SMAPortal hervorgegangen und ist jetzt aber unabhängig vom Hersteller. Es sollte also auch mit einem Kostal gefüttert werden können.
Hallo Heiko,
ich werde es mir mir genauer anschauen, schön dass Du an uns gedacht 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