Abluftventilator über Luftfeuchte ein- ausschalten

Begonnen von Puschel74, 01 Februar 2012, 17:40:05

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo Herr Koenig,
 
vielen Dank für die ausführliche Antwort.
Jetzt verstehe ich auch ein par "Zeilen" mehr des Perlcodes.
 
>Weiterhin finde ich ein KS300 in einem Bad etwas fehlplatziert.
 
Ich habe den Code nur zum testen programmiert und der einfachheit halber
die Namen nahezu unveränder gelassen.
=> ich möchte in Zukunft mal meine Kellerfenster aufgrund der Aussen und
Innen- Temperatur und Luftfeuchte öffnen.
     und das funktioniert ja genauso.
 
Aber wieso sinkt die bei einer "jungfreulichen .cgf" die Zeit von 6,06 auf
1,5 Sekunden?
 
 
Ich werde Ihren Code von oben nochmal testen (bin im Moment nicht auf der
"Baustelle"). => Ich denke aber das auch dieser dann in eine Funktion
gehört oder?
 
Gibt es eigentlich eine "Liste" was man auslagert und was man in der cfg
belässt?

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

Guest

Originally posted by: <email address deleted>

Hallo,


ich verzweifle langsam.

der  folgende Code arbeitet zwar aber bei TH_Keller = 98% ist das Ergebnis
immer  noch Test_Schalter off.

define TH_Keller CUL_HM 197DCB
attr TH_Keller devInfo 030100
attr TH_Keller firmware 1.2
attr TH_Keller hmClass sender
attr TH_Keller model HM-WDS40-TH-I

define a_Feuchtecheck at +*00:05:00 trigger Feuchtecheck

