diff --git a/fhem/contrib/ch.eick/Photovoltaik/KI_Prognose/RAW_Astro.txt b/fhem/contrib/ch.eick/Photovoltaik/KI_Prognose/RAW_Astro.txt new file mode 100644 index 000000000..1f646446b --- /dev/null +++ b/fhem/contrib/ch.eick/Photovoltaik/KI_Prognose/RAW_Astro.txt @@ -0,0 +1,78 @@ +defmod Astro Astro +attr Astro DbLogExclude .* +attr Astro DbLogInclude SunAlt,SunAz,fc.*_.* +attr Astro alias Astro +attr Astro event-on-change-reading SunAlt,SunAz,ObsSeason,ObsSeasonN,.*Twilight.* +attr Astro event-on-update-reading ObsDate.*,fc.*_.* +attr Astro group ASC Environment +attr Astro icon telescope +attr Astro interval 600 +attr Astro recomputeAt NewDay,SunRise,SunSet,AstroTwilightEvening,AstroTwilightMorning,CivilTwilightEvening,CivilTwilightMorning,CustomTwilightEvening,CustomTwilightMorning +attr Astro room Informationen->Wetter,Rollos +attr Astro sortby 08 +attr Astro userReadings fc0_6_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 06:00:00",localtime))},\ +fc0_7_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 07:00:00",localtime))},\ +fc0_8_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 08:00:00",localtime))},\ +fc0_9_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 09:00:00",localtime))},\ +fc0_10_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 10:00:00",localtime))},\ +fc0_11_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 11:00:00",localtime))},\ +fc0_12_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 12:00:00",localtime))},\ +fc0_13_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 13:00:00",localtime))},\ +fc0_14_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 14:00:00",localtime))},\ +fc0_15_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 15:00:00",localtime))},\ +fc0_16_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 16:00:00",localtime))},\ +fc0_17_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 17:00:00",localtime))},\ +fc0_18_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 18:00:00",localtime))},\ +fc0_19_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 19:00:00",localtime))},\ +fc0_20_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 20:00:00",localtime))},\ +fc0_21_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 21:00:00",localtime))},\ +fc0_6_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 06:00:00",localtime))},\ +fc0_7_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 07:00:00",localtime))},\ +fc0_8_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 08:00:00",localtime))},\ +fc0_9_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 09:00:00",localtime))},\ +fc0_10_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 10:00:00",localtime))},\ +fc0_11_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 11:00:00",localtime))},\ +fc0_12_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 12:00:00",localtime))},\ +fc0_13_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 13:00:00",localtime))},\ +fc0_14_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 14:00:00",localtime))},\ +fc0_15_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 15:00:00",localtime))},\ +fc0_16_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 16:00:00",localtime))},\ +fc0_17_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 17:00:00",localtime))},\ +fc0_18_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 18:00:00",localtime))},\ +fc0_19_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 19:00:00",localtime))},\ +fc0_20_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 20:00:00",localtime))},\ +fc0_21_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 21:00:00",localtime))},\ +\ +fc1_6_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 06:00:00",localtime(time+1*24*60*60)))},\ +fc1_7_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 07:00:00",localtime(time+1*24*60*60)))},\ +fc1_8_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 08:00:00",localtime(time+1*24*60*60)))},\ +fc1_9_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 09:00:00",localtime(time+1*24*60*60)))},\ +fc1_10_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 10:00:00",localtime(time+1*24*60*60)))},\ +fc1_11_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 11:00:00",localtime(time+1*24*60*60)))},\ +fc1_12_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 12:00:00",localtime(time+1*24*60*60)))},\ +fc1_13_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 13:00:00",localtime(time+1*24*60*60)))},\ +fc1_14_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 14:00:00",localtime(time+1*24*60*60)))},\ +fc1_15_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 15:00:00",localtime(time+1*24*60*60)))},\ +fc1_16_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 16:00:00",localtime(time+1*24*60*60)))},\ +fc1_17_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 17:00:00",localtime(time+1*24*60*60)))},\ +fc1_18_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 18:00:00",localtime(time+1*24*60*60)))},\ +fc1_19_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 19:00:00",localtime(time+1*24*60*60)))},\ +fc1_20_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 20:00:00",localtime(time+1*24*60*60)))},\ +fc1_21_SunAlt:ObsDate.* {Astro_Get(undef,"Astro","text","SunAlt",POSIX::strftime("%Y-%m-%d 21:00:00",localtime(time+1*24*60*60)))},\ +fc1_6_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 06:00:00",localtime(time+1*24*60*60)))},\ +fc1_7_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 07:00:00",localtime(time+1*24*60*60)))},\ +fc1_8_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 08:00:00",localtime(time+1*24*60*60)))},\ +fc1_9_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 09:00:00",localtime(time+1*24*60*60)))},\ +fc1_10_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 10:00:00",localtime(time+1*24*60*60)))},\ +fc1_11_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 11:00:00",localtime(time+1*24*60*60)))},\ +fc1_12_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 12:00:00",localtime(time+1*24*60*60)))},\ +fc1_13_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 13:00:00",localtime(time+1*24*60*60)))},\ +fc1_14_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 14:00:00",localtime(time+1*24*60*60)))},\ +fc1_15_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 15:00:00",localtime(time+1*24*60*60)))},\ +fc1_16_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 16:00:00",localtime(time+1*24*60*60)))},\ +fc1_17_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 17:00:00",localtime(time+1*24*60*60)))},\ +fc1_18_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 18:00:00",localtime(time+1*24*60*60)))},\ +fc1_19_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 19:00:00",localtime(time+1*24*60*60)))},\ +fc1_20_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 20:00:00",localtime(time+1*24*60*60)))},\ +fc1_21_SunAz:ObsDate.* {Astro_Get(undef,"Astro","text","SunAz",POSIX::strftime("%Y-%m-%d 21:00:00",localtime(time+1*24*60*60)))} +attr Astro verbose 0 \ No newline at end of file diff --git a/fhem/contrib/ch.eick/Photovoltaik/KI_Prognose/RAW_DWD_Forecast.txt b/fhem/contrib/ch.eick/Photovoltaik/KI_Prognose/RAW_DWD_Forecast.txt new file mode 100644 index 000000000..5aad88c2f --- /dev/null +++ b/fhem/contrib/ch.eick/Photovoltaik/KI_Prognose/RAW_DWD_Forecast.txt @@ -0,0 +1,24 @@ +defmod DWD_Forecast DWD_OpenData +attr DWD_Forecast DbLogExclude .* +attr DWD_Forecast DbLogInclude fc.*_.*_Rad1h,fc.*_.*_TTT,fc.*_.*_FF,fc.*_.*_Neff,fc.*_.*_R101,fc.*_.*_RRS1c,fc.*_.*_DD,fc.*_.*_N,fc.*_.*_VV,fc.*_.*_SunD1 +attr DWD_Forecast comment Version 2022.08.20 12:00\ +TTT : Temperature 2m above surface [°C]\ +FF : Windspeed\ +Neff : Effective cloud cover [%]\ +R101 : Probability of precipitation > 0.1 mm during the last hour [%]\ +R600 : Probability of precipitation > 0.0mm during the last 6 hours [%]\ +RRs1c : Snow-Rain-Equivalent during the last 3 hours [kg/m2]\ +Rad1h : Global Irradiance [kJ/m2]\ + kJ/m² Umrechnung *0,277778 in kWh/m²\ +ww : Significant Weather\ +wwM : Probability for fog within the last hour [%] +attr DWD_Forecast event-on-update-reading fc.*_.*_[Rad1h|TTT|FF|Neff|R101|RRS1c|DD|N|VV|SunD1].* +attr DWD_Forecast forecastDays 1 +attr DWD_Forecast forecastProperties Rad1h,TTT,FF,Neff,R600,R101,wwM,ww,RRS1c,DD,N,VV,SunD1 +attr DWD_Forecast forecastResolution 1 +attr DWD_Forecast forecastStation < Die nächste Wetterstation mit RAD1 Werten > +attr DWD_Forecast group PV Leistungsprognose +attr DWD_Forecast icon weather_rain_fog +attr DWD_Forecast room Informationen->Wetter,Strom->Photovoltaik +attr DWD_Forecast sortby 07 +attr DWD_Forecast verbose 0 \ No newline at end of file diff --git a/fhem/contrib/ch.eick/Photovoltaik/Wechselrichter/RAW_WR_0_KSEM.txt b/fhem/contrib/ch.eick/Photovoltaik/Wechselrichter/RAW_WR_0_KSEM.txt index d39f64316..99309c33e 100644 --- a/fhem/contrib/ch.eick/Photovoltaik/Wechselrichter/RAW_WR_0_KSEM.txt +++ b/fhem/contrib/ch.eick/Photovoltaik/Wechselrichter/RAW_WR_0_KSEM.txt @@ -2,7 +2,7 @@ defmod WR_0_KSEM ModbusAttr 1 60 192.168.178.17:502 TCP attr WR_0_KSEM DbLogExclude .* attr WR_0_KSEM DbLogInclude Active_energy.* attr WR_0_KSEM alias WR_0_KSEM -attr WR_0_KSEM comment Version 2021.04.07 12:00\ +attr WR_0_KSEM comment Version 2024.02.08 12:00\ Der KSEM ermittelt nicht alle Werte, welche in der SunSpec spezifiziert sind.\ Alle nicht unterstützen Werte sind mit 0x8000 gekennzeichnet.\ Für die nicht unterstützten Zählerstände wird die 0x800000000 ausgegeben.\ @@ -42,6 +42,9 @@ attr WR_0_KSEM dev-type-INT16_Voltage-expr $val * (10 ** ReadingsNum("$name" ,"M attr WR_0_KSEM dev-type-INT16_Voltage-format %.2f attr WR_0_KSEM dev-type-INT16_Voltage-len 1 attr WR_0_KSEM dev-type-INT16_Voltage-unpack s> +attr WR_0_KSEM dev-type-INT32-len 2 +attr WR_0_KSEM dev-type-INT32-revRegs 1 +attr WR_0_KSEM dev-type-INT32-unpack s> attr WR_0_KSEM dev-type-STR32-expr $val =~ s/[\00]+//gr attr WR_0_KSEM dev-type-STR32-format %s attr WR_0_KSEM dev-type-STR32-len 16 @@ -55,7 +58,7 @@ attr WR_0_KSEM dev-type-UINT64-format %s attr WR_0_KSEM dev-type-UINT64-len 4 attr WR_0_KSEM dev-type-UINT64-unpack Q> attr WR_0_KSEM disable 0 -attr WR_0_KSEM event-on-change-reading Active_energy.*,M_AC_Current_.*,M_AC_Power +attr WR_0_KSEM event-on-change-reading Active_energy.*,M_AC_Current_.*,M_AC_Power,Home_consumption attr WR_0_KSEM group PV Eigenverbrauch attr WR_0_KSEM icon measure_power attr WR_0_KSEM obj-h40072-reading M_AC_Current_A