Keep highest en lowest value in dummy via rules

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
bulthaup
Normal user
Posts: 49
Joined: 29 Jul 2019, 15:10

Keep highest en lowest value in dummy via rules

#1 Post by bulthaup » 29 Jul 2020, 09:26

I have an ESPEASY system running with a BME280 sensor. I would like to keep the highest and lowest value of the temperature sensor inside a dummy task until I reset the device.
This is probably possible with an easy rule but I totally lack knowledge of writing rules.

My first attempt (not tested)

Code: Select all

on System#Boot do
let,1,[Greenhouse#Temperature]
endon

on serre#Temperature do
    TaskValueSet 4,1,[VAR#1]
    let,2,[Greenhouse#Temperature]
    if [VAR#2] > [VAR#1] then TaskValueSet 4,1,[VAR#2]
    endif
endon

User avatar
grovkillen
Core team member
Posts: 3621
Joined: 19 Jan 2017, 12:56
Location: Hudiksvall, Sweden
Contact:

Re: Keep highest en lowest value in dummy via rules

#2 Post by grovkillen » 29 Jul 2020, 12:02

Code: Select all

On TaskName#ValueName Do
  If [TaskName#ValueName] > [DummyTask#DummyValueHighest]
   TaskValueSet,<DummyTaskNummer>,<DummyValueNumberHigh>,[TaskName#ValueName]
  EndIf
  If [TaskName#ValueName] < [DummyTask#DummyValueLowest]
   TaskValueSet,<DummyTaskNummer>,<DummyValueNumberLow>,[TaskName#ValueName]
  EndIf
EndOn

Change the names and numbers accordingly.
ESP Easy Flasher [flash tool and wifi setup at flash time]
ESP Easy Webdumper [easy screendumping of your units]
ESP Easy Netscan [find units]
Official shop: https://firstbyte.shop/
Sponsor ESP Easy, we need you :idea: :idea: :idea:

bulthaup
Normal user
Posts: 49
Joined: 29 Jul 2019, 15:10

Re: Keep highest en lowest value in dummy via rules

#3 Post by bulthaup » 30 Jul 2020, 00:04

Ok, I still need to set the initial lowest value after booting so my rule looks like this now and it seems to be working.

Code: Select all

On System#Boot do
TaskValueSet,4,1,[serre#Temperature]
TaskValueSet,4,2,[serre#Humidity]
TaskValueSet,4,3,[serre#Pressure]
endon

On serre#Temperature Do
  If [serre#Temperature] > [DummyHighest#TemperatureHighest]
   TaskValueSet,5,1,[serre#Temperature]
  EndIf
  If [serre#Temperature] < [DummyLowest#TemperatureLowest]
   TaskValueSet,4,1,[serre#Temperature]
  EndIf
EndOn

On serre#Humidity Do
  If [serre#Humidity] > [DummyHighest#HumidityHighest]
   TaskValueSet,5,2,[serre#Humidity]
  EndIf
  If [serre#Humidity] < [DummyLowest#HumidityLowest]
   TaskValueSet,4,2,[serre#Humidity]
  EndIf
EndOn

On serre#Pressure Do
  If [serre#Pressure] > [DummyHighest#PressureHighest]
   TaskValueSet,5,3,[serre#Pressure]
  EndIf
  If [serre#Pressure] < [DummyLowest#PressureLowest]
   TaskValueSet,4,3,[serre#Pressure]
  EndIf
EndOn


Upon testing, I discovered a bug btw. I have set 2 dummy devices with Output Data Type: Temp/Hum/Baro to create 3 task values.
1.png
1.png (32.46 KiB) Viewed 17506 times
After rebooting, the Output Data Type changes to Single whilst there are 4 task values all of a sudden.
2.PNG
2.PNG (8.83 KiB) Viewed 17506 times
3.PNG
3.PNG (22.41 KiB) Viewed 17506 times


Changing the Output Data Type for 1 of the 2 Dummy tasks back to Output Data Type: Temp/Hum/Baro fixes it immediately for both dummy tasks.

I will open up an issue on Github https://github.com/letscontrolit/ESPEasy/issues/3184

User avatar
grovkillen
Core team member
Posts: 3621
Joined: 19 Jan 2017, 12:56
Location: Hudiksvall, Sweden
Contact:

Re: Keep highest en lowest value in dummy via rules

#4 Post by grovkillen » 30 Jul 2020, 05:29

Yes it's a known bug. We're working on a fix.
ESP Easy Flasher [flash tool and wifi setup at flash time]
ESP Easy Webdumper [easy screendumping of your units]
ESP Easy Netscan [find units]
Official shop: https://firstbyte.shop/
Sponsor ESP Easy, we need you :idea: :idea: :idea:

bulthaup
Normal user
Posts: 49
Joined: 29 Jul 2019, 15:10

Re: Keep highest en lowest value in dummy via rules

#5 Post by bulthaup » 31 Jul 2020, 13:49

Ok, thank you!

Post Reply

Who is online

Users browsing this forum: No registered users and 18 guests