define Feuchtecheck notify Feuchtecheck {my
$Feuchte_Bad=ReadingsVal("TH_Keller", "humidity",
"101%");;$Feuchte_Bad=($Feuchte_Bad, 0, -1);;if ($Feuchte_Bad>85) {
fhem("set Test_Schalter on")} else { if ($Feuchte_Bad<85){ fhem("set
Test_Schalter off")} } }

Ich würde gern mal das Ergebnis des Codes in eine Log Datei schreiben, aber
fehlt es mir schon an Programmierkenntnis.
Ich habe etliche Beispiele in Foren und Anleitungen durch, die meisten
gehen aber auf Aufzeichnungen von "echten" Aktoren ein => und die werden ja
meist schon von autocreate erzeugt.


>Falls man diesen Code als eine Funktion mit dem Namen Feuchtecheck in
>99_MyUtils abspeichert, und den obigen define umbaut nach
> define Feuchtecheck notify Feuchtecheck { Feuchtecheck() }
>dann dauern 100 triggers 6.06 Sekunden.

99_MyUtils gibt es bei mir nicht (es gibt u.a. 99_Utils.pm) oder muss ich
den selbst anlegen? Wenn ja wie?


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

Guest

Originally posted by: <email address deleted>

Hallo,


ich verzweifle langsam.

der  folgende Code arbeitet zwar aber bei TH_Keller = 98% ist das Ergebnis
immer  noch Test_Schalter off.

define TH_Keller CUL_HM 197DCB
attr TH_Keller devInfo 030100
attr TH_Keller firmware 1.2
attr TH_Keller hmClass sender
attr TH_Keller model HM-WDS40-TH-I

define a_Feuchtecheck at +*00:05:00 trigger Feuchtecheck

define Feuchtecheck notify Feuchtecheck {my
$Feuchte_Bad=ReadingsVal("TH_Keller", "humidity",
"101%");;$Feuchte_Bad=($Feuchte_Bad, 0, -1);;if ($Feuchte_Bad>85) {
fhem("set Test_Schalter on")} else { if ($Feuchte_Bad<85){ fhem("set
Test_Schalter off")} } }

Ich würde gern mal das Ergebnis des Codes ($Feuchte_Bad) in eine Log Datei
schreiben, aber fehlt es mir schon an Programmierkenntnis.
Ich habe etliche Beispiele in Foren und Anleitungen durch, die meisten
gehen aber auf Aufzeichnungen von "echten" Aktoren ein => und die werden ja
meist schon von autocreate erzeugt.


>Falls man diesen Code als eine Funktion mit dem Namen Feuchtecheck in
>99_MyUtils abspeichert, und den obigen define umbaut nach
> define Feuchtecheck notify Feuchtecheck { Feuchtecheck() }
>dann dauern 100 triggers 6.06 Sekunden.

99_MyUtils gibt es bei mir nicht (es gibt u.a. 99_Utils.pm) oder muss ich
den selbst anlegen? Wenn ja wie?

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

UliM

                                                 

Anlegen 99_myUtils.pm : fhemwiki.de - Code snippets

Log-Einträge: hab ich Dir in diesem post weiter oben schon geschrieben

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Hallo Uli,

danke für die schnelle Antwort mit 99_myUtils.pm habe ich gefunden und werde das gleich mal einbauen.
Bei dem Log habe ich meine schwierigkeiten.
Ich habe das mal so programmiert:


define a_Feuchtecheck at +*00:05:00 trigger Feuchtecheck

define Feuchtecheck notify Feuchtecheck { my $Feuchte_Bad=ReadingsVal("TH_Keller", "humidity", "101%");;\
$Feuchte_Bad= substr($Feuchte_Bad, 0, -1);;my $Feuchte_Bad = %EVTPART2;;Log 1, "Hum:$Feuchte_Bad";;\
if ($Feuchte_Bad<80) { fhem("set Test_Schalter on")} else { if ($Feuchte_Bad>80){ fhem("set Test_Schalter off")} } }


Resultat:
2012.06.30 16:04:31 3: Feuchtecheck return value: Bareword "EVTPART2" not allowed while "strict subs" in use at (eval 5683) line 1.

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

Guest

Originally posted by: <email address deleted>

Wenn ich folgenden Code programmiere erscheint zwar im log der aktuelle
Wert z.B. 89, es wird aber kein Schaltbefehl ausgelöst.

define FeuchteNotify notify TH_Keller:humidity.* { \
my $hum = %EVTPART1;;\
Log 1, "Hum:$hum";;\
my $val = Value("Test_Schalter");;\
{fhem("set Test_Schalter on")  if($hum > 85 && $val eq "on");;\
{fhem("set Test_Schalter off") if($hum < 85 && $val eq "off");;\
}}}

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

UliM

                                                 

Was liefert das log denn zu $val ?
Vll ist der aktuelle Status ja nicht "on" , sondern "ON" ...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Habe es nach langen basteln geschafft.

define a_Feuchtecheck at +*00:00:20 trigger Feuchtecheck

define Feuchtecheck notify Feuchtecheck { my $Feuchte_Garten=ReadingsVal("KS300", "humidity", "101%");;\
Log 1, "Hum:$Feuchte_Garten";;\
my $Erg=0;;\
my $Feuchte_Keller=ReadingsVal("TH_Keller", "humidity", "101%");;\
Log 1, "Hum:$Feuchte_Keller";;\
$Erg=$Feuchte_Keller-$Feuchte_Garten;;\
Log 1, "Hum:$Erg";;\
my $val = Value("Test_Schalter");;\
if ($Erg>15 && $val eq "off") { fhem("set Test_Schalter on")} else { if ($Erg<10 && $val eq "on"){ fhem("set Test_Schalter off")}}}

das Problem war u.a. das der Code: $Feuchte_XXX= substr($Feuchte_Bad, 0, -1)
nicht nötig ist, da das jeweilige Ergebnis gar kein % mitliefert, also muss auch nichts abgeschnitten werden.

Danke für all die Unterstützung.

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

Puschel74

                                               

Hallo,

dann ab ins Wiki damit ;-)

Das kein % mitgeliefert wird und somit auch nicht abgeschnitten werden
braucht hat Rudi aber
in seinem Post oben erwähnt ;-)
Sein Beispiel mit

$Feuchte_XXX= substr($Feuchte_Bad, 0, -1)

sollte nur aufzeigen wie man einfacher das letzte Zeichen abschneiden kann.

Grüße

Am Sonntag, 1. Juli 2012 12:12:14 UTC+2 schrieb Kiter11:
>
> Habe es nach langen basteln geschafft.
>
> define a_Feuchtecheck at +*00:00:20 trigger Feuchtecheck
>
> define Feuchtecheck notify Feuchtecheck { my
> $Feuchte_Garten=ReadingsVal("KS300", "humidity", "101%");;\
> Log 1, "Hum:$Feuchte_Garten";;\
> my $Erg=0;;\
> my $Feuchte_Keller=ReadingsVal("TH_Keller", "humidity", "101%");;\
> Log 1, "Hum:$Feuchte_Keller";;\
> $Erg=$Feuchte_Keller-$Feuchte_Garten;;\
> Log 1, "Hum:$Erg";;\
> my $val = Value("Test_Schalter");;\
> if ($Erg>15 && $val eq "off") { fhem("set Test_Schalter on")} else { if
> ($Erg<10 && $val eq "on"){ fhem("set Test_Schalter off")}}}
>
> das Problem war u.a. das der Code: $Feuchte_XXX= substr($Feuchte_Bad, 0,
> -1)
> nicht nötig ist, da das jeweilige Ergebnis gar kein % mitliefert, also
> muss auch nichts abgeschnitten werden.
>
> Danke für all die Unterstützung.

--
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>

Oh,

dann hatte ich das überlesen.
Naja Ende gut alles gut. ;)

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

Guest

Originally posted by: <email address deleted>

Darum sollte man Programmierhinweise immer genau lesen...

LG

pah

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