Hauptmenü

neues Modul DOIF

Begonnen von Damian, 21 Mai 2014, 15:53:18

Vorheriges Thema - Nächstes Thema

frado1

Hallo Damian,

ZitatIch werde es korrigieren, dann brauchst du nichts zu ändern.

Super, danke für die schnelle Antwort.

Viele Grüße
   Franz

Damian

#436
Zitat von: frado1 am 31 August 2014, 15:24:07
Hallo Damian,

Super, danke für die schnelle Antwort.

Viele Grüße
   Franz

Problem gelöst. Neue Version ab morgen per Update verfügbar.

Es muss allerdings heißen:

([{sunset("HORIZON=-3",0,"17:00","21:00")}-{sunrise_abs()}]) (set Tageslicht dunkel) DOELSE (set Tageslicht hell)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Die Dokumentation des Moduls wurde überarbeitet, siehe: http://fhem.de/commandref_DE.html#DOIF

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

satprofi

#438
Hallo.
Kurze Frage zu ausführen von fhem befehlen. Mailversand über notify klappt, wenn ich selbigen Befehl über DOIF ausführe kommt die mail nicht an.
cdm wird aber ausgeführt. Was ist zu beachten?

[edit]
gelöst.
bei DOIF nur 1x @ , jetzt klappts.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

tagedieb

#439
Hallo
wenn ich die Anleitung richtig interpretiert habe, müsste nachfolgendes DOIF das Ladegerät ein- und auch wieder einschalten?
([FBDECT_22] eq "off") (set FBDECT_22 off) DOELSEIF ([SamsungS2plus:powerLevel]>99) (set FBDECT_22 off) DOELSEIF ([FBDECT_22] eq "on" and [SamsungS2plus:powerLevel]<9) (set FBDECT_22 on)
die ganze "Geschichte" funktioniert jedoch nur, wenn ich ich dieses DOIF ([FBDECT_22] eq "off") (set FBDECT_22 off) DOELSEIF ([SamsungS2plus:powerLevel]<9) (set FBDECT_22 on) DOELSEIF ([FBDECT_22] eq "off" and [SamsungS2plus:powerLevel]>99) (set FBDECT_22 off)
auch aktualisiere   :-\

habe ich da etwas falsch interpretiert?
(wurden nach DOIF Update neu erstellt)

Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Damian

Zitat von: tagedieb am 02 September 2014, 19:45:37
([FBDECT_22] eq "off") (set FBDECT_22 off)


Etwas auf "off" zu schalten, wenn es "off" war, macht irgendwie keinen Sinn.

Unabhängig davon bildest du damit eine Rekursion, weil du durch das Setzen von FBDECT_22 wieder ein Event auslöst, welches du abfragst.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

tagedieb

Guten morgen Damian

Danke für deine Antwort
also heisst das "eq" nicht: "wenn es NICHT an ist" sondern: "wenn es an ist"  ? habe ich das jetzt richtig verstanden?

dann sollte das ja reichen?
([SamsungS2plus:powerLevel]>99) (set FBDECT_22 off) DOELSEIF ([SamsungS2plus:powerLevel]<9) (set FBDECT_22 on)

Gruss Annette
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Brockmann

Zitat von: tagedieb am 03 September 2014, 07:11:34
Guten morgen Damian
Damian schläft noch.  ;)

Zitat von: tagedieb am 03 September 2014, 07:11:34
also heisst das "eq" nicht: "wenn es NICHT an ist" sondern: "wenn es an ist"  ? habe ich das jetzt richtig verstanden?
eq steht für "EQual", also auf deutsch "gleich". FBDECT_22 eq "off" bedeutet also "wenn der Status von FBDECT gleich off ist".
ne steht für "Not Equal", also auf deutsch "nicht gleich". FBDECT_22 ne "off" bedeutet also "wenn der Status von FBDECT irgendetwas anderes als off ist".

Zitat von: tagedieb am 03 September 2014, 07:11:34
dann sollte das ja reichen?
([SamsungS2plus:powerLevel]>99) (set FBDECT_22 off) DOELSEIF ([SamsungS2plus:powerLevel]<9) (set FBDECT_22 on)
Das kommt darauf an, was Du damit erreichen willst. Ich nehme an, Du wilst eine Steckdose mit dem Ladegerät für das Samsung ein und ausschalten, so dass das Samsung bei Bedarf geladen wird? Dann sollte das reichen.

