2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 09:55:38 +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 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