Spezieller Fall einer WW-Zirkulation (eigentlich nur eine Funksteckdose)

Begonnen von stemak, 20 Mai 2015, 22:15:34

Vorheriges Thema - Nächstes Thema

stemak

Guten Abend liebe Foren-Teilnehmer,

lesend bin ich schon eine Zeit lang "stiller Teilhaber", aber aktiv hatte ich bisher nicht die
Notwendigkeit gehabt.
Zu meiner Installation: Ich habe eine Raspberry mithuckepack genommenen COC sowie einem WiFi-Adapter.
Ich habe bisher beinen Raspy mit FHEM nur genutzt, zwei Stromzähler für die beiden Photovoltaikanlagen
auszuwerten. Das Ganze läuft seit fast drei Jahren stabil (und zu nahezu 100% 24/7 - Respekt).

Aus Langeweile und, da ich als Familienpapa ja sonst nichts zu tun habe  ::) , hatte ich mir einmal Gedanken
um unsere Warmwasser Zirkulation gemacht. Nachdem nun die Waschmaschine und die Spülmaschine am
Warmwasser angeschlossen wurden, hatte die Pumpe nach 15 Jahren trostlosem Dasein wieder eine
Aufgabe.
Angeschlossen ist diese über eine ganz reguläre FS20 (ST2) Funksteckdose.

Code:

#Steckdose fuer Zirkulation im Keller definieren
define WW_Zirkulation FS20 ed95 00
attr WW_Zirkulation room FS20
define FileLog_WW_Zirkulation FileLog ./log/WW_Zirkulation-%Y.log WW_Zirkulation
attr FileLog_WW_Zirkulation logtype text
attr FileLog_WW_Zirkulation room FS20

Schalten kann ich diese auch über sowohl FHEM-Weboberfläche, als auch Handy-App.
Zudem habe ich, aus Vorsichtsgründen und schlechten Erfahrungen auch eine Mindest-Betriebsdauer von 8 Sekunden
am Tag fest eingebaut.

Code:

#Steckdose für Zirkulation im Keller taeglich für 8 Sekunden anschalten
define WW_Zirkulation_8s at 22:03:00 set WW_Zirkulation on-for-timer 8
#Definiere Programm um Uhrzeit (taeglich) und schalte WW_Zirkulation
#fuer x Sekunden an

Nun habe ich eine Verständnisfrage und zwei (hoffentlich) kleine Problemchen.

Verständnisfrage:

Es gibt ja einige defines in der fhem.cfg. Aber bei jeder Speicherung der fhem.cfg "motzt" das
Programm mit folgender Fehlermeldung:
ERROR:
WW_Zirkulation_8s already defined, delete it first

Nun kann ich zwar immer mit "delete WW_Zirkulation_8s already" in der Eingabezeile
den Eintrag löschen, speichere die fhem.cfg ab und alles ist gut, aber weshalb schimpft das Programm
immer genau an dieser einen define und alle anderen defines lässt dies kalt?!?

So, nun die beiden "Wunschfragen":

a) Ich würde gerne haben wollen, daß die Zirkulation beim Anschalten (Web oder Handy - egal) nur
2 Minuten läuft und dann selbstständig aus geschalten wird.

Versucht hatte ich:

#Betätigung fuer Zirkulation begrenzen auf Zeit und automatisch abschalten
define WW_Zirkulation_Off notify WW_Zirkulation:on set WW_Zirkulation on-for-timer 5

Das funktioniert nicht.



b) Wie kann ich einen zweiten Schalter für die Zirkulation "bauen", nennen wir diesen einmal WW_Zirkulation_Spuelmaschine,
welcher, einmal betätigt, die Pumpe für 2 Stunden lang alle 10 Minuten für 2 Minuten Laufzeit anschaltet und nach den 2 Stunden
dann komplett wieder abschaltet?

Hat jemand hier eventuell so viel Geduld mit mir, mich irgendwie dahin zu leiten?
Das Einsteiger-PDF hat mich irgendwie hier nicht viel weiter gebracht.

Ich danke im Voraus für die eine oder andere Hilfestellung.

Viele Grüße aus Nordost-Oberfranken


Steve

peble


a) Ich würde gerne haben wollen, daß die Zirkulation beim Anschalten (Web oder Handy - egal) nur
2 Minuten läuft und dann selbstständig aus geschalten wird.

das würde ich über den timer der Steckdose machen
dann wird für das Ausschalten kein Funk benötigt
Cubietruck mit FHEM
1-Wire mit LinkUSBi / Com to 1Wire USB Adapter CUL 868 V3 von busware / ESA2000 Strommessung
Uniroll Gurtwickler über CUL 868 / verschiedeneFS 20 Geräte

Deudi

Zitat#Steckdose für Zirkulation im Keller taeglich für 8 Sekunden anschalten
define WW_Zirkulation_8s at 22:03:00 set WW_Zirkulation on-for-timer 8

Das at arbeitet nicht täglich, dazu muss ein * vor die Zeit. Siehe commandref:
define a4 at *17:00:00 set lamp on                           # every day
also so:
define WW_Zirkulation_8s at *22:03:00 set WW_Zirkulation on-for-timer 8

Falls on-for-timer nicht funktioniert, kannst du
1. Ein watchdog definieren, der wieder ausschaltet oder
2. Im at ein weiteres einmaliges at definieren, dass wieder ausschaltet

Zitatb) ... einmal betätigt, die Pumpe für 2 Stunden lang alle 10 Minuten für 2 Minuten Laufzeit anschaltet und nach den 2 Stunden dann komplett wieder abschaltet?
Siehe commandref:
define a7 at +*{3}00:00:02 set lamp on-for-timer 1 # Blink 3 times

etwa so (alle 10 Minuten 120 Sekunden einschalten - 12x):
define at_Pumpe_2h at +*{12}00:10:00 set WW_Zirkulation on-for-timer 120

Commandref rules.  8)
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch