2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 16:05:19 +00:00

ch.eick: Add Astro and DWD_Forecast

git-svn-id: https://svn.fhem.de/fhem/trunk@28491 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
ch.eick 2024-02-08 13:18:17 +00:00
parent 482dee8c6d
commit 89d676d0d7
3 changed files with 107 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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 DbLogExclude .*
attr WR_0_KSEM DbLogInclude Active_energy.* attr WR_0_KSEM DbLogInclude Active_energy.*
attr WR_0_KSEM alias WR_0_KSEM 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.\ Der KSEM ermittelt nicht alle Werte, welche in der SunSpec spezifiziert sind.\
Alle nicht unterstützen Werte sind mit 0x8000 gekennzeichnet.\ Alle nicht unterstützen Werte sind mit 0x8000 gekennzeichnet.\
Für die nicht unterstützten Zählerstände wird die 0x800000000 ausgegeben.\ 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-format %.2f
attr WR_0_KSEM dev-type-INT16_Voltage-len 1 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-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-expr $val =~ s/[\00]+//gr
attr WR_0_KSEM dev-type-STR32-format %s attr WR_0_KSEM dev-type-STR32-format %s
attr WR_0_KSEM dev-type-STR32-len 16 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-len 4
attr WR_0_KSEM dev-type-UINT64-unpack Q> attr WR_0_KSEM dev-type-UINT64-unpack Q>
attr WR_0_KSEM disable 0 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 group PV Eigenverbrauch
attr WR_0_KSEM icon measure_power attr WR_0_KSEM icon measure_power
attr WR_0_KSEM obj-h40072-reading M_AC_Current_A attr WR_0_KSEM obj-h40072-reading M_AC_Current_A