Es sei an dieser Stelle aber der Hinweis erlaubt, dass ein voll laden auf 100% für die Lebendauer des Akkus suboptimal ist. Idealerweise sollte ein moderne Lion-Akku zwischen 10% und 80% Ladung betrieben werden. Jedes Extrem, also voll laden auf 100% oder auch vollständige Entladung verkürzen die Lebensdauer des Akkus. Das aber nur nebenbei, hat ja mit DOIF nicht wirklich was zu tun.  :)

tagedieb

Guten morgen Brockmann

Damian schläft noch.  ;)
dann sind wir mal gaaanz leise  ;)

Danke für die tollen Erklärungen - das macht nicht nur mir einiges leichter, sondern auch der FHEM.cfg  :-[
und auch mit dem Sinn meines Doifs liegst du richtig -
da werde ich mal die Sollwerte ändern, denn die leistung das Akku`s muss man ja nicht mutwillig herabsetzten 

Ich wünsche allen einen schönen tag
Gruss Annette

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

juppzupp

Guten Morgen,

eine Frage zum DOIF.
In der Beschreibung steht "Ein wichtiges Unterscheidungsmerkmal von DOIF zu notify oder at ist die Zustandsverwaltung. Im Modul wird das zuletzt ausgeführt Kommando festgehalten und ein wiederholtes Ausführen desselben Kommandos unterbunden."

Wenn ich nun folgenden notify durch DOIF ersetzen würde
.*:[Bb]attery.* { if("%" !~ m/ok/) {DebianMail('jupp@@zupp.net','FHEM Batteriewarnung','@ %')} }

frage ich mich wie die Zustandsverwaltung funktioniert. Würde die pro Device oder "nur" pro DOIF stattfinden ?

Folgendes Szenario :
Sensor 1 meldet "Battery low" -> email wird geschickt
Sensor 1 meldet "Battery low" -> email wird nicht mehr geschickt, da keine Zustandsänderung
Sensor 2 meldet "Battery low" -> email wird ?


Danke !



Brockmann

Zitat von: juppzupp am 03 September 2014, 10:16:53
Wenn ich nun folgenden notify durch DOIF ersetzen würde
.*:[Bb]attery.* { if("%" !~ m/ok/) {DebianMail('jupp@@zupp.net','FHEM Batteriewarnung','@ %')} }

frage ich mich wie die Zustandsverwaltung funktioniert. Würde die pro Device oder "nur" pro DOIF stattfinden ?

Folgendes Szenario :
Sensor 1 meldet "Battery low" -> email wird geschickt
Sensor 1 meldet "Battery low" -> email wird nicht mehr geschickt, da keine Zustandsänderung
Sensor 2 meldet "Battery low" -> email wird ?

Ich denke, für diesen Zweck solltest Du es lieber beim notify belassen. Bei DOIF kannst Du keine universelle RegEx verwenden, sondern müsstest die Bedingung an konkrete Geräte und Readings knüpfen. Also beispielsweise
define DI_Battery DOIF ([Sensor1:Battery] eq "low")(send mail) DOELSEIF ([Sensor2:Battery] eq "low")(send mail) DOELSEIF ([Sensor3:Battery] eq "low")(send mail)... usw.


Da scheint mir ein notify universeller zu sein.

Damian

Zitat von: tagedieb am 03 September 2014, 08:01:37
Damian schläft noch.  ;)
dann sind wir mal gaaanz leise  ;)
Das braucht ihr nicht. Ich habe zwar geschlafen, aber in Vollnarkose!
Nun bin ich wieder wach und lebe noch  :)
Gruß
Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Brockmann

Zitat von: Damian am 03 September 2014, 16:23:38
Das braucht ihr nicht. Ich habe zwar geschlafen, aber in Vollnarkose!
Nun bin ich wieder wach und lebe noch  :)
Dann wünsche ich gute Erholung und schnelle Genesung!

tagedieb

na dann....
schone dich aber auch!!!
Gute Genesung
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

bamm-bamm

Ich habe einen Raspberry mit PiFace. Über eins von den beiden Relais habe ich einen 5V Lüfter Laufen. Lässt sich über das PiFace Modul auch gut ein-ausschalten.
Die Temperatur lasse ich mit über
define Raspberry weblink htmlCode {ShowRpiValues()}
attr Raspberry room RPi
anzeigen. Meine Frage:
Kann ich über z.B. DOIF regeln, daß ab einer bestimmten CPU-Temperatur das Relais einschaltet (Piface 1 auf 1) und bei einer anderenm wieder ausschaltet (Piface 1 auf 0)?
Das Schalten des Relais würde ich wohl hinbekommen denke ich, aber wie (bzw. woher) kann ich die Temperatur auslesen und dann einbinden?

Würde mich über Tips freuen....