Originally posted by: <email address deleted>
Hallo zusammen,
bisher bin ich, dank dieser tollen Gruppe, bestens mit FHEM zurech
gekommen. Nun jedoch stehe ich vor einem Problem, für welches ich
keine Lösung finde.
Ich habe mir ein Energiemessmodul von ELV (EM 1000-EM) bestellt. In
die Steckdose gesteckt, autocreate hat es gefunden, noch ein wenig die
Config angepasst und es klappt wunderbar.
Die Config dafür sieht folgendermaßen aus:
define K_WM_Verbrauch CUL_EM 7 0.01 0.001 0.22 8.99
attr K_WM_Verbrauch room Keller
define FileLog_K_WM_Verbrauch FileLog C:/fhem/tmp/Waschmaschine-%Y-
%m.log K_WM_Verbrauch:CNT.*
attr FileLog_K_WM_Verbrauch logtype power8:Power,text
attr FileLog_K_WM_Verbrauch icon icoLog.png
attr FileLog_K_WM_Verbrauch room Keller
define W_K_WM_Verbrauch weblink fileplot
FileLog_K_WM_Verbrauch:power8:CURRENT
attr W_K_WM_Verbrauch label "Verbrauch Waschmaschine Min $data{min1},
Max $data{max1}, Last $data{currval1}"
attr W_K_WM_Verbrauch room Keller
Das Logfile sieht dann so aus:
.
.
2012-03-19_14:37:18 K_WM_Verbrauch CNT: 25 CUM: 0.195 5MIN: 0.080
TOP: 0.310
2012-03-19_14:42:18 K_WM_Verbrauch CNT: 26 CUM: 0.202 5MIN: 0.080
TOP: 0.340
2012-03-19_14:47:18 K_WM_Verbrauch CNT: 27 CUM: 0.209 5MIN: 0.080
TOP: 0.350
2012-03-19_14:52:18 K_WM_Verbrauch CNT: 28 CUM: 0.216 5MIN: 0.080
TOP: 0.320
2012-03-19_14:57:18 K_WM_Verbrauch CNT: 29 CUM: 0.223 5MIN: 0.090
TOP: 0.300
2012-03-19_15:02:18 K_WM_Verbrauch CNT: 30 CUM: 0.231 5MIN: 0.090
TOP: 0.300
.
.
So weit, so gut. Ich bin erstmal zufrieden.
Nun habe ich mir einen Dummy erstellt:
define Waschmaschine FS20 1212 50
attr Waschmaschine dummy
attr Waschmaschine eventMap on:Laeuft off:Fertig
attr Waschmaschine room Keller
Der Dummy soll später mal durch eine richtige Funksteckdose ersetzt
werden.
Wie kann ich es nun anstellen, dass wenn im Logfile des EM 1000-EM bei
5MIN: der Wert 0.000 (also ....5MIN: 0.000......) steht, der Dummy
ausgeschaltet wird?
Mein Lösungsansatz war bis jetzt:
define WM_Aus notify K_WM_Verbrauch (if (?) fhem ("set Waschmaschine
off"))
Ist das soweit richtig?
Wenn ja, was muss ich bei dem Fragezeichen noch eintragen?
Wenn nein, wie sollte es dann aussehen?
Ich hoffe ihr könnt mir weiter helfen.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
> Mein Lösungsansatz war bis jetzt:
> define WM_Aus notify K_WM_Verbrauch (if (?) fhem ("set Waschmaschine
> off"))
Mein Vorschlag:
define WM_State dummy
attr WM_State comment Status, abgeleitet aus dem Stromverbrauch
define WM_Aus notify K_WM_Verbrauch:5MIN {\
if(%EVTPART6 == 0) {\
fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")\
} else {\
fhem "setstate WM_State on"\
}\
}
Habs nicht getestet...
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Hab es so ausprobiert aber es tut sich nichts. Der Status des Dummys
Waschmaschine und auch der des WM_State bleiben unverändert wenn der
Wert von 5MIN: auf 0.000 ist.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Was mir beim schlafen noch eingefallen ist, ich lasse alle Logfiles
auch in eine MySQL Datenbank schreiben. Vielleicht kann man damit ja
was anfangen oder es ist leichter oder so.
Ich hoffe, dass mir noch jemand eine erfolgreiche Lösung bringen kann.
Bin dann mal wieder im Bett.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Habe noch immer keine Lösung gefunden. Leider habe ich auch momentan
nichtmal den Hauch einer Idee. Keiner da der helfen kann?
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
On Tue, Mar 20, 2012 at 08:31:00PM -0700, kleene1503 wrote:
> Habe noch immer keine Lösung gefunden. Leider habe ich auch momentan
> nichtmal den Hauch einer Idee. Keiner da der helfen kann?
Ich habe Fehler in meinem notify gehabt, der Hinweis: "habs nicht getestet" war
so zu verstehen, dass ich die generelle Idee gegeben habe, aber diese Idee wie
auf http://fhem.de/commandref.html#perl beschrieben, Schritt fuer Schritt
getestet / gedebugged werden sollte -> ich erwarte ein bisschen Mitwirkung.
Naechster Versuch:
define WM_State dummy
define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* {\
if(%EVTPART5 == 0) {\
fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")\
} else {\
fhem "setstate WM_State on"\
}\
}
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Wenn ich das so nehme wie es ist und in FHEM in das Textfeld einfüge,
bekomme ich keinen Fehler angezeigt. Auch wenn ich es über das WEB-
Interface in die Config eintrage, bekomme ich keinen Fehler angezeigt.
Funktionieren tut es aber nicht.
Ich werde mich später mal bei dem link einlesen den du mir gegeben
hast. Vielleicht bin ich ja dann etwas hilfreicher.
Zwei Frage noch für mich zum Verständnis.
Für was steht das: (%EVTPART5 == 0) bei if(%EVTPART5 == 0)?
Für was steht das: CNT.*5MIN.* bei K_WM_Verbrauch:CNT.*5MIN.*? Also
ich weis das das in meinem Logfile steht aber was bewirkt die Angabe
in diesem Fall?
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Ich bin mir nicht sicher, ob ich das mit dem Debugen richtig
verstanden habe. Ich setze den Befehl im FHEM Web zwischen { } und
versuche dann die Fehler zu beseitigen?
Ich habe die Zeilen von dir jetzt mal auf eine Zeile gebracht und dann
im FHEM WEB ausgeführt:
{define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* { if(%EVTPART5 == 0)
{fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")}
else {fhem "setstate WM_State on"}} }
Nach ein paar Syntaxfehlern die ich behoben habe, bekomme ich jetzt
noch folgendes angezeigt:
syntax error at (eval 282) line 1, near "notify K_WM_Verbrauch:"
Global symbol "%EVTPART5" requires explicit package name at (eval 282)
line 1.
Bin ich den so auf dem richtigen Weg?
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Hi,
Am Donnerstag, 22. März 2012 01:43:58 UTC+1 schrieb kleene1503:
>
>
> {define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* { if(%EVTPART5 == 0)
> {fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")}
> else {fhem "setstate WM_State on"}} }
>
> Bin ich den so auf dem richtigen Weg?
>
Nein :)
define...notify ist ein fhem-Befehl. Durch die geschweiften Klammern
deklarierst Du Deine Eingabe aber als fperl-Kommando.
Drei Möglichkeiten:
define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* { if(%EVTPART5 == 0)
{fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")}
else {fhem "setstate WM_State on"}}
Oder
{fhem "define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* { if(%EVTPART5 == 0)
{fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")}
else {fhem "setstate WM_State on"}} "}
Zum Testen könntest Du dann das Eintreffen eines entsprechenden
Funktelegramms mit trigger vortäaschen:
trigger K_WM_Verbrauch CNT... (aus dem Log kopiert)
Das sollte aber nicht nötig sein, da der Sensor ja lle Nase lang
Funktelegramme sendet.
Ich hab mal den Teil
{if(%EVTPART5 == 0)
{fhem "set Waschmaschine,WM_State off" if(Value("WM_State") eq "on")}
else {fhem "setstate WM_State on"}}
in Notepad geprüft - Klammern sind scheinbar alle richtig gesetzt.
Ab und an hatte ich auch Probleme mit notifies, die immer wieder
Syntax-Fehler produzierten, selbst wenn ich sie reduziert habe zu
define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* { }
(in so nem Fall müsste man eigentlich mal ein verbose5-log produzieren...)
Zwei Wege zur Lösung:
1. das derzeitige define einmal löschen, shutdown restart, define wieder
anlegen
2. Falls fhem auch dann noch widerspenstig bleibt, den code nach zB
99_myUtils auslagern und das notify reduzieren auf sowas wie
define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* {
doK_WM_Verbrauch("%EVTPART5") }
Vll hilft's ja.
Gruß, Uli
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Irgendwie bin ich zu blöd dafür. Ich krieg das nicht auf die Reihe.
Eine andere Möglichkeit die mir eingefallen ist:
Gibt es eine Möglichkeit, FHEM zu sagen
überprüfe die letzte Zeile des EM 1000-EM Logfiles (siehe 1. Post) und
wenn die 8. Stelle den wert o.ooo hat, schalte den Dummy
"Waschmaschine" aus.
Vielleicht komme ich so ja weiter.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Yes, yes, yes...
Es funktioniert!!! Folgendes hat geklappt:
define WM_Aus notify K_WM_Verbrauch:CNT.*5MIN.* { if (%EVTPART5 == 0)
{ fhem "set Waschmaschine off" } else { fhem "set Waschmaschine
on" } }
Wenn jetzt der aktuelle Stromverbrauch (5MIN:) gleich null ist, wird
mein Dummy ausgeschaltet. Wenn Strom verbraucht wird, wird der Dummy
eingeschaltet.
Vorbei ist die Zeit in der ich immer in den Keller gehen musste, um zu
sehen, ob die Waschmaschine fertig ist :-)
Danke an Rudolf Koenig und UliM für eure Unterstützung.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Ich habe versucht dieses Beispiel zu übernehmen. Bei mit funzt das
leider nicht.
Was ist falsch an meinem Beispiel?
define Kaffeemaschine notify Strommessung:CNT.*5MIN.* { if (%EVTPART5
== 0) { fhem "set Lampe1 off" } else { fhem "set Lampe1 on}}
Hier die Einträge aus dem Notify:
DEF Strommessung:CNT.*5MIN.* { if (%EVTPART5 == 0) { fhem "set Lampe1
off" } else { fhem "set Lampe1 on}}
NAME Kaffeemaschine
NR 243
NTFY_ORDER 50-Kaffeemaschine
REGEXP Strommessung:CNT.*5MIN.*
STATE active
TYPE notify
Hier die letzten Einträge der LOG Datei:
012-03-26 21:03:36 CUL_EM Strommessung CNT: 195 CUM: 9.967 5MIN: 0.190
TOP: 1.290
2012-03-26 21:03:36 CUL_EM Strommessung tsecs: 1332788616
2012-03-26 21:03:36 CUL_EM Strommessung seqno: 195
2012-03-26 21:03:36 CUL_EM Strommessung peak: 1.29
2012-03-26 21:03:36 CUL_EM Strommessung total: 9.967
2012-03-26 21:03:36 CUL_EM Strommessung current_cnt: 19
2012-03-26 21:03:36 CUL_EM Strommessung current: 0.19
2012-03-26 21:03:36 CUL_EM Strommessung total_cnt: 9967
2012-03-26 21:03:36 CUL_EM Strommessung peak_cnt: 129
2012-03-26 21:03:36 CUL_EM Strommessung RAW: CNT: 195 CUM: 9967 5MIN:
19 TOP: 129
Gruß Klaus
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
> 012-03-26 21:03:36 CUL_EM Strommessung CNT: 195 CUM: 9.967 5MIN: 0.190
> TOP: 1.290
> 2012-03-26 21:03:36 CUL_EM Strommessung tsecs: 1332788616
> 2012-03-26 21:03:36 CUL_EM Strommessung seqno: 195
> 2012-03-26 21:03:36 CUL_EM Strommessung peak: 1.29
> 2012-03-26 21:03:36 CUL_EM Strommessung total: 9.967
> 2012-03-26 21:03:36 CUL_EM Strommessung current_cnt: 19
> 2012-03-26 21:03:36 CUL_EM Strommessung current: 0.19
> 2012-03-26 21:03:36 CUL_EM Strommessung total_cnt: 9967
> 2012-03-26 21:03:36 CUL_EM Strommessung peak_cnt: 129
> 2012-03-26 21:03:36 CUL_EM Strommessung RAW: CNT: 195 CUM: 9967 5MIN:
> 19 TOP: 129
Ist das das Logfile von deinem EM 1000-EM? Wenn ja, würde ich sagen,
dass damit was nicht stimmt. Meine sehen anderst aus (siehe 1. Post).
Weis aber nicht ob es damit was zu tun haben kann.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
>
> Ist das das Logfile von deinem EM 1000-EM? Wenn ja, würde ich sagen,
> dass damit was nicht stimmt. Meine sehen anderst aus (siehe 1. Post).
> Weis aber nicht ob es damit was zu tun haben kann.
Nur die Position 1 ist der originale Auszug aus dem Logfile meines EM
1000-EM.
Der Rest wurde mit dem Event Monitor aufgenommen. Sorry ;-)
Gruß Klaus
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Auch der sieht anders aus.
- Der Unterstrich zwischen Datum und Uhrzeit
- Bei mir steht nicht dabei, dass es CUL_EM ist sondern nur der
zugewiesene Name
Wie gesagt, ist nur eine Vermutung. Ich weis nicht ob es damit was zu
tun hat. Vielleicht meldet sich ja jemand der sich besser auskennt als
ich.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Habe meinen Notify aus der FHEM.cfg gelöscht und den veröffentlichten
nochmals kopiert und angepasst.
Jetzt funktioniert er. Wo warum jetzt, keine Ahnung.
Hatte beide Zeilen Punkt für Punkt, Komma für Komma verglichen. Einen
Unterschied konnte ich nicht feststellen.
Gruß Klaus
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
On 28 Mrz., 20:11, B50one wrote:
> Habe meinen Notify aus der FHEM.cfg gelöscht und den veröffentlichten
> nochmals kopiert und angepasst.
>
> Jetzt funktioniert er. Wo warum jetzt, keine Ahnung.
>
> Hatte beide Zeilen Punkt für Punkt, Komma für Komma verglichen. Einen
> Unterschied konnte ich nicht feststellen.
>
> Gruß Klaus
Einen Unterschied habe ich auf Abhieb gesehen. Zwischen den letzten
beiden geschweiften Klammern habe ich noch ein Leerzeichen was bei dir
nicht der Fall war.
Ich kann mir aber beim besten Willen nicht vorstellen, das es daran
gelegen haben soll.
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Script funktioniert super, ich nutze es für die PV und sehe, wann
eingespeist wird bzw. kann damit Verbraucher ein- bzw. ausschalten.
Meine eigentliche Frage: kann man den Abfrageintervall von 5min auf 30min
oder so hochsetzen?
Hintergrund : ich will den Funkverkehr einfach niedrig halten. Momentan
wird jetzt auch in der Nacht alle 5min ein "off-befehl" gesendet.
Gruss
Stephan
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com