Hi,
nachdem ich festgestellt habe, dass 4.1 schon keine Dummies kann, muss
ich wohl endlich upgraden. Da aber meine FHEM sonst zufriedenstellend
läuft ... (never touch a running system), trau oich mich nicht so
richtig.
Ich wollte eine Funktion einrichten, die mir neben dem Einschalten des
Flurlichts (licht.eg.flur) eine bestimmte Rollade (roll.eg.wz.t)
hochfährt, wenn nach 6:00 jemand in den Flur tritt (Piri
bm.eg.flur.k1) und es noch nicht Tag ist (isday). Ich dachte an sowas,
wobei ich die Uhrzeitverknüpfung noch nicht rausgefunden hab:
define MORGENS.PIRI.ROLL dummy
define at.MORGENS.PIRI.ROLL *at 00.01.01 set MORGENS.PIRI.ROLL 0
define bm.eg.flur.k1.n1 notify bm.eg.flur.k2:on-.* set licht.eg.flur
on-for-timer 192;; { fhem("set roll.eg.wz.t on-for-timer 72";; set
MORGENS.PIRI.ROLL 1) if(isday() == 0 && MORGENS.PIRI.ROLL == 0) }
Oder bekomme ich das auch noch mit 4.1 ohne Dummz hin?
LG,
Jürgen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> [...]
> hochfährt, wenn nach 6:00 jemand in den Flur tritt (Piri
> [...]
Korrektur:
... hochfährt, wenn nach 6:00 das erste Mal jemand in den Flur
tritt ...
Dafür muss ich mir dann einen Merker setzen, dass beim nächsten Mal
das nicht nochmal ausgeführt wird. Den setze ich dann mit einem at um
00:01:01 wieder zurück.
Bzgl. der Einschätzung auf die Fallen beim Wechsel auf 4.4 ist
bestimmt meine Konfiguration sinnvoll einzusehen: http://www.lennefer.de/.fhem
Danke für eure Vorschläge.
LG,
Jürgen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> Oder bekomme ich das auch noch mit 4.1 ohne Dummz hin?
Ich glaube schon.
define bm.eg.flur.k1.n1 notify bm.eg.flur.k2:on.* {\
fhem("set licht.eg.flur on-for-timer 192");;\
if(!isday() && $hour > 6 && $value{"roll.eg.wz.t"} !~ m/on/) {\
fhem("set roll.eg.wz.t on-for-timer 72");;\
}\
}
Diese Loesung geht davon aus, dass die Rolladen via FS20
heruntergefahren wurden (d.h. fhem kennt den Zustand). Notfalls kann
man das aber auch erzwingen mit einem "at" spaet am Abend. Fuer 4.1
muss man alle "\" entfernen und alles auf eine Zeile schreiben.
Gruss,
Rudi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> Bzgl. der Einschätzung auf die Fallen beim Wechsel auf 4.4 ist
> bestimmt meine Konfiguration sinnvoll einzusehen:http://www.lennefer.de/.fhem
Wow.
Mit 4.4 kann man das Ganze etwas kuerzer fassen, z.Bsp:
attr roll.eg.* room Erdgeschoss
Achtung beim Verwendung vom builtin sleep: fhem ist nicht
multithreaded, d.h. fhem ist blockiert waehrend sleep. Ich empfehle
diese Funktion in einem shellskript auszulagern, das wird immer im
Hintergrund gestartet. Z.Bsp. statt
define at81.roll.kg.az at *22:10:00 set roll.kg.az off;; sleep 90;;
set roll.kg.az off
lieber
define at81.roll.kg.az at *22:10:00 "fhemdouble.sh 90 roll.kg.az off"
und fhemdouble.sh schaut so aus:
#!/bin/sh
sl=$1
shift
perl fhem.pl 7072 "$*"
sleep $sl
perl fhem.pl 7072 "$*"
Gruss,
Rudi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Am Samstag, 13. Dezember 2008 schrieb Rudolf Koenig:
> > Bzgl. der Einschätzung auf die Fallen beim Wechsel auf 4.4 ist
> > bestimmt meine Konfiguration sinnvoll
> > einzusehen:http://www.lennefer.de/.fhem
>
> Wow.
dem kann ich mich anschliessen... der aufbau gefiel mir auch gut.. zumal
meiner so ähnlich ist.. :-)
> Mit 4.4 kann man das Ganze etwas kuerzer fassen, z.Bsp:
>
> attr roll.eg.* room Erdgeschoss
das war mir neu, bzw. habe ich das wohl auch noch nie bedacht.. konnte gleich
mal ein paar zeilen reduzieren..
dabei kam mir die idee:
häufig verwendet man ja im namen einen prefix oder postfix, bzw. kürzel für
die etage..
@rudi:
was hälst du davon, wenn du uns noch ein neues attribut spendierst, so als
pondon zu room
Attributes used by all devices:
* comment
Add an arbitrary comment.
* room
Filter/group devices. Recognized by web-pgm2 and web-pgm3. Devices in the
room hidden will not appear in the web output.
* place
Filter/group devices.
und vielleicht noch ein frei verwendenbares, ala:
* misc
Filter/group devices.
gruß martin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Hi Rudi,
> Wow.
Naja, soviel ist es auch wieder nicht.
> Mit 4.4 kann man das Ganze etwas kuerzer fassen, z.Bsp:
> attr roll.eg.* room Erdgeschoss
Schön, dafür muss ich aber erstmal umstellen. Und ob mein altes
SuSE 9.3 auf dem Server das noch abkann (perl, v5.8.6)?
> Achtung beim Verwendung vom builtin sleep: fhem ist nicht
> multithreaded, d.h. fhem ist blockiert waehrend sleep.
Ist mir bekannt, ... und noch ein offener Änderungspunkt.
> Ich empfehle
> diese Funktion in einem shellskript auszulagern, das wird immer im
> Hintergrund gestartet.
Danke für den Lösungsansatz, werd' ich wohl so machen.
Grüße,
Jürgen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> > Achtung beim Verwendung vom builtin sleep: fhem ist nicht
> > multithreaded, d.h. fhem ist blockiert waehrend sleep.
>
> Ist mir bekannt, ... und noch ein offener Änderungspunkt.
>
> > Ich empfehle
> > diese Funktion in einem shellskript auszulagern, das wird immer im
> > Hintergrund gestartet.
Aber nicht bei sowas, denke ich:
define S20.1.01.n2 notify S20.1.01:dimdown set roll.eg.sz.AB off;;
sleep 5
Die Dimm-Funktion der Sender hat den Nachteil, dass sie viele Befehle
hintereinander abschicken. Ich will aber nur den ersten auswerten,
deshalb die 5 Sekunden Zwangsempfangspause dahinter.
Würdet ihr das anders machen?
Grüße,
Jürgen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Originally posted by: <email address deleted>
Hi,
Juergen Lennefer:
> Die Dimm-Funktion der Sender hat den Nachteil, dass sie viele Befehle
> hintereinander abschicken. Ich will aber nur den ersten auswerten,
> deshalb die 5 Sekunden Zwangsempfangspause dahinter.
> Würdet ihr das anders machen?
>
Ja, auf jeden Fall.
Ich würde eine Variable namens "ignore-the-damn-dimmer" setzen, nix tun
wenn die gesetzt ist, und einen at-Befehl absetzen, der die Variable
nach fünf Sekunden wieder entfernt.
Oder, noch besser: wenn die Variable schoon gesetzt ist, den at-Befehl
löschen (er muss ja per Definition existieren) und neu aufsetzen.
Das Intervall kann man dann von fünf auf eine Sekunde reduzieren.
--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | smurf@smurf.noris.de
Disclaimer: Das Zitat wurde zufällig ausgewählt. | http://smurf.noris.de
- -
Geschwindigkeitsmesser:
Tötungsinstrument bei jap. Killern
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> Würdet ihr das anders machen?
In solchen Faellen wuerde ich die Aktion nur dann ausfuehren, falls es
noch nicht geschehen ist. Bei FS20 geht das meist einfach, indem man
$value prueft. In deinem Fall also
define S20.1.01.n2 notify S20.1.01:dimdown { fhem("set roll.eg.sz.AB
off") if($value{"roll.eg.sz.AB"} ne "off"); }
> was hälst du davon, wenn du uns noch ein neues attribut spendierst, so als pondon zu room
Was spricht gegen userattr? Wenn das auch noch andere gut finden, dann
mache ich die trotzdem rein, aber vorher braeuchte ich eine Erklaerung
wozu place und misc gut sein sollen. Pondon braucht room meiner
Ansicht nach nicht unbedingt :-)
> Und ob mein altes SuSE 9.3 auf dem Server das noch abkann (perl, v5.8.6)?
Klaro, ich verwende noch teilweise 5.8.3 :-)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Am Samstag, 13. Dezember 2008 schrieb Rudolf Koenig:
> Mit 4.4 kann man das Ganze etwas kuerzer fassen, z.Bsp:
>
> attr roll.eg.* room Erdgeschoss
ich habe nach dem schema heute mal meine conf angepasst... dabei habe ich z.b.
folgende zeile:
set EG.*.HZ report1 255 report2 255
es gibt EG.ba.HZ EG.bu.HZ EG.sz.HZ usw.
wenn ich den befehl nur absetze kommt folgende meldung:
No set implemented for EG.xx.HZ.log
No set implemented for at.11.EG.wz.HZ
ich dachte der * dient nur als platzhalter zwischen EG und HZ.. wieso reagiert
dann EG.xx.HZ.log und at.11.EG.wz.HZ?
ist das so gewollt?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Hallo Rudi,
> In solchen Faellen wuerde ich die Aktion nur dann ausfuehren, falls es
> noch nicht geschehen ist. Bei FS20 geht das meist einfach, indem man
> $value prueft. In deinem Fall also
> define S20.1.01.n2 notify S20.1.01:dimdown { fhem("set roll.eg.sz.AB
> off") if($value{"roll.eg.sz.AB"} ne "off"); }
Hmm, leider habe ich nicht immer einen einduetigen Status der Devices,
zum einen, weil manche Befehle nicht ankommen (deswegen die
Doppelbefehle in den Schedules), zum anderen, weil ich für die
Rolladen meist "on-for-timer" verwende. Und dann steht der $value
immer auf "on-for-timer xx", nicht auf off. Bei den Eintasten-Befehlen
muss ich sogar mit "toggle" arbeiten, da ist der Status auch
unbekannt.
Bei dem Beispiel z.B. (ich habe bei der selbstgebauten
Rolladensteuerung ja 2 Kanäle pro Rollade) sieht das aktuelle so aus:
FHZ> { $value{"roll.eg.sz.AB"}}
on-for-timer 72
FHZ> { $value{"roll.eg.sz.AUF"}}
on-for-timer 72
Die Rollade ist aber oben, wie bekomme ich das raus?
> > Und ob mein altes SuSE 9.3 auf dem Server das noch abkann (perl, v5.8.6)?
>
> Klaro, ich verwende noch teilweise 5.8.3 :-)
Dann werde ich wohl mal einen Versuch wagen, mit 4,4 ...
@Matthias
> Ich würde eine Variable namens "ignore-the-damn-dimmer" setzen, nix tun
> wenn die gesetzt ist, und einen at-Befehl absetzen, der die Variable
> nach fünf Sekunden wieder entfernt.
>
> Oder, noch besser: wenn die Variable schoon gesetzt ist, den at-Befehl
> löschen (er muss ja per Definition existieren) und neu aufsetzen.
> Das Intervall kann man dann von fünf auf eine Sekunde reduzieren.
Hmm, verstehe ich nicht ganz. Also, der notify auf die Taste setzt die
Variable "ignore-the-damn-dimmer", wenn sie noch nicht gesetzt ist,
führt das die gewünschte Funktion aus und definiert noch einen at, der
"ignore-the-damn-dimmer" 5 Sekunden später wieder löscht. Wenn ein
zweiter, dritter, ... notify auf diese Taste innerhalb der 5 Sekunden
eintrifft, wird er dann einfach ignoriert.
Da FHEM 4.1 noch keine dummies kann, muss ich für sowas wohl erst
upgraden ... :-(
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Am Freitag, 12. Dezember 2008 schrieb Juergen Lennefer:
> Bzgl. der Einschätzung auf die Fallen beim Wechsel auf 4.4 ist
> bestimmt meine Konfiguration sinnvoll einzusehen:
> http://www.lennefer.de/.fhem
was mir in diesem zusammenhang mit deinen device namen auffiel:
in der FAQ (http://www.koeniglich.de/fhem/faq.html) unter punkt 14 beschreibt
rudi einen workaround zu dem "lime-protection" problem bei den fht's:
define lime_reset notify .*lime-protection {\
$d = $defs{@}{READINGS}{"desired-temp"}{VAL};;\
$m = $defs{@}{READINGS}{"measured-temp"}{VAL};;\
if($m gt $d) {\
fhem("set @ desired-temp 29");;\
fhem("set @ desired-temp $d");;\
}\
}
da du (so wie ich auch) innerhalb device namen punkte verwendest, z.b.
EG.sz.HZ wird der notify fehler melden:
2008.12.14 14:01:05 3: Bareword "EG" not allowed while "strict subs" in use at
(eval 109) line 1.
Bareword "sz" not allowed while "strict subs" in use at (eval 109) line 1.
Bareword "HZ" not allowed while "strict subs" in use at (eval 109) line 1.
Bareword "EG" not allowed while "strict subs" in use at (eval 109) line 1.
Bareword "sz" not allowed while "strict subs" in use at (eval 109) line 1.
Bareword "HZ" not allowed while "strict subs" in use at (eval 109) line 1.
um das zu korrigieren müssen die $defs{@} korrekterweise $defs{'@'} lauten.
@rudi: kannst du das bestätigen? bei mir läufts damit.
gruß martin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Am Samstag, 13. Dezember 2008 schrieb Martin Fischer:
> Am Samstag, 13. Dezember 2008 schrieb Rudolf Koenig:
> > Mit 4.4 kann man das Ganze etwas kuerzer fassen, z.Bsp:
> >
> > attr roll.eg.* room Erdgeschoss
>
> ich habe nach dem schema heute mal meine conf angepasst... dabei habe ich
> z.b. folgende zeile:
>
> set EG.*.HZ report1 255 report2 255
>
> es gibt EG.ba.HZ EG.bu.HZ EG.sz.HZ usw.
>
> wenn ich den befehl nur absetze kommt folgende meldung:
> No set implemented for EG.xx.HZ.log
> No set implemented for at.11.EG.wz.HZ
>
> ich dachte der * dient nur als platzhalter zwischen EG und HZ.. wieso
> reagiert dann EG.xx.HZ.log und at.11.EG.wz.HZ?
>
> ist das so gewollt?
die frage ist noch offen, aber aus meiner sicht wichtig für das verständnis
des "*". bei falscher interpretation könnte es unangenehme nebenwirkungen
haben. siehe oben.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> > ist das so gewollt?
Ja. Das ist ein regexp (ohne automatisch hinzugefuegte Anfang und
Ende), und kein Shell glob.
D.h. du solltest
set ^EG.*HZ$ refreshvalues
verwenden.
> um das zu korrigieren müssen die $defs{@} korrekterweise $defs{'@'} lauten.
> @rudi: kannst du das bestätigen? bei mir läufts damit.
Ja. Wer . oder : im Namen hat, muss diese im Perl code durch
Anfuehrungszeichen schuetzen. Die anderen brauchen das nicht.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Am Montag, 15. Dezember 2008 schrieb Rudolf Koenig:
> > > ist das so gewollt?
>
> Ja. Das ist ein regexp (ohne automatisch hinzugefuegte Anfang und
> Ende), und kein Shell glob.
> D.h. du solltest
> set ^EG.*HZ$ refreshvalues
> verwenden.
>
> > um das zu korrigieren müssen die $defs{@} korrekterweise $defs{'@'}
> > lauten. @rudi: kannst du das bestätigen? bei mir läufts damit.
>
> Ja. Wer . oder : im Namen hat, muss diese im Perl code durch
> Anfuehrungszeichen schuetzen. Die anderen brauchen das nicht.
danke..
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
> Bei dem Beispiel z.B. (ich habe bei der selbstgebauten
> Rolladensteuerung ja 2 Kanäle pro Rollade) sieht das aktuelle so aus:
> FHZ> { $value{"roll.eg.sz.AB"}}
> on-for-timer 72
> FHZ> { $value{"roll.eg.sz.AUF"}}
> on-for-timer 72
>
> Die Rollade ist aber oben, wie bekomme ich das raus?
Indem man die Zeitpunkte der beiden events vergleicht:
{
if($defs{"roll.eg.sz.AB"}{READINGS}{state}{TIME} gt
$defs{"roll.eg.sz.AUF"}{READINGS}{state}{TIME}) {
Log 1, "roll.eg.sz ist AB"
}
}
> Da FHEM 4.1 noch keine dummies kann, muss ich für sowas wohl erst
> upgraden ... :-(
Upgrade ist immer gut, aber ich meine es reicht FHEM/98_dummy.pm zu
uebernehmen.
Gruss,
Rudi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-