DOIF mit Intervall nach Zuständen

Begonnen von smeagel, 13 Juni 2021, 08:44:29

Vorheriges Thema - Nächstes Thema

smeagel

Hi,

ich habe mir hier schon verschiedene Beiträge angeschaut, komme aber leider nicht auf eine Lösung.

Ich habe eine Teichpumpe die alle 2 Stunden für 20 Minuten anlaufen soll wenn die Temperatur über 20° ist und die Teichpumpe aus ist. Wenn die Teichpumpe schon läuft, soll nichts passieren.

([08:00-21:00] and [HMIP_Aussentemperatursensor:1.ACTUAL_TEMPERATURE] >= 20 and [Teichpumpe:POWER1] eq off) (set Teichpumpe on-for-timer 1200)

Das funktioniert schon mal - aber wie bekomme ich es hin das nun innerhalb der Parameter geschaltet wird?

Hat jemand ne Idee?

Stelaku

Hallo smeagel

Vielleicht funktioniert schon ein repeatcmd 7200

smeagel

Hi,

wenn ich repeatcmd setzte, geht es dauernd an.

Sany

Hi,

deine Fragestellung kam mir so vor, als hätte ich das schon mal gelesen...

aus der Commandref:
ZitatZeitangaben nach Zeitraster ausgerichtet alle X Stunden   back

Format: [+[h]:MM] mit: h sind Stundenangaben zwischen 1 und 23 und MM Minuten zwischen 00 und 59

Anwendungsbeispiel: Es soll immer fünf Minuten nach einer vollen Stunde alle 2 Stunden eine Pumpe eingeschaltet werden, die Schaltzeiten sind 00:05, 02:05, 04:05 usw.

define di_gong DOIF ([+[2]:05]) (set pump on-for-timer 300)
attr di_gong do always
siehe: https://fhem.de/commandref_modular_DE.html#DOIF_Zeitangaben_nach_Zeitraster_ausgerichtet_alle_X_Stunden

Die 8-21Uhr Bedingung würde ich mit Fragezeichen versehen, die soll eher nicht triggern.

Viel Erfolg!

fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

smeagel

#4
Hi,

ja, in der Commandref ist dieses Beispiel aufgeführt... nur das Problem dabei ist, sobald die Pumpe manuell ausgeschaltet wird, springt Sie sofort wieder an....

Also quasi in Noob-Ausdrücken:

Prüfe in der Zeit zwischen 08-21 Uhr ob die Temperatur größer als 21° ist und die Pumpe aus - wenn ja, schalte die Pumpe an - wenn die Pumpe schon läuft, mache nichts.
Wenn die Pumpe manuell angeschaltet wird, mache nichts.

Ich bekomme das nicht so wirklich hin.

Porsti

Hi,

ich vermute das durch da off der Pumpe die Bedungen getriggert wird. Wenn ich so etwas mache Arbeite ich gerne mit den "?". Dann werden die Bedingungen beim Trigger überprüft aber lösen das DOIF nicht aus:


([08:00-21:00] and [HMIP_Aussentemperatursensor:1.ACTUAL_TEMPERATURE] >= 20 and [?Teichpumpe:POWER1] eq off) (set Teichpumpe on-for-timer 1200)


Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

smeagel

Werde es mal so probieren ....der Tip mit dem ? war echt gut. Danke

([10:00-21:00,+01:00] and [?HMIP_Aussentemperatursensor:1.ACTUAL_TEMPERATURE] >= 21 and [?MQTT2_Aussen_Teichpume:POWER1] eq "off") (set MQTT2_Aussen_Teichpume on-for-timer 600)

McShire

Versuch es doch mal mit
define Pumpsteuerung at +*02:00:00
    defmod pumpan DOIF ([08:00-21:00] and [HMIP_Aussentemperatursensor:1.ACTUAL_TEMPERATURE] >= 20 and [Teichpumpe:POWER1] eq off) (set Teichpumpe on-for-timer 1200)
gruß
Werner