76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

dieter114

Bei mir sieht es jetzt so aus, damit bin ich zufrieden.
Wäre schön wenn noch einige zusätzliche Daten dort mit angezeigt werden könnten
so wie bei der "alten" Version..
LG WDS
RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

grappa24

@Dieter: Sind das 2 getrennte Strings am Knoten? Falls ja wie eingerichtet?
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

300P

Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

peterboeckmann

#5958
Hallo Heiko,

ich habe kürzlich meine Anlage um einen Hybridwechselrichter mit Batterie und PV-Eingang erweitert. Jetzt sehe ich beim entladen beider Batterien gleichzeitig nicht alle Werte in der Flussgrafik.

Hier werden beide Batterien entladen, die neue über den Hybridwechselrichter mit ca. 200W:
Du darfst diesen Dateianhang nicht ansehen.

Hier wird nur die alte Batterie entladen:
Du darfst diesen Dateianhang nicht ansehen.

Im ersten Bild fehlt mir die Animation des Flusses vom Batteriesymbol zum Haussymbol.


Frage 1: Habe ich hier evtl. noch einen Fehler in der Konfiguration?
defmod SolarForecast SolarForecast
attr SolarForecast DbLogExclude .*
attr SolarForecast DbLogInclude Current_AutarkyRate:60,AllPVforecastsToEvent,LastHourPVforecast,LastHourPVreal
attr SolarForecast aiControl aiTrainStart=3 aiStorageDuration=18250 aiTreesPV=30 \
aiConActivate=1 \
aiConProfile=v1_common_active \
aiConHiddenLayers=40-20-10 \
aiConShuffleMode=1 \
aiConBitFailLimit=0.34 \
aiConAlpha=0.7
attr SolarForecast alias SolarForecast
attr SolarForecast consumer01 KlimaanlagePwr switchdev=Klimaanlage_Sw type=other power=300 pcurr=power:W etotal=energy:Wh on=on off=off mintime=SunPath:60:-60 notbefore=10:30 swoncond=AlarmZentrale:bitLagerkeller:0 swoffcond=AlarmZentrale:bitLagerkeller:1 icon=Ventilator_fett auto=Automatik interruptable=1 exconfc=1
attr SolarForecast consumer02 MQTT2_Luftentfeuchter type=other power=500 pcurr=switch_apower:W etotal=switch_aenergy_total:Wh on=on off=off icon=light_ceiling auto=Automatik exconfc=1
attr SolarForecast consumer03 MQTT2_Spelunkenentfeuchter type=other power=300 pcurr=switch_apower:W etotal=switch_aenergy_total:Wh on=on off=off mintime=SunPath:60:-60 notbefore=10:30 swoncond=AlarmZentrale:bitSpelunke:0 swoffcond=AlarmZentrale:bitSpelunke:1 icon=Ventilator_fett auto=Automatik interruptable=1 exconfc=1
attr SolarForecast consumer04 MQTT2_ShellyGeschirrspueler type=dishwasher power=1700 pcurr=switch_apower:W etotal=switch_aenergy_total:Wh on=on off=off icon=scene_dishwasher auto=Automatik exconfc=1
attr SolarForecast consumer05 Trockner_Pwr switchdev=Trockner type=dryer power=600 pcurr=power:W:3 etotal=energy:Wh on=on off=off mintime=60 icon=scene_clothes_dryer auto=Automatik exconfc=1
attr SolarForecast consumer06 Waschmaschine_Pwr switchdev=Waschmaschine type=washingmachine power=2100 pcurr=power:W:3 etotal=energy:Wh on=on off=off mintime=60 icon=scene_washing_machine auto=Automatik exconfc=1
attr SolarForecast consumer07 Stromverbrauch_Buero type=other power=300 pcurr=pcurr:W etotal=etotal:Wh icon=scene_office auto=Automatik
attr SolarForecast consumer08 Stromverbrauch_WoZi type=other power=500 pcurr=pcurr:W etotal=etotal:Wh icon=scene_livingroom auto=Automatik
attr SolarForecast consumer09 MQTT2_KlimaODU type=other power=1500 pcurr=params_switch_0_apower:W:15 etotal=params_switch_0_aenergy_total:Wh on=on off=off icon=frost auto=Automatik exconfc=1
attr SolarForecast consumer10 MQTT2_ShellyPlugKuechenKuehlschrank type=other power=65 pcurr=switch_apower:W etotal=params_switch_0_aenergy_total:Wh on=on off=off icon=kuehlschrank_big auto=Automatik
attr SolarForecast consumer11 shelly3em63g3_e4b063e1c96c type=noSchedule power=11000 auto=Automatik icon=scene_baking_oven pcurr=total_act_power:W:10 etotal=total_act:Wh
attr SolarForecast consumer12 MQTT2_ShellyPlugKellerKuehlschrank type=other power=150 pcurr=params_switch_0_apower:W:5 etotal=params_switch_0_aenergy_total:Wh on=on off=off icon=kuehlschrank_small auto=Automatik
attr SolarForecast consumer13 ShellyplugSchuppen type=charger power=100 pcurr=params_switch_0_apower:W etotal=params_switch_0_aenergy_total:Wh on=on off=off icon=building_carport_socket auto=Automatik exconfc=1
attr SolarForecast consumer14 MQTT2_PlugKaffeemaschine type=other power=2500 pcurr=params_switch_0_apower:W:6 etotal=params_switch_0_aenergy_total:Wh on=on off=off icon=scene_cockle_stove auto=Automatik
attr SolarForecast consumer15 WallboxLeistungssumme type=bev power=11040 pcurr=power:W:10 etotal=total:Wh on=on off=off icon=wallbox auto=Automatik exconfc=1 \
evid=evid:KiaNiro \
batCap=64800 \
power=11040\
currSoC=currSocKiaNiro\
targetSoC=targetSocKiaNiro
attr SolarForecast consumer16 HM_56E0D2_Sw_02 type=other power=40 on=on off=off auto=Automatik icon=debian mode=can mintime=SunPath:60:-60 interruptable=1
attr SolarForecast consumerControl dummyIcon=status_comfort@#ff8c00 showLegend=icon_bottom
attr SolarForecast ctrlDebug aiProcess
attr SolarForecast ctrlSpecialReadings runTimeCentralTask,todayBatInSum,todayBatOutSum,todayConsumption,todayGridConsumption,todayGridFeedIn
attr SolarForecast event-aggregator Current_AutarkyRate:150:linear:mean
attr SolarForecast event-min-interval .*:300
attr SolarForecast event-on-change-reading .*
attr SolarForecast flowGraphicControl animate=1 consumerdist=110 showconsumerremaintime=1 h2consumerdist=50 strokewidth=10 homenodedyncol=1 strokeconsumerdyncol=1 showGenerators=1
attr SolarForecast graphicBeam1Content pvReal
attr SolarForecast graphicBeam2Content pvForecast
attr SolarForecast graphicBeam3Content consumption
attr SolarForecast graphicBeam4Content consumptionForecast
attr SolarForecast graphicBeam5Content feedincome
attr SolarForecast graphicBeam6Content energycosts
attr SolarForecast graphicControl showDiff=1:bottom,2:bottom,3:bottom hourStyle=:00 beamWidth=24 beamHeightlevel=1:250,2:250,3:250 headerShowEnv=outsideTemp,presence,windSpeed
attr SolarForecast graphicHeaderOwnspec #Aktuell:\
Ü;berschuss:Current_Surplus\
Einspeisung:Current_GridFeedIn\
Netzbezug:Current_GridConsumption\
Autarkie-Rate:Current_AutarkyRate\
#Heute:\
Erzeugt:Today_PVreal\
Bezogen:special_todayGridConsumption\
Eingespeist:special_todayGridFeedIn\
Verbraucht:special_todayConsumption\
#Heute:\
Bisher ;vorhergesagt:Today_PVforecast_SoFar\
Insgesamt ;vorhergesagt:Today_PVforecast\
 ;\
 ;\
#Enphase-Batterie:\
Status:Akkustatus@Enphase\
SoC ;(%):StorageFullPercent@Enphase\
Heute ;geladen:special_todayBatInSum\
Heute ;entladen:special_todayBatOutSum\
#Zendure-Batterie:\
Status:Akkustatus@ha_tjsLMch1\
SoC ;(%):JO2AEP1P0501114_socLevel@ha_tjsLMch1
attr SolarForecast graphicHistoryHour 4
attr SolarForecast graphicSelect swap
attr SolarForecast graphicShowNight 1
attr SolarForecast plantControl consForecastInPlanning=1 \
batteryPreferredCharge=5 \
consForecastIdentWeekdays=1 \
cycleInterval=5 \
genPVdeviation=continuously:reverse \
feedinPowerLimit=99999 \
consForecastLastDays=5 \
conEnergyHourLimit=20000 \
reductionState=SolarForecast:userRdg_Regulated:1 \
showLink=1
attr SolarForecast room Garten->PV-Anlage
attr SolarForecast setupBatteryDev01 Enphase\
  pin=StorageFeedIn:W\
  pout=StorageConsumption:W\
  pinmax=2568\
  poutmax=2568\
  intotal=StorageWhCharged:Wh\
  outtotal=StorageWhDischarged:Wh\
  charge=StorageFullPercent\
  cap=7000\
  show=1:bottom\
  asynchron=1
attr SolarForecast setupBatteryDev02 ha_tjsLMch1\
  pin=outputPackPower:W\
  pout=packInputPower:W\
  pinmax=2400\
  poutmax=800\
  intotal=StorageWhCharged_Wh:Wh\
  outtotal=StorageWhDischarged_Wh:Wh\
  charge=JO2AEP1P0501114_socLevel\
  cap=2400\
  show=1:bottom\
  asynchron=1
attr SolarForecast setupEnvironment outsideTemp=HMWetterstation:temperature\
presence=JemandZuhause:state:true\
windSpeed=WindSpeed_mps:state
attr SolarForecast setupInverterDev01 Enphase\
  strings=Osten,Westen\
  etotal=whTodayProduction:Wh\
  capacity=10000\
  asynchron=1\
  pvOut=wNowProduction:W\
  pvIn=LeistungStringsGesamt:W\
  icon=inverter
attr SolarForecast setupInverterDev02 ha_tjsLMch1 \
  ac2dc=gridInputPower:W \
  dc2ac=packInputPower:W \
  capacity=800\
  strings=none
attr SolarForecast setupInverterDev03 ha_tjsLMch1 \
  strings=Carport1,Carport2,Carport3,Carport4\
  pvOut=solarInputPower:W\
  etotal=solarEnergy_Wh:Wh\
  capacity=2400\
  icon=inverter\
  pvIn=solarInputPower:W\
  feed=bat
attr SolarForecast setupInverterStrings Osten,Westen,Carport1,Carport2,Carport3,Carport4
attr SolarForecast setupMeterDev MQTT2_SmartMeterReader gcon=Bezug:W contotal=ENERGY_Total:kWh gfeedin=Einspeisung:W feedtotal=ENERGY_Supply:kWh asynchron=1 conprice=24.09:ct feedprice=8.04:ct
attr SolarForecast setupRadiationAPI dwd
attr SolarForecast setupStringAzimuth Osten=-127 Westen=53 Carport1=-31 Carport2=-31 Carport3=-31 Carport4=-31
attr SolarForecast setupStringDeclination Osten=38 Westen=38 Carport1=30 Carport2=30 Carport3=30 Carport4=30
attr SolarForecast setupStringPeak Osten=4 Westen=6.4 Carport1=0.515 Carport2=0.515 Carport3=0.515 Carport4=0.515
attr SolarForecast setupWeatherDev1 dwd
attr SolarForecast userReadings Current_Surplus_Num {my $val = ReadingsVal("SolarForecast", "Current_Surplus", "0 W");; return substr($val, 0, index($val, " "));;},\
Today_PVforecast_Num {my $val2 = ReadingsVal("SolarForecast", "Today_PVforecast", "0 Wh");; return substr($val2, 0, index($val2, " "));;},\
RestOfDayPVforecast_Num {my $val3 = ReadingsVal("SolarForecast", "RestOfDayPVforecast", "0 Wh");; return substr($val3, 0, index($val3, " "));;},\
Today_PVforecast_SoFar {return (ReadingsVal("SolarForecast", "Today_PVforecast_Num", "0")-ReadingsVal("SolarForecast", "RestOfDayPVforecast_Num", "0"))." Wh";;},\
Current_GridFeedIn_Num {my $val4 = ReadingsVal("SolarForecast", "Current_GridFeedIn", "0 W");; return substr($val4, 0, index($val4, " "));;}\
userRdg_Regulated {0}

Bei der Konfiguration hatte mir Denis auf deinen Rat hin geholfen. Er hat aber nur den Hybridwechselrichter, keinen zusätzlichen reinen String-Wechselrichter.
Er hatte mir geraten, den Hybridwechselrichter mit zwei separaten setupInverterDev abzubilden. Einen für die Strings, einen für die Batterie.

Frage 2: Siehst du eine Möglichkeit, diese zu einem setupInverterDev zu vereinigen?

Edit: Denis hat seine Konfiguration hier beschrieben.

Vielen Dank und viele Grüße,
Peter
MQTT,Modbus,HTTPMod,DbLog,LaCrosse,SolarForecast,TelegramBot,Twilight,vitoconnect,withings
fhem,fhempy,debmatic
Debian
RaspberryPi5,HomeMatic,HomeMaticIP,Shelly,JeeLink,SignalDuino,ZWDongle,SONOS,alexa,Hue,tradfri,MobileAlerts,Siemens Home Connect,Roborock S50,Wallbox,Harmony,Tuya Smartlife