No apologies, I am deeply grateful for you help so far. Just one more thing to learn how to solve. It’s not a show-stopper at all, more like the cherry-on-the-cake.
lambda: |-
it.printf(8, 1, "F: %s", id(weed_fan).speed ? "ONE" : "TWO" );
it.printf(0, 0, "T:%.1f", id(weed_temperature).state);
it.printf(8, 0, "H:%.1f", id(weed_humidity).state);
it.printf(0, 1, "U:%.1f", id(weed_uptime).state);
What does that give you?
lambda: |-
if (id(weed_fan).speed == 0) {it.print(8, 1, "F: LOW");}
else if (id(weed_fan).speed == 1) {it.print(8, 1, "F: MED");}
else {it.print(8, 1, "F: HIGH");}
it.printf(0, 0, "T:%.1f", id(weed_temperature).state);
it.printf(8, 0, "H:%.1f", id(weed_humidity).state);
it.printf(0, 1, "U:%.1f", id(weed_uptime).state);
This if compiles without error but I still don’t see how you are going to differentiate between off and low