Hauptmenü

Neueste Beiträge

#1
Solaranlagen / Aw: Modul für Ecoflow-Komponen...
Letzter Beitrag von dergolem - 12 Januar 2026, 07:18:37
So die Get sind drinn:
hier der Code für Stream MAX
"STREAM MAX" => {
"Adjustments" => {},
"Gets" => {
"relay2Onoff" => "",
"backupReverseSoc" => "",
"energyStrategyOperateMode.operateSelfPoweredOpen" => "",
"energyStrategyOperateMode.operateIntelligentScheduleModeOpen" => "",
"feedGridMode" => "",
},
"Sets" => {
"cfgRelay2Onoff" => ":true,false",
"cfgBackupReverseSoc"=> ":slider,3,1,95",
"cfgEnergyStrategyOperateMode.operateSelfPoweredOpen" => ":true",
"cfgEnergyStrategyOperateMode.operateIntelligentScheduleModeOpen" => ":true",
"cfgFeedGridMode" => ":1,2",
},
"GetCmdCodes" => {
"relay2Onoff" =>                                           { "params.quotas" => {"relay2Onoff" => "",} },
"backupReverseSoc" =>                                       { "params.quotas" => {"backupReverseSoc" => ""},  },
"energyStrategyOperateMode.operateSelfPoweredOpen" =>       { "params.quotas" => {"energyStrategyOperateMode.operateSelfPoweredOpen" => ""} },
"energyStrategyOperateMode.operateIntelligentScheduleModeOpen" => { "params.quotas" => {"energyStrategyOperateMode.operateIntelligentScheduleModeOpen" => ""} },
"feedGridMode" =>                                       { "params.quotas" => {"feedGridMode" => ""} },
},
"SetCmdCodes" => {
    "cfgRelay2Onoff" => { "cmdId" => 17, "cmdFunc" => 254, "dirDest" => 1, "dirSrc" => 1, "needAck" => "true", "dest" => 2, "params.cfgRelay2Onoff" => "a[2]"},
"cfgBackupReverseSoc" => { "cmdId" => 17, "cmdFunc" => 254, "dirDest" => 1, "dirSrc" => 1, "dest" => 2, "needAck" => "true", "params.cfgBackupReverseSoc" => "a[2]" },
"cfgEnergyStrategyOperateMode.operateSelfPoweredOpen" => { "cmdId" => 17, "cmdFunc" => 254, "dirDest" => 1, "dirSrc" => 1, "dest" => 2, "needAck" => "true", "params.cfgEnergyStrategyOperateMode.operateSelfPoweredOpen" => "a[2]"},
"cfgEnergyStrategyOperateMode.operateIntelligentScheduleModeOpen" => { "cmdId" => 17, "cmdFunc" => 254, "dirDest" => 1, "dirSrc" => 1, "dest" => 2, "needAck" => "true", "params.cfgEnergyStrategyOperateMode.operateIntelligentScheduleModeOpen" => "a[2]"},
"cfgFeedGridMode" => { "cmdId" => 17, "cmdFunc" => 254, "dirDest" => 1, "dirSrc" => 1, "dest" => 2, "needAck" => "true", "params.cfgFeedGridMode" => "a[2]"},
},

Gurß Denis


hier der Auszug aus dem Log:
2026.01.12 07:07:31 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax: $model = STREAM MAX
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax: $model = STREAM MAX
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): cmd = relay2Onoff
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax has GetCmdCodes
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $key = params.quotas
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $str_value =
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = POST
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=553634 $timestamp=1768198064501
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BKXXXXXXXXXXXXX", "params": {"quotas":["relay2Onoff"]}}
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/quota $query_str = params.quotas[0]=relay2Onoff&sn=BKXXXXXXXXXXXXX&accessKey=XXXXXXXXXXXXXXXXXXXXXXXXXX&nonce=553634×tamp=1768198064501
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BKXXXXXXXXXXXXX", "params": {"quotas":["relay2Onoff"]}}
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/quota
2026.01.12 07:07:44 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $data = {"code":"0","message":"Success","data":{"relay2Onoff":true},"eagleEyeTraceId":"","tid":""}
2026.01.12 07:07:44 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): Setting Reading Vars
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = GET
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=376545 $timestamp=1768198072616
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/list $query_str = accessKey=XXXXXXXXXXXXXXXXXXXXXXXXXX&nonce=376545×tamp=1768198072616
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = GET
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=754027 $timestamp=1768198072619
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/quota/all?sn=BKXXXXXXXXXXXXX $query_str = accessKey=XXXXXXXXXXXXXXXXXXXXXXXXXX&nonce=754027×tamp=1768198072619
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/list
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $data = {"code":"0","message":"Success","data":[{"sn":"BKXXXXXXXXXXXXX","deviceName":"STREAM Max-7155gol","online":1}],"eagleEyeTraceId":"","tid":""}
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): code = 0
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): data_1_deviceName = STREAM Max-7155gol
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): data_1_online = 1
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): data_1_sn = BKXXXXXXXXXXXXX
2026.01.12 07:07:52 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): data_1_sn : Comparing SerialNo BKXXXXXXXXXXXXX
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $base = data_1
2026.01.12 07:07:52 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): STREAM Max-7155gol
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): eagleEyeTraceId =
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): message = Success
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): tid =
2026.01.12 07:07:52 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/quota/all?sn=BKXXXXXXXXXXXXX
2026.01.12 07:07:52 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): Setting Reading Vars
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax: $model = STREAM MAX
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): cmd = feedGridMode
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax has GetCmdCodes
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $key = params.quotas
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $str_value =
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = POST
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=981418 $timestamp=1768198080985
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BKXXXXXXXXXXXXX", "params": {"quotas":["feedGridMode"]}}
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/quota $query_str = params.quotas[0]=feedGridMode&sn=BKXXXXXXXXXXXXX&accessKey=XXXXXXXXXXXXXXXXXXXXXXXXXX&nonce=981418×tamp=1768198080985
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2026.01.12 07:08:00 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BKXXXXXXXXXXXXX", "params": {"quotas":["feedGridMode"]}}
2026.01.12 07:08:01 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/quota
2026.01.12 07:08:01 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $data = {"code":"0","message":"Success","data":{"feedGridMode":2},"eagleEyeTraceId":"","tid":""}
2026.01.12 07:08:01 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): Setting Reading Vars
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax: $model = STREAM MAX
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): cmd = energyStrategyOperateMode.operateSelfPoweredOpen
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax has GetCmdCodes
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $key = params.quotas
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $str_value =
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = POST
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=763286 $timestamp=1768198087133
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BKXXXXXXXXXXXXX", "params": {"quotas":["energyStrategyOperateMode.operateSelfPoweredOpen"]}}
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/quota $query_str = params.quotas[0]=energyStrategyOperateMode.operateSelfPoweredOpen&sn=BKXXXXXXXXXXXXX&accessKey=XXXXXXXXXXXXXXXXXXXXXXXXXX&nonce=763286×tamp=1768198087133
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BKXXXXXXXXXXXXX", "params": {"quotas":["energyStrategyOperateMode.operateSelfPoweredOpen"]}}
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/quota
2026.01.12 07:08:07 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $data = {"code":"0","message":"Success","data":{"energyStrategyOperateMode.operateSelfPoweredOpen":true},"eagleEyeTraceId":"","tid":""}
2026.01.12 07:08:07 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): Setting Reading Vars
#2
Heizungssteuerung/Raumklima / Aw: THZ Tecalor (LWZ Stiebel E...
Letzter Beitrag von TheTrumpeter - 12 Januar 2026, 06:51:20
Kleines Update zu dem Heizstab-Verhalten, nachdem ich es gestern drauf angelegt und ausprobiert habe...

Es reicht aus, wenn die Bivalenztemperatur unterschritten ist, BEVOR das Integral in den unteren Anschlag läuft. Sie muss nicht schon zum Beginn des Heizzyklus unterschritten sein. (-10 °C Standardwert bei mir, ich habe um 09:00 auf 10 °C hochgesetzt.)
Dann wird beim Zurücksetzen des Integrals auch gleich der Heizstab aktiviert. (Ich hätte erwartet, dass erst dann die Sperrzeit zu zählen beginnt, aber offenbar startet der Timer schon beim Beginn des Heizzyklus.)
Der Heizstab wird sofort zurückgenommen, sobald die Bivalenztemperatur überschritten wird. (Um 11:00 wieder auf -10 °C geändert.)

ABER:
Ich hätte erwartet, dass der Heizvorgang diesmal weiterläuft, wenn das Integral zum 1. Mal in den oberen Anschlag läuft, d.h. dann erstmal nur die Freigabe des Heizstabs abläuft und dann das Integral nochmal "gefüllt" wird. (In meinem Fall werden durch das Zurücksetzen kurz vor 11:00 ja sozusagen 330 Kmin zu wenig geheizt...)
Oder liegt das wieder daran, dass zu dem Zeitpunkt die Bivalenztemperatur überschritten war?
#3
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von stefanru - 12 Januar 2026, 02:54:39
Irgendwie hat es mir jetzt nach dem Update meine Vorhersage Grafik zerhagelt.
Oder liegt das am laufenden Training?
aiControl aiConActivate=1 aiConProfile=v1_heatpump_active_pv

flowGraphicControl size=475 animate=1 showconsumer=1 showconsumerdummy=1 showconsumerpower=1 showconsumerremaintime=0
graphicBeam1Color 3C14FF
graphicBeam1Content pvForecast
graphicBeam2Color 19FF29
graphicBeam2Content pvReal
graphicBeam3Content consumptionForecast
graphicBeam4Color FF1F78
graphicBeam4Content consumption
graphicControl hourCount=16 headerDetail=all layoutType=double beamHeightlevel=1:100,2:100
graphicHistoryHour 8
graphicSelect both
graphicShowNight 0

Ach so zur Grafik es ist kurz vor 03:00.

Danke und Gruß,
Stefan
#4
FHEM Code changes / Revision 30724: 76_SolarForeca...
Letzter Beitrag von System - 11 Januar 2026, 22:30:31
Revision 30724: 76_SolarForecast: contrib Version 2.0.0

76_SolarForecast: contrib Version 2.0.0

Source: Revision 30724: 76_SolarForecast: contrib Version 2.0.0
#5
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 11 Januar 2026, 22:21:49
Ich habe an den AI Semantiken weitergearbeitet, die sich in den Profilen

v1_common_active_pv
v1_heatpump_active_pv

positiv auswirken sollten.

Das contrib ist upgedated.
#6
Sonstiges / Aw: fhem.cfg / includes werden...
Letzter Beitrag von Gisbert - 11 Januar 2026, 22:21:11
Zitat von: betateilchen am 11 Januar 2026, 09:29:50https://forum.fhem.de/index.php?topic=143339.0

Hauptsache, der Mist funktioniert unter OpenWRT... 🤮

Mein besonderer Dank gilt jw2013, der mich den halben Sonntag gekostet hat. Dieser "Mist" (Zitat siehe oben - ich schließe mich gerne aber auch inhaltlich an) war wirklich so überflüssig wie ein Kropf. Das Einspielen eines Fhem-Backups ist damit faktisch unmöglich, obwohl man eigentlich alles richtig gemacht hat.
Dank Proxmox konnte ich wenigstens ein funktionierendes Backup einspielen, aber es fehlen knapp 2 Tage an Daten, die etliche Statistiken verhunzen.
Mit diesem Beispiel muss man sich nicht wundern, wenn Home Assistant zur denkbaren Alternative wird. Mir wäre es allerdings lieber gewesen, wenn sich jw2013 Home Assistant als Opfer herausgesucht hätte.

Viele Grüße Gisbert
#7
Sonstige Systeme / Aw: Support-Thread Modul 36_Sh...
Letzter Beitrag von Starkstrombastler - 11 Januar 2026, 22:03:22
Zitat von: mcfly71 am 25 Dezember 2025, 07:39:24Bei meinem Shelly 1PM Mini Gen3 (und aber auch andere) habe ich ein AutoOFF als Timer drinstehen (zB AutoOff in 12 Stunden , also xxx Sek).
Das funktioniert auch soweit. Aber AutoOn hat nichts drinstehen.
Beim Befehl set SHELLY1 toggle geht aber in beiden!!!! Fällen der Timer los. Also Bei Toggle von AUS -> AN timer startet und das ist richtig, da eingetragen,
bei AN -> AUS startet aber ebenfalls ein timer, sodaß der Shelly in 12 Stunden wieder automatisch angeht.
Mit dem nächsten Update sollte das Problem behoben sein.
Das Beibehalten eines laufenden Timers ist nur relevant bei Dimmern u.ä., wenn ein Parameter (z.B. Helligkeit) bei unverändertem Schaltzustand geändert wird.
#8
Sonstige Systeme / Aw: Support-Thread Modul 36_Sh...
Letzter Beitrag von Starkstrombastler - 11 Januar 2026, 21:47:39
Zitat von: ph1959de am 11 Januar 2026, 18:22:36Ich habe auch noch die Modulhilfe an einigen Stellen korrigiert und versucht aus allem ein diff (diff -u ...) zu erzeugen. Soll/darf ich Dir das zur Verfügung stellen?
Ui ui ui, hier prescht einer vorneweg!!

Siehe meine Antwort im Entwickler-Thread
#9
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von Starkstrombastler - 11 Januar 2026, 21:41:36
Hier meine Antwort zum Beitrag von ph1959de im Support Thread, damit Entwicklungs- und Support-Themen einigermaßen getrennt sind:

Zitat von: ph1959de am 11 Januar 2026, 18:22:36Ich habe auch noch die Modulhilfe an einigen Stellen korrigiert und versucht aus allem ein diff (diff -u ...) zu erzeugen. Soll/darf ich Dir das zur Verfügung stellen?
Kann man da NEIN sagen?  -  Natürlich nicht. Das schau ich mir gerne an. 

Zitat von: ph1959de am 11 Januar 2026, 18:22:36Dabei ist mir außerdem aufgefallen, dass die deutsche Version der Hilfe - insbesondere bei "Dimmer Devices" deutlich ausführlicher ist als die englische.
Das ist sicher auch noch an vielen anderes Stellen so, weil ich mich vorrangig um die deutsche Version gekümmert habe.

Zitat von: ph1959de am 11 Januar 2026, 18:22:36Ich biete an, die beiden Sprachversionen mal gleichzuziehen.
Auch hier: Gerne. Ich schlage aber vor, zuerst die deutsche Version zu aktualisieren und erst dann die englische.

Zitat von: ph1959de am 11 Januar 2026, 18:22:36Bei Bedarf bitte einfach rückmelden, welches Format dafür gewünscht ist.
Da ja die Modulhilfe ein Textblock in der .pm-Datei ist, ist es zunächst am einfachsten, die komplette Datei hier im Entwickler-Thread auszutauschen.

#10
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von Starkstrombastler - 11 Januar 2026, 21:33:12
Zitat von: Jojo11 am 10 Januar 2026, 07:37:11Ich hab's gerade nochmal getestet aber das scheint noch nicht zu funktionieren
Du hast recht, 's tut noch nicht.
Im Modul müssen doch noch ein paar grundsätzliche Dinge angepasst werden, da werde ich sicherlich noch einige Tage brauchen.