DO_IF Verständnisproblem oder funktioniert das so nicht?

Begonnen von kask, 04 Oktober 2022, 15:52:24

Vorheriges Thema - Nächstes Thema

kask

Ich würde gerne einen wert "hochtakern" lassen wenn ein Schwellenwert überschritten wird.
Und "runter takern" bei einem anderen Schwellenwert.
Damit das ganze nicht allzu flott passiert habe ich das wait attr mit "30:10" gesetzt. Also hochtakern alle 30 sek. und runter takern alle 10 sek. (sofern meine vergleicher anspringen)
Aber irgend wie funktioniert das nicht. Es wird genau einmal ausgeführt. also cmd_1 maximal einmal beim hoch zählen und wenn cmd_2 kommt dann wird maximal einmal herunter gezählt.

was mache ich falsch?

(([ValueDummy:wwx:d] < 3) and ([MQTT2_shellyem3_C8C9A3705F8C:emeter_sum_power] > 6000.0) )

(
setreading ValueDummy wwx [ValueDummy:wwx:d:$1+1]
)

DOELSEIF

(([ValueDummy:wwx:d] > 0) and ([MQTT2_shellyem3_C8C9A3705F8C:emeter_sum_power] < 5000.0) )

(
setreading ValueDummy wwx [ValueDummy:wwx:d:$1-1]
)

Stelaku

Hallo kask

so ins blaue geraten.

attr do always nicht gesetzt ?

gruss

Stephan

kask

Jepp das war es. Hatte ich bis dato garnicht benötigt, da ich wohl immer nur auf einen Wechsel reagiert habe in meinen Handvoll do_if's.
Danke.