Can figure out web UI rule configuration, temp above 24 send command and temp below send command

Hello, ive just dived into using webui configuration of my rules

I have a thermostat reporting temperature in a room
A ventilation system where i can send a command High or low
I want to simple send command High when temperature is above 24
And Low command when under 23
Before i used =>24 in textual rules.

But webui rule configuration confuses me

Donā€™t use it then. File based rules are still available.

Maybe write a file rule and then take the learning opportunity to convert it to GUI.

Beware of units of measurement, if comparing temperatures.

1 Like

Thankā€™s for the answer but it is so simple it should be self explanitory to do this in UI, it is as simple as a rule can get.
But Athom homey gets more and more compelling with answers like this :slight_smile:

Not to be rude

First, plug it in? Weā€™ve no idea how far youā€™ve got or what you have tried or what problems you have encountered. Answer quality reflects question quality.
What do you really need help with, how to click and select a rule trigger? How to choose a rule trigger? Etc.

You need two rules. One for when it goes high and another one when it goes low.

You can use a Condition (but only ifā€¦) section to do the comparison.

If you want to do it all in one rule youā€™ll need to use a Script Action and write it as coffee just like you do now.

Is this programmer-speak that Iā€™m not familiar with, or an autocorrect typo? Either way, :coffee: :+1:

Google insists on replacing code with coffee and if in not wearing my reading glasses I donā€™t always notice. I are really speak gooder than I type. :wink:

1 Like
rule "Vaskerom Avtrekk temperatur"

when
       Item ZWave19ThermostatVaskeromSensorTemperature2 changed
then
    if (Double::parseDouble(ZWave19ThermostatVaskeromSensorTemperature2.state.toString) > 24.5) {
       logInfo("Vaskerom over 24 grader", "Ventilasjon satt til hoy")
       sendCommand(ChangeUserMode,4)
              }
else if (Double::parseDouble(ZWave19ThermostatVaskeromSensorTemperature2.state.toString) < 23.5) {
       logInfo("Vaskerom under 23 grader", "Ventilasjon satt til lav")
       sendCommand(ChangeUserMode,3)
       }
end

2021-11-13 21:52:13.828 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID ā€˜Matrix-14ā€™ failed: For input string: ā€œ24.3 Ā°Cā€ in Matrix

This is what I am having trouble with (as i recall something changed from 2.5OH to 3.0OH, cant for the life of me figure out what i need to change :slight_smile:

You donā€™t need all that parse-double-stringy stuff, just compare item.state with another temperature, not a plain numeric. Apples with apples.

if (yourItem.state > 24.5 | Ā°C) {

I ended up using this rule that works quite well by its own

rule "Klima Ventilasjon vaskerom"
 when
 	Item ZWave19ThermostatVaskeromSensorTemperature2 received update
 then
 	logInfo("Vaskerom-Temperatur: ", ZWave19ThermostatVaskeromSensorTemperature2.state.toString())
 	if (SupplyFanWrite.state == 3 && ((ZWave19ThermostatVaskeromSensorTemperature2.state as Number).doubleValue > 24.5)) {
 		SupplyFanWrite.sendCommand(4)
    	
 	}
 	if (SupplyFanWrite.state == 4 && ((ZWave19ThermostatVaskeromSensorTemperature2.state as Number).doubleValue < 23.0)) {
 		SupplyFanWrite.sendCommand(3)
    	
 	}
 end

But if I use the same rule to regulate Humidity in bathroom it cancels out the rule above

rule "Klima Ventilasjon Bad Fuktighet"
 when
 	Item VentEAFBadOppeHumidity received update
 then
 	logInfo("Bad-Fuktighet: ", VentEAFBadOppeHumidity.state.toString())
 	if (SupplyFanWrite.state == 3 && ((VentEAFBadOppeHumidity.state as Number).doubleValue > 50)) {
 		SupplyFanWrite.sendCommand(4)
    	
 	}
 	if (SupplyFanWrite.state == 4 && ((VentEAFBadOppeHumidity.state as Number).doubleValue < 40)) {
 		SupplyFanWrite.sendCommand(3)
    	
 	}
 end

Washroom rule: the temperature is over 24*C therefore High command (4) is issued to the ventilation

BUT

IF bathroom rule, the humidity is below 40% it cancel out the rule for venting hot air from washroom

Ending with a loop HIGH (4) LOW(3) beeng sent out.
Ive disabeled the bathrom rule for now

What I am thinking, The washroom rule has triggered HIGH(4) the bathroom rule should not be allowed to issue a LOW(3) until the first rule has finished (going under 23*C) or vice verca

So ā€¦ you might have just one rule triggered by either temp or humidity changing, and decide in the rule to run fan or not depending on both factors.