notify durch FHT actuator

Begonnen von Guest, 27 Oktober 2011, 15:17:44

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Moin,

> Warum wollt ihr den Brenner/Therme abschalten, wenn das Ventil mehr
> als X offen ist?

Andersrum - der Brenner soll AN, wenn ein Ventil mehr als X offen ist
(offensichtlich zu kalt). Und andersrum soll er wieder aus, sobald der
Waermebadarf nicht mehr da ist.

Gruss
Torsten


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Zrrronggg!

                                                     

Okay, nicht richtig gelesen. Sry

On 31 Okt., 06:24, borsti wrote:
> Moin,
>
> > Warum wollt ihr den Brenner/Therme abschalten, wenn das Ventil mehr
> > als X offen ist?
>
> Andersrum - der Brenner soll AN, wenn ein Ventil mehr als X offen ist
> (offensichtlich zu kalt). Und andersrum soll er wieder aus, sobald der
> Waermebadarf nicht mehr da ist.
>
> Gruss
> Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

borsti67

                                                 

> Okay, nicht richtig gelesen. Sry

Macht doch nix.

Aber zwischenzeitlich habe ich mir noch mehr Beispiele aus dem WIKI
angeschaut (waere doch schade, wenn so viele sich Arbeit machen und
keiner liest es, gell?).

Die Actuator-Meldungen als Trigger zu benutzen ist zwar definitiv
zuverlaessiger als auf ein "Low Temp" zu warten, erzeugt aber auch eine
gewisse Last. Immerhin kommen die normalerweise alle 2 Minuten!

Also habe ich mir nun doch einen halbstündigen Trigger-Event mittels AT
gemacht, und dieses notify-Makro dazu:


define n_Brenner notify n_Brenner { \
   my $mussheizen=0;; \
   my $imleerlauf=0;; \
   my
$brennerstatus=$fs20_c2b{ReadingsVal("Winterbetrieb","state","off")};; \
   my @@fhts=devspec2array("TYPE=FHT");; \
   foreach(@@fhts) { \
     my $actuator=ReadingsVal($_, "actuator", "101%");; \
     $actuator=(substr($actuator, 0, (length($actuator)-1)));; \
     if ($actuator > 50) {\
       $mussheizen=1 \
     } \
     if ($actuator < 20) { \
       $imleerlauf++ \
     } \
   } \
   if ($mussheizen != 0) { \
     Log(4,"Es muss geheizt werden. Voriger Brennerstatus: " .
$brennerstatus);; \
     fhem("set Winterbetrieb on") if ($brennerstatus == 00) \
   } else { \
     if ($imleerlauf == @@fhts) { \
       Log(4,"Kein Wärmebedarf (mehr). Voriger Brennerstatus: " .
$brennerstatus);; \
       fhem("set Winterbetrieb off") if ($brennerstatus == 11) \
     } else { \
       Log(4,"Wärmebedarf: " . $imleerlauf . " von " . @@fhts . " im
Leerlauf.") \
     } \
   } \
}

Auch hierzu ein paar Anmerkungen:
- wenn irgendein Ventil zu mehr als 50% auf ist, muss der Brenner an. Da
wird nicht diskutiert. ;) Eventuell waere es eleganter, diese Konstante
(die ja momentan sowieso rein experimenteller/theoretischer Natur ist)
per Web setzen zu koennen - wenn ja, wie?
- Ventilstellungen unter 20% sehe ich als "so gut wie aus" an. Auch hier
gilt, das koennte sich als unrealistisch erweisen und waere bestimmt
schicker per Web gesetzt...
- sofern ALLE FHTs unter diesem Schwellwert liegen (und nur dann), kann
der Brenner abgeschaltet werden. Andernfalls wird nichts geaendert.
- die Schaltvorgaenge erfolgen nur wenn erforderlich. ;)

Was haltet ihr davon? Verbesserungs-/Optimierungsvorschlaege?

Gruss
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

rudolfkoenig

                                                   

> Verbesserungs-/Optimierungsvorschlaege?

Ich wuerde laengere Sachen als Funktion in 99_MyUtils.pm einbauen. Diese kann
man notfalls auch in FHEMWEB unter "Edit Files" bearbeiten, und sie aus einem
notify aufrufen. Vorteil: man muss kein @ % ; und Zeilenende schuetzen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

borsti67

                                                 

Am 01.11.2011 17:59, schrieb Rudolf Koenig:
>> Verbesserungs-/Optimierungsvorschlaege?
>
> Ich wuerde laengere Sachen als Funktion in 99_MyUtils.pm einbauen. Diese kann
> man notfalls auch in FHEMWEB unter "Edit Files" bearbeiten, und sie aus einem
> notify aufrufen. Vorteil: man muss kein @ % ; und Zeilenende schuetzen.
>

ok, das habe ich jetzt mal versucht:

99_MyUtils.pm
----------------------
package main;
use strict;
use warnings;
use POSIX;

sub HeizTest($$) {
   my($obergrenze, $untergrenze) = @_;
# 1. Param = Schwellwert, ab dem der Brenner IMMER eingeschaltet wird (50)
# 2. Param = Schwellwert, unter dem der Brenner aus könnte (20)
   my $mussheizen=0;
   my $imleerlauf=0;
   my $brennerstatus=$fs20_c2b{ReadingsVal("Winterbetrieb","state","off")};
   my @fhts=devspec2array("TYPE=FHT");
   foreach(@fhts) {
     my $actuator=ReadingsVal($_, "actuator", "101%");
     $actuator=(substr($actuator, 0, (length($actuator)-1)));
     if ($actuator > $obergrenze) {
       $mussheizen=1;
     }
     if ($actuator < $untergrenze) {
       $imleerlauf++;
     }
   }
   if ($mussheizen != 0) {
     Log(4,"Es muss geheizt werden. Voriger Brennerstatus: " .
$brennerstatus);
     fhem("set Winterbetrieb on") if ($brennerstatus == 00);
   } else {
     if ($imleerlauf == @fhts) {
       Log(4,"Kein Wärmebedarf (mehr). Voriger Brennerstatus: " .
$brennerstatus);
       fhem("set Winterbetrieb off") if ($brennerstatus == 11);
     } else {
       Log(4,"Wärmebedarf: " . $imleerlauf . " von " . @fhts . " im
Leerlauf.");
     }
   }
}

1;

-----------------

wenn ich aber {Heiztest(50,20)} eingebe, bekomme ich:

Undefined subroutine &main::HeizTest called at (eval 20) line 1.

...im Log nachgeschaut sehe ich dort auch noch einen Fehler:

2011.11.01 18:53:53 1: reload: Error:Modul 99_MyUtils deactivated:
  Global symbol "%fs20_c2b" requires explicit package name at
/usr/syno/synoman/webman/3rdparty/fhem/FHEM/99_MyUtils.pm line 18, <$fh>
line 6.

jetzt verstehe ich gar nichts mehr. :(

Uebrigens habe ich bei dieser Gelegenheit noch einen Fehler gesehen, der
ist aber schon laenger da:

Use of uninitialized value in concatenation (.) or string at
/usr/syno/synoman/webman/3rdparty/fhem/fhem.pl line 1426, <$fh> line 6.

was ist das?

Gruss,
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

Guest

Originally posted by: <email address deleted>

Hi Torsten,
wow, schick!

> Undefined subroutine &main::HeizTest called at (eval 20) line 1.
>
> ...im Log nachgeschaut sehe ich dort auch noch einen Fehler:
>
> 2011.11.01 18:53:53 1: reload: Error:Modul 99_MyUtils deactivated:
>   Global symbol "%fs20_c2b" requires explicit package name at
> /usr/syno/synoman/webman/3rdparty/fhem/FHEM/99_MyUtils.pm line 18, <$fh>
> line 6.

Schätze mal, Du musst nun doch wieder die ;; und \ und %% einbauen.
Oder Du nimmst als Startpunkt das, was Dir das modify vorher in die
fhem.cfg geschrieben hatte, dann haste die ;; und \ schon drin.


> Use of uninitialized value in concatenation (.) or string at
> /usr/syno/synoman/webman/3rdparty/fhem/fhem.pl line 1426, <$fh> line 6.

Auch geraten:
Mglw. fehlt in Deinem 99_MyUtils.pm die Routine MyUtils_Initialze($$)
Schau mal hier:
http://groups.google.com/group/fhem-users/browse_thread/thread/7f1740b5e681ca2a/b86a22566b72c957?lnk=gst&q=uninitialized#b86a22566b72c957

Viel Erfolg!
Gruß, Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> 2011.11.01 18:53:53 1: reload: Error:Modul 99_MyUtils deactivated:
>  Global symbol "%fs20_c2b" requires explicit package name at
> /usr/syno/synoman/webman/3rdparty/fhem/FHEM/99_MyUtils.pm line 18,
> <$fh> line 6.

%fs20_c2b wird leider in 10_FS20.pm definiert, aber die 99'er Module werden
vorher geladen. Man koennte es zum Schluss wiederholt laden mit
  define LoadMyUtils notify global:INITIALIZED { require "99_MyUtils.pm" }
ist aber nicht so die feine Art.

Andererseits: Wieso hier %fs20_c2b hier verwendet wird, ist mir ein Raetsel.
Ich finde
  $brennerstatus eq "off"  bzw.  $brennerstatus eq "on"
deutlich verstaendlicher als
  $brennerstatus == 00  bzw.  $brennerstatus == 11
wobei 00 eigentlich 0 ist.



> Uebrigens habe ich bei dieser Gelegenheit noch einen Fehler gesehen,
> der ist aber schon laenger da:
>
> Use of uninitialized value in concatenation (.) or string at
> /usr/syno/synoman/webman/3rdparty/fhem/fhem.pl line 1426, <$fh> line
> 6.

Wenn das ein aktuelles (CVS) fhem.pl ist, dann wird CommandReload ohne
Parameter aufgerufen. Komisch. Das hatten wir auch schon.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

borsti67

                                                 

> Andererseits: Wieso hier %fs20_c2b hier verwendet wird, ist mir ein Raetsel.

Das hatte ich so aus einem Muster uebernommen (ich glaube hier aus der
Gruppe), da schrieb der Autor, dass der on/off-Vergleich aus
unerfindlichen Gruenden nicht geklappt habe!?

Habe ich jetzt mal geaendert, gibt zumindest keine Fehlermeldung mehr -
danke!

Ist das gut genug fuer's WIKI? Wenn ja, wem soll ich die endgueltige
Version senden? ;)

>> Uebrigens habe ich bei dieser Gelegenheit noch einen Fehler gesehen,
> Wenn das ein aktuelles (CVS) fhem.pl ist, dann wird CommandReload ohne
> Parameter aufgerufen. Komisch. Das hatten wir auch schon.

Habe gerade die Aenderung oben eingepflegt und fuer den Test die
Loglevel erhoeht. Laut updatefhem bin ich auf dem neusten Stand.

Um 18:30 habe ich den HeizTest manuell ausgefuehrt (geht jetzt!), dann
noch eben FHEM.CFG angepasst und um 18:36 "rereadcfg" durchgefuehrt. Log:

2011.11.02 18:30:38 3: Kein Wärmebedarf (mehr). Voriger Brennerstatus: off
Use of uninitialized value in concatenation (.) or string at
/usr/syno/synoman/webman/3rdparty/fhem/fhem.pl line 1426, <$fh> line 6.
2011.11.02 18:36:14 2: FHEMWEB port 8083 opened
2011.11.02 18:36:14 2: FHEMWEB port 8084 opened
2011.11.02 18:36:14 2: FHEMWEB port 8085 opened
2011.11.02 18:36:14 3: Opening myCUNO device 192.168.1.123:2323
2011.11.02 18:36:14 3: myCUNO device opened
Use of uninitialized value in concatenation (.) or string at
/usr/syno/synoman/webman/3rdparty/fhem/fhem.pl line 1426, <$fh> line 6.
2011.11.02 18:36:18 2: FHEMWEB port 8083 opened
2011.11.02 18:36:18 2: FHEMWEB port 8084 opened
2011.11.02 18:36:18 2: FHEMWEB port 8085 opened
2011.11.02 18:36:18 3: Opening myCUNO device 192.168.1.123:2323
2011.11.02 18:36:18 3: myCUNO device opened

Gruss
Torsten


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

salvadore

                                             

> 2011.11.02 18:30:38 3: Kein Wärmebedarf (mehr). Voriger Brennerstatus: off
> Use of uninitialized value in concatenation (.) or string at
> /usr/syno/synoman/webman/3rdparty/fhem/fhem.pl line 1426, <$fh> line 6.


Habe Dein Script in meine fhem.cfg eingepflegt. Und freu, freu, es
klappt alles so wie es soll.
Ein Test mit 6 FHT`s ergab, dass die Laufzeit des Brenners mit dem
Script erheblich von den tatsächlichen Brenner-Laufzeiten abweicht.
Das Problem ist nur, dass die Aufbereitung des Brauchwassers mit
Vorrangschaltung so ausser acht gelassen wird. Denn das Abschalten des
Brenners führt ja dazu, das auch kein Brauchwasser mehr erwärmt wird.
Hat hier jemand einen Vorschlag, besser eine Lösung ?

Im Log erfolgt bei mir ebenfalls der Hinweis:
Use of uninitialized value in concatenation (.) or string at /usr/bin/
fhem.pl line 1433, <$fh> line 3.
Gibt es hier schon eine Lösung ?

Gruss
HG

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM 5.6, APU-Board, CUNO 1.x, RFXtrx433, 8 FHT80B, diverse FS20 Aktoren, Rasperry, div. DS18x-Sensoren, KD101, AB400R, HE877, ESA2000, Beaglebone Black Rev.C, Jeelink, PCA 301, PT8005,

borsti67

                                                 

Hi,

>> 2011.11.02 18:30:38 3: Kein Wärmebedarf (mehr). Voriger Brennerstatus: off
> Das Problem ist nur, dass die Aufbereitung des Brauchwassers mit
> Vorrangschaltung so ausser acht gelassen wird. Denn das Abschalten des
> Brenners führt ja dazu, das auch kein Brauchwasser mehr erwärmt wird.

Dafür war/ist das Script auch nicht wirklich gedacht. ;)
Tatsächlich die Therme / den Brenner zu schalten ist nur sinnvoll, wenn
das Ding wirklich nichts anderes macht, was in den seltensten Fällen
gegeben sein dürfte.
Du solltest nur einen eventuell vorhandenen
Sommer-/Winterbetrieb-Schalter betätigen, der lässt das Brauchwasser
ganz normal an.

Gruss,
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

Guest

Originally posted by: <email address deleted>

Ich habe bis jetzt nur FHTs, überlege mir aber auch den Brenner oder
die Heizungs Pumpe zu schalten.
Bei Heizungs Pumpe aus wird Brauchwasser noch erwärmt.
Eine andere Idee wäre, den Anwesenheitsstaus zu nehmen, also wenn jmd
da ist, den Brenner nicht abzuschalten.
Man braucht auch kein warmes Brauchwasser wenn niemand da ist.
Das betrifft auch meine el. beheizten Warmwasserleitungen, die
verbrauchen sicher viel.

Am Besten wäre es mit einem Temperatursensor die Speichertemperatur zu
lesen.
Damit hätte man eine bedarfsorientierte Brennersteuerung. Noch
perfekter wäre es die Vorlauftemperatur zu regeln, manche faken ja den
Temperaturfühler.

Gruss
Joachim

On 17 Dez. 2011, 19:08, hgo wrote:

> Das Problem ist nur, dass die Aufbereitung des Brauchwassers mit
> Vorrangschaltung so ausser acht gelassen wird. Denn das Abschalten des
> Brenners führt ja dazu, das auch kein Brauchwasser mehr erwärmt wird.
> Hat hier jemand einen Vorschlag, besser eine Lösung ?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Puschel74

                                               

Hallo zusammen,
ich benötige mal Hilfe.

Ich habe
if ($brauche_hitze != 0) {\
Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\
fhem("set Wasserpumpe on") if ($Wasserpumpe_status eq "off")\

durch
if ($brauche_hitze != 0) {\
if ($Wasserpumpe_status eq "off") fhem("set Wasserpumpe on") \
Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\

ersetzt weil ich dachte das dadurch die ständigen Logeinträge
Hitze benoetigt. Wasserpumpe EIN
aufhören würden.

Leider wird dann dieses notify nichtmehr ausgeführt.

Es wird alle 10 Minuten geprüft ob 1 FHT>50% und dann Wasserpumpe Ein
und wenn alle FHT<20% Wasserpumpe aus.
Das funkioniert auch mit dem ersten Code - nur "müllt" mir dieser das
Logfile alle 10 Minuten mit Hitze benoetigt. Wasserpumpe EIN voll.
Mit dem zweiten Codeschnipsel dachte ich ich kann das verhindern - nur
wird das notify damit nichtmehr ausgeführt.

Vielleicht hat von euch jemand eine Idee wie das notify ausgeführt
werden kann ohne alle 10 Minuten LogFile-Einträge zu produzieren.

Danke und Grüße

P.S.: Die Code-Schnipsel sind nur Auszüge aus dem gesamten Code der
hier und im WIKI steht.

On 13 Feb., 17:25, Joachim wrote:
> Ich habe bis jetzt nur FHTs, überlege mir aber auch den Brenner oder
> die Heizungs Pumpe zu schalten.
> Bei Heizungs Pumpe aus wird Brauchwasser noch erwärmt.
> Eine andere Idee wäre, den Anwesenheitsstaus zu nehmen, also wenn jmd
> da ist, den Brenner nicht abzuschalten.
> Man braucht auch kein warmes Brauchwasser wenn niemand da ist.
> Das betrifft auch meine el. beheizten Warmwasserleitungen, die
> verbrauchen sicher viel.
>
> Am Besten wäre es mit einem Temperatursensor die Speichertemperatur zu
> lesen.
> Damit hätte man eine bedarfsorientierte Brennersteuerung. Noch
> perfekter wäre es die Vorlauftemperatur zu regeln, manche faken ja den
> Temperaturfühler.
>
> Gruss
> Joachim
>
> On 17 Dez. 2011, 19:08, hgo wrote:
>
>
>
>
>
>
>
> > Das Problem ist nur, dass die Aufbereitung des Brauchwassers mit
> > Vorrangschaltung so ausser acht gelassen wird. Denn das Abschalten des
> > Brenners führt ja dazu, das auch kein Brauchwasser mehr erwärmt wird.
> > Hat hier jemand einen Vorschlag, besser eine Lösung ?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

borsti67

                                                 

Hi Joachim,

Am 13.02.2012 18:36, schrieb puschel74:

> if ($brauche_hitze != 0) {\
> Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\
> fhem("set Wasserpumpe on") if ($Wasserpumpe_status eq "off")\
>
> durch
> if ($brauche_hitze != 0) {\
> if ($Wasserpumpe_status eq "off") fhem("set Wasserpumpe on") \

hier fehlt zumindest das abschließende ";;".

> Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\
>
...aber ich glaube, Du willst eigentlich was anderes. Du hast nur die
Reihenfolge vertauscht, aber nichts an der Funktion verändert!

> Das funkioniert auch mit dem ersten Code - nur "müllt" mir dieser das
> Logfile alle 10 Minuten mit Hitze benoetigt. Wasserpumpe EIN voll.

Wenn die Meldung korrekt ist und Dich somit nicht interessiert, dann
nimm halt den Log-Eintrag raus. ;)
Oder setze den Level auf 4, dann wird es in der Standardeinstellung
nicht mehr ins globale Log geschrieben...

Vermutlich bekommst Du die Meldung aber IMMER (auch ohne Wärmebedarf).
Daher würde ich mal diese Variante anraten (unter der Voraussetzung,
dass Deine Status-Abfrage so funktioniert, die kommt mir auch suspekt
vor - ich hoffe, die hast Du getestet!):

if ($brauche_hitze != 0) {\
   if ($Wasserpumpe_status eq "off") {\
     fhem("set Wasserpumpe on");;\
     Log(3,"Hitze benoetigt. Wasserpumpe EIN")\
   }
}

Gruss
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

Puschel74

                                               

Danke mal für die Tipps.
Damit funktioniert alles seit 2 Monaten einwandfrei:

define n_Wasserpumpe notify n_Wasserpumpe {\
my $brauche_hitze=0;;\
my $ventile_im_leerlauf=0;;\
my $Wasserpumpe_status=
$fs20_c2b{ReadingsVal("Wasserpumpe","STATE","off")};;\
my @@fhts=devspec2array("TYPE=FHT");;\
foreach(@@fhts) {\
my $ventil=ReadingsVal($_, "actuator", "101%");;\
$ventil=(substr($ventil, 0, (length($ventil)-1)));;\
if ($ventil > 50) {\
$brauche_hitze=1\
}\
if ($ventil < 20) {\
$ventile_im_leerlauf++\
}\
}\
if ($brauche_hitze != 0) {\
Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\
fhem("set Wasserpumpe on") if ($Wasserpumpe_status == 00)\
}\
else {\
if ($ventile_im_leerlauf == @@fhts) {\
Log(3,"Keine Hitze mehr benoetigt. Wasserpumpe AUS");;\
fhem("set Wasserpumpe off")\
}\
else {\
Log(3,"Heizbedarf: " . $ventile_im_leerlauf . " von " . @@fhts . "
Stellantrieben im Leerlauf.")\
}\
}\
}

Auf dieses Notify trigger ich alle 10 Minuten.
Nur schreibt er mir alle 10 Minuten ins Logfile Wasserpumpe Ein /
Wasserpume Aus je nachdem was benötigt wird.
Ich dachte mit dem Umstellen kann ich "erzwingen" das nur noch einmal
der Logfile-Eintrag erfolgt.
Also wenn Hitze benötigt dann nur das erstemal der LogFile eintrag mit
Wasserpumpe ein und wenn keine Hitze mehr benötigt dann nur einmal
beim ersten mal eben der Eintrag mit Wasserpume Aus.
Ich hätte die LogFileEinträge schon gerne, aber nicht mit jedem
Trigger sondern nur wenn wirklich eine Änderung ist.

On 13 Feb., 18:50, borsti wrote:
> Hi Joachim,
>
> Am 13.02.2012 18:36, schrieb puschel74:
>
> > if ($brauche_hitze != 0) {\
> > Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\
> > fhem("set Wasserpumpe on") if ($Wasserpumpe_status eq "off")\
>
> > durch
> > if ($brauche_hitze != 0) {\
> > if ($Wasserpumpe_status eq "off") fhem("set Wasserpumpe on") \
>
> hier fehlt zumindest das abschließende ";;".
>
> > Log(3,"Hitze benoetigt. Wasserpumpe EIN");;\
>
> ...aber ich glaube, Du willst eigentlich was anderes. Du hast nur die
> Reihenfolge vertauscht, aber nichts an der Funktion verändert!
>
> > Das funkioniert auch mit dem ersten Code - nur "müllt" mir dieser das
> > Logfile alle 10 Minuten mit Hitze benoetigt. Wasserpumpe EIN voll.
>
> Wenn die Meldung korrekt ist und Dich somit nicht interessiert, dann
> nimm halt den Log-Eintrag raus. ;)
> Oder setze den Level auf 4, dann wird es in der Standardeinstellung
> nicht mehr ins globale Log geschrieben...
>
> Vermutlich bekommst Du die Meldung aber IMMER (auch ohne Wärmebedarf).
> Daher würde ich mal diese Variante anraten (unter der Voraussetzung,
> dass Deine Status-Abfrage so funktioniert, die kommt mir auch suspekt
> vor - ich hoffe, die hast Du getestet!):
>
> if ($brauche_hitze != 0) {\
>    if ($Wasserpumpe_status eq "off") {\
>      fhem("set Wasserpumpe on");;\
>      Log(3,"Hitze benoetigt. Wasserpumpe EIN")\
>    }
>
> }
>
> Gruss
> Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Guest

Originally posted by: <email address deleted>

Hallo,
wenn wir hier gerade bei FHT Heizungslösungen sind)
Hier mein Beitrag dazu.

Grundsituation hier in Russland:
Man hängt an der Zentralheizung und wird entweder mit zuviel oder
zuwenig Wärmeenergie versorgt.
Bei zuviel Wärme wird vom normalen Benutzter in der Regel das Fenster
geöffnet.
(da i.d.R. weder Regler noch Thermostat vorhanden sind)
Bei zuwenig Wärme wird eine elektrische Zusatzheizung ins Zimmer
gestellt.

Alles in allem nicht sehr komfortabel. ;)

Hier eine elegantere Lösung:
FHT80 und FS20-ST3 mit elektrischer Heizung
Sobald die Ist-Temperatur 0,5°C unter Soll-Temperatur ist und
der Actuator mehr als 90% offen ist, schaltet die Zusatzheizung ein.
Die Zusatzheizung wird nur auf eine festgelegte Zeit eingeschaltet,
falls ein unvorhergesehener Zustand eintritt, sich die Heizung somit
selbst
abschaltet.
Alle 10 min. wird geprüft, und entsprechend ein oder ausgeschaltet.

# Elecrical Heater
  define 21_Electrical_heater FS20 1234 90
    #attr 21_Electrical_heater alias Elektrische Heizung
    #attr 21_Electrical_heater webCmd on:off:on-for-timer 600
    attr 21_Electrical_heater comment FS20 ST-3
    attr 21_Electrical_heater room 21_Room_I

# Temperature: Thermostat
  define b1_Thermostat FHT 3129
    attr b1_Thermostat IODev CUNO1
    attr b1_Thermostat alias 21_Thermostat
    attr b1_Thermostat comment FHT 80b
    attr b1_Thermostat retrycount 3
    #attr b1_Thermostat lazy
    attr b1_Thermostat room 21_Room_I,10_Flat

# additional electrical heater
 define eHeater_status dummy
   attr eHeater_status room System_temp

  define eHeater dummy
    attr eHeater eventMap on:on off:off
    attr eHeater room System_temp

# Function: additional electrical heater
  define eHeater_on notify eHeater.on {\
      fhem ("set eHeater_status 1") ;;\
      fhem ("attr eHeater room 00_Information,System_temp") ;;\
      Log 3, ("eHeater - Activate additional electrical heater ...") ;;
\
      }
    attr eHeater_on room hidden

  define eHeater_off notify eHeater.off {\
      fhem ("set eHeater_status 0") ;;\
      fhem ("attr eHeater room System_temp") ;;\
      Log 3, "eHeater - Stop additional electrical heater
activities ..." ;;\
      }
    attr eHeater_off room hidden


# Funktion: 22_Room_II additional electric heating system
  define 22_eHeater notify 22_eHeater {\
    my $dt = $defs{b2_Thermostat}{READINGS}{"desired-temp"}{VAL};;\
    my $mt = $defs{b2_Thermostat}{READINGS}{"measured-temp"}{VAL};;\
       $mt = (substr($mt, 0, (length($mt)-10)));;\
    my $act = $defs{b2_Thermostat}{READINGS}{"actuator"}{VAL};;\
       $act = (substr($act, 0, (length($act)-1)));;\
    if (($mt < ($dt-0.5)) && ($act > 90) && (Value("eHeater_status") >
0 )) {\
        Log 4, ("heaterLOG: 22_Room_II Temperature is LOW | $dt/$mt/
$act ");;\
        fhem ("set 22_Electrical_heater on-for-timer 640");;\
        fhem ("attr 22_Electrical_heater room 22_Room_II,
00_Information");;\
    }\
     else {\
        Log 4, ("heaterLOG: 22_Room_II Temperature is $dt/$mt/$act ");;
\
        fhem ("set 22_Electrical_heater off");;\
        fhem ("attr 22_Electrical_heater room 22_Room_II");;\
        if (($mt < ($dt-0.5)) && ($act > 60)) {\
          fhem ("attr eHeater room System_temp,00_Information");;\
        }\
     }\
   }
    attr 22_eHeater room hidden

  define 22_Temperature_ckeck at +*00:10:00 trigger 22_eHeater
    attr 22_Temperature_ckeck room hidden

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com