FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: andi am 07 Februar 2013, 11:12:36

Titel: heizungslüfter
Beitrag von: andi am 07 Februar 2013, 11:12:36
hallo zusammen
benutze seit geraumer zeit fhem mit fritz7390
1xcul433mhz
1xcul868mhz
läuft alles super..........danke an alle die daran mitarbeiten

nun meine frage

ich möchte einen fs20 stecker anschalten
fs20st on = logfile fht80b actuator über 1% (oder mehr )geöffnet ist
um damit einen lüfter zu schalten

und
auszuschalten wenn der actuator 0% in dem logfile anzeigt plus eine
nachlaufzeit von +00:05:00 min


dies ist warscheinlich eine dumme frage für die die sich hiermit sehr gut auskennen
leider habe ich in den dokumentaionen keinen ähnlichen fall gefunden
vielleicht kann mir jemand helfen

gruß
andi
Titel: Aw: heizungslüfter
Beitrag von: UliM am 07 Februar 2013, 15:41:26
Hi,
das mit dem Nachlauf ist tricky, denn dafür muss ein separater Nachlauftimer gestartet werden:

define luefterschaltung notify fht80b:actuator.* { if ( %EVTPART1 > 0) { fhem("set luefter on") } else { if (defined($defs{nachlauf}) {fhem("delete nachlauf")}; fhem("define nachlauf at +00:05 set luefter off") } }


Kurze Erklärung:
fht80b steht hier für den Namen Deines FHT, musst Du ersetzen.
Wann immer eine actuator-Meldung vom fht kommt, wird geprüft:
- Ist der Gemeldete Wert > 0 (%EVTPART1)
- Falls ja, schalte den Lüfter an (Name musst Du ebenfalls ersetzen)
- Falls nein:
  - prüfe, ob bereits ein Nachlauftimer existiert. Falls ja: löschen.
  - definiere einen Nachlauftimer, der in 5 Minuten den luefter ausschaltet

Ungetestet und ohne Gewähr :)

Viel Erfolg,
Uli

Titel: Aw: heizungslüfter
Beitrag von: Puschel74 am 07 Februar 2013, 17:42:20
Hallo,

sorry für die unbedarfte Frage aber ...

Zitat- prüfe, ob bereits ein Nachlauftimer existiert. Falls ja: löschen.
- definiere einen Nachlauftimer, der in 5 Minuten den luefter ausschaltet

Wird damit nicht jedesmal, wenn der FHT 0% meldet, der Timer neu gesetzt?

Ich müsst erstmal im Log schauen ob der actuator innert 5 Minuten gemeldet wird oder nicht.
Wenn ja müsste doch der Timer jedesmal gelöscht und neu gesetzt werden.
Wenn der actuator länger als 5 Minuten braucht sollte der Schnipsel funktionieren.

Grüße
Titel: Aw: heizungslüfter
Beitrag von: UliM am 07 Februar 2013, 17:48:21
Stimmt.
Der actuator kommt alle 2-3 Minuten.
Vll ist sogar die schlauere Variante, bei EVTPART > 0 einfach ein
set luefter on-for-timer 240
zu senden, dann entfällt auch gleich der off-Teil.
=8-)
Titel: Aw: heizungslüfter
Beitrag von: Puschel74 am 07 Februar 2013, 17:51:33
Sorry Uli,

aber ich würde bei actuator = 0% ein on-for-timer 300 nachschieben und den
Lüfter damit dann noch 5 Minuten nachlaufen lassen ;-)

Grüße
Titel: Aw: heizungslüfter
Beitrag von: Puschel74 am 07 Februar 2013, 18:00:46
Poah, Tante-Edith wo bleibst du ^^

Mein vorheriger Beitrag war auch Müll sorry.
Da der actuator ja alle 2-3 Minuten gesendet wird läuft der Lüfter dann vermutlich die ganze Zeit da ein
on-for-timer 300 immer wieder nachgeschoben wird.

Es wird wohl nichts um einen Dummy resp. eine Variable herum kommen um zu sehen das der actuator bereits >0% war und der Lüfter nur
einmal nachlaufen darf.

So ala:

if actuator > 0%
  lüfter darf nachlaufen = 1
if actuator = 0% und Lüfternachlauf läuft
  nix machen
if actuator = 0% und Lüfternachlauf vorbei
  lüfter darf nachlaufen = 0

Die Variable müsste gesetzt werden wenn der actuator > 0% ist und sobald die Nachlaufzeit vorbei ist müsste die Variable wieder
zurück gesetzt werden.

Wie Uli schon schrieb:
Zitatdas mit dem Nachlauf ist tricky

Grüße
Titel: Aw: heizungslüfter
Beitrag von: andi am 07 Februar 2013, 20:12:53
hey nette menschen
erstmal danke für die rege beteiligung
ich versuche auf dem ersten beitrag aufzubauen
und hoffe ich komme zu meinem ziel

lg
andi
Titel: Aw: heizungslüfter
Beitrag von: Puschel74 am 07 Februar 2013, 20:29:21
Hallo,

auf Ulis Beitrag kannst du ruhig aufbauen.
Der Ansatz ist soweit einwandfrei.
Allerdings hat er ja auch erwähnt das der Nachlauf etwas tricky sein wird.

Daher wirst du wohl um einen Mehrzeiler nicht drum rum kommen.


define luefterschaltung notify fht80b:actuator.* {
  if ( %EVTPART1 > 0) {
    fhem("set luefter on") if (Value("luefter") ne "on");
  }
  if ( %EVTPART1 = 0) {
    if (Value("luefter") ne "on-for-timer 300") {
      fhem("set luefter on-for-timer 300");
    }
  }
}


Ebenfalls ungetestet.
Erläuterungen siehe Ulis Beitrag.
Achtung! Wenn du die Nachlaufzeit ändern willst musst du bei "on-for-timer 300" auf den neuen Wert stellen.

Grüße
Titel: Aw: heizungslüfter
Beitrag von: Puschel74 am 07 Februar 2013, 20:31:28

define luefterschaltung notify fht80b:actuator.* {
  if ( %EVTPART1 > 0) {
    fhem("set luefter on") if (Value("luefter") ne "on");
  }
  if ( %EVTPART1 == 0) {
    if (Value("luefter") eq "on") {
      fhem("set luefter on-for-timer 300");
    }
  }
}


Und schon nen Fehler entdeckt.
Titel: Antw:heizungslüfter
Beitrag von: ebby am 07 Januar 2014, 11:43:33
Hi,

danke für Ideen von UliM und Puschel74!

Ich brauche das um eine Elektroheizung im Kinderzimmer zu steuern. Leider erhalte ich im Log immer folgendes:
2014.01.07 11:28:23 3: Heizstrahlerschaltung return value: syntax error at (eval 1268) line 1, near "% >"

Mein Notify sieht so aus:
define Heizstrahlerschaltung notify Temperaturfuehler_Vanessa:actuator.* { if ( %EVTPART1 > 0) { fhem("set Heizstrahler_Vanessa on") if(Value("Heizstrahler_Vanessa ") ne "on") } else { fhem("set Heizstrahler_Vanessa off") if(Value("Heizstrahler_Vanessa ") ne "off") } }


Laufen habe ich fhem auf der FB7390:
Fhem info:
  Release  : 5.4
  Branch   : DEVELOPMENT
  OS       : linux
  Arch     : mips-linux
  Perl     : v5.12.2


Kann mir jemand nen Tip geben was ich falsch mache?

Danke!
ebby
Titel: Antw:heizungslüfter
Beitrag von: OiledAmoeba am 07 Januar 2014, 12:28:54
Sitze gerade beim Bäcker und sehe den Hundeparkplatz... Da kommt mir die Idee, wie es wäre, actuator 0% über einen Wachhund abzufangen, der erst zurückgesetzt wird, wenn der actuator >0% ist. Mit regexp1wontreactivate würden weitere 0%-Meldungen den internen Watchdog - Timer nicht stören.

Wär das ne Idee oder zu umständlich?

Gesendet von meinem GT-I9100 mit Tapatalk

Titel: Antw:heizungslüfter
Beitrag von: ebby am 07 Januar 2014, 17:21:39
Zitat von: OiledAmoeba am 07 Januar 2014, 12:28:54
Sitze gerade beim Bäcker und sehe den Hundeparkplatz... Da kommt mir die Idee, wie es wäre, actuator 0% über einen Wachhund abzufangen, der erst zurückgesetzt wird, wenn der actuator >0% ist. Mit regexp1wontreactivate würden weitere 0%-Meldungen den internen Watchdog - Timer nicht stören.

Wär das ne Idee oder zu umständlich?

Gesendet von meinem GT-I9100 mit Tapatalk

Ist dieser Thread und meine Anfrage im Anfängerbereich oder auf einmal im Klugscheißerbereich gelandet?
Titel: Antw:heizungslüfter
Beitrag von: OiledAmoeba am 07 Januar 2014, 17:37:41
Ups, sorry.
Dachte, das wäre ne brauchbare Idee, die ich aber mangels PC zu dem Zeitpunkt nicht weiter ausführen konnte.
Dann eben nicht.

Gesendet von meinem GT-I9100 mit Tapatalk