I need Your help. I have a problem with reading data from a rain sensor.
I have a problem with two things. Both are linked with refreshing. The first is Rain Indicator - that still show rain even there is no rain for a long time. The second is rainfall meter (for example from last hour) - even when not raining for a week, until next rain we see how much rain drop in hour when last time we have a rain.
I created the following items:
Number Oregon_RainRate “Intensity of rain [%.2f mm/h]” (Rain) { rfxcom="<63744:RainRate" }
Number Sila_Opadu “Now: [SCALE(sila_opadu.scale):%s]” (Rain) { rfxcom="<63744:RainRate" }
String Status_Opadu “- and rain: [%s]” (Rain)
Number Oregon_RainTotal_h “Rainfall Hour [%.2f mm]” (Rain)
Number Oregon_RainTotal_D “Rainfall Day: [%.2f mm]” (Rain)
Number Oregon_RainTotal_W “Rainfall Week: [%.2f mm]” (Rain)
Number Oregon_RainTotal “Total rainfall [%.2f mm]” (Rain) { rfxcom="<63744:RainTotal" }
Number Oregon_RainRate_Delta “Delta(5min.) [%.2f mm/h]” (Rain)
and sitemap:
Text item=Sila_Opadu visibility=[Oregon_RainRate>0.01]
Text item=Status_Opadu visibility=[Oregon_RainRate>0.01]
Text item=Oregon_RainRate visibility=[Oregon_RainRate>0.01]
Text item=Oregon_RainTotal_h visibility=[Oregon_RainTotal_D>0.01]
Text item=Oregon_RainTotal_D visibility=[Oregon_RainTotal_D>0.01]
Text item=Oregon_RainTotal_W visibility=[Oregon_RainTotal_W>0.01]
and rules:
rule “Delta- last 5 minutes”
when
Item Oregon_RainRate changed
then
var rainrate = Oregon_RainRate.deltaSince(now.minusMinutes(5))
postUpdate(Oregon_RainRate_Delta, rainrate)
end
//------------------------------------------------------------------------------------------------
rule “RainIndicator”
when
Item Oregon_RainRate changed
then
if (Oregon_RainRate.deltaSince(now.minusMinutes(5)) > 0){
Status_Opadu.postUpdate(“growing”)
}
if (Oregon_RainRate.deltaSince(now.minusMinutes(5)) < 0){
Status_Opadu.postUpdate(“stops”)
}
if (Oregon_RainRate.deltaSince(now.minusMinutes(5)) == 0){
Status_Opadu.postUpdate(“no change”)
}
end
//-----------------------------------------------------------------------------------------------------
rule “Rainfall Hour”
when
Item Oregon_RainTotal changed
then
var rain4 = Oregon_RainTotal.deltaSince(now.minusHours(1))
postUpdate(Oregon_RainTotal_h, rain4)
end
//--------------------------------------------------------------------------------------------------
rule “Rainfall Day”
when
Item Oregon_RainTotal changed
then
var rain7 = Oregon_RainTotal.deltaSince(now.minusDays(1))
postUpdate(Oregon_RainTotal_D, rain7)
end
//----------------------------------------------------------------------------------------------------
rule “Rainfall Week”
when
Item Oregon_RainTotal changed
then
var rain8 = Oregon_RainTotal.deltaSince(now.minusWeeks(1))
postUpdate(Oregon_RainTotal_W, rain8)
end
//------------------------------------------------------------------------------------------------------