Slider als Stunden/Minuten/Sekunden Timer verwenden

Begonnen von jody, 04 September 2013, 13:57:50

Vorheriges Thema - Nächstes Thema

jody

Hallo Forenteam,

ich habe mir einen "Timer-Slider" gebastelt mit dem jedes Gerät geschalten werden kann. Mögliche einstellungen der Dauer sind Stunden, Minuten, und Sekunden (Jedoch sind Sekunden mit Vorsicht zu genießen, weil fhem eine gewisse Zeit benötigt um die Befehle abzuarbeiten).

Jedoch habe ich ein kleines Problem mit meinem Slider, das nachträgliche verstellen des Sliderwertes wird nicht angenommen, d.h. der Timer läuft bis zum bitteren Ende ab.

Mein Gedanke ist folgender, wir müssten die Timerfunktion dazu bringen, ständig den neuen Wert aus dem Reading des Sliders auszulesen. Leider bin ich als Anfänger nun am Ende meines Wissensstandes angekommen. Hoffentlich könnt ihr mir bei der Problemlösung etwas behilflich sein.

Vielen Dank!

Gruß Jody

Nun der Code:

#Slider

define Dimmer_Timer dummy
attr Dimmer_Timer alias Licht Kommode
attr Dimmer_Timer comment Licht Kommode in Minuten
attr Dimmer_Timer group Timer
attr Dimmer_Timer icon time_clock
attr Dimmer_Timer room Schlafzimmer
attr Dimmer_Timer setList state:slider,0,1,100
attr Dimmer_Timer webCmd state

#-------------------------------------------------------------

#Timerfunktion

define Dimmer_ein_on1 notify Dimmer_Timer:* {\
my $witt = ReadingsVal("Dimmer_Timer","state","on");;\
my $stat = ReadingsVal("Dimmer_ein","state","on");;\
my $der = $witt - 1;;\
if ($witt gt "1" && $stat eq "off") {\
fhem ("set Dimmer_ein on");;\
fhem ("define Warten at +00:00:15 set Dimmer_Timer $der")}\
elsif ($witt >= 1) {\
fhem ("define Warten2 at +00:00:14 set Dimmer_Timer $der");;\
fhem ("define WartenTrigger2 at +00:00:01 trigger Dimmer_Timer $der")}\
else {\
fhem ("set Dimmer_ein off");;\
fhem ("set Dimmer_Timer 0")}\
}

#-------------------------------------------------------------

#Schalter der das Licht an/aus Schaltet

define Dimmer_ein dummy
attr Dimmer_ein alias Licht Kommode
attr Dimmer_ein devStateIcon on:Schalter_on.png:off off:Schalter_off.png:on
attr Dimmer_ein group Schalter
attr Dimmer_ein icon light_light
attr Dimmer_ein room Schlafzimmer
Cubietruck
CUL SlowRF
CUL Homematic
ZWave

jody

Hallo Fhem User,

ich hab mir den Timer-Code nochmal angeschaut und etwas überarbeitet. Der Code sieht zwar aus wie Kraut und Rüben, aber er funktioniert jetzt.

Nun ist es möglich die eingestellte Zeit zu verändern und den Timer vorzeitig zu beenden.

Die Sekunden-Timer funktion klappt jetzt auch. Der Sliderwert wird im Raum sekündlich aktualisiert.

Viel Spaß damit.

Gruß jody

#Timerfunktion

define Dimmer_ein_on1 notify Dimmer_Timer:* {\
if (ReadingsVal("Dimmer_Timer","state","on") gt "1" && ReadingsVal("Dimmer_ein","state","on") eq "off") {\
fhem ("set Dimmer_ein on");;\
my $zeit1 = ReadingsVal("Dimmer_Timer","state","on");;\
fhem ("set Dimmer_Timer $zeit1");;\
fhem ("define Warten1 at +00:00:10 trigger Dimmer_Timer ")}\
elsif (ReadingsVal("Dimmer_Timer","state","on") gt "1") {\
my $zeit2 = ReadingsVal("Dimmer_Timer","state","on") - 1;;\
fhem ("set Dimmer_Timer $zeit2");;\
fhem ("define Warten2 at +*00:00:10 trigger Dimmer_Timer, delete Warten2")}\
else {\
fhem ("set Dimmer_ein off");;\
fhem ("set Dimmer_Timer 0");;\
fhem ("delete Warten2")}\
}


(http://forum.fhem.de/index.php?t=getfile&id=5541&rid=2218)
Cubietruck
CUL SlowRF
CUL Homematic
ZWave

jody

Hallo fhem'ler,

hier schon wieder der aufdringliche Mensch, der ständig selbst seine Foreneinträge beantwortet.

Ich hab nun nochmals den Code für die Timerfunktion bearbeitet, bzw. vereinfacht.

Der Timer arbeitet nun ausschließlich mit Variablen, ihr müsst lediglich in den ersten vier Zeilen euren Slider eingeben und evtl. so wie ich noch einen Schalter der die selbe Lampe schaltet.

define Dimmer_ein_on1 notify Dimmer_Timer:* {\
\
my $timerwert1 = ReadingsVal("Dimmer_Timer","state","on");;\
my $schalter = ReadingsVal("Dimmer_ein","state","on");;\
my $gerat1 = "Dimmer_ein";;\
my $gerat2 = "Dimmer_Timer";;\
\
if ("$timerwert1" gt "1" && "$schalter" eq "off") {\
fhem ("set $gerat1 on");;\
fhem ("set $gerat2 $timerwert1");;\
fhem ("define Warten1 at +00:00:01 trigger $gerat2 ")}\
elsif ("$timerwert1" gt "1") {\
my $timerwert2 = $timerwert1 - 1;;\
fhem ("set $gerat2 $timerwert2");;\
fhem ("define Warten2 at +*00:00:01 trigger $gerat2, delete Warten2")}\
else {\
fhem ("set $gerat1 off");;\
fhem ("set $gerat2 0");;\
fhem ("delete Warten2")}\
}


Gruß Jody
Cubietruck
CUL SlowRF
CUL Homematic
ZWave

exot

Hallo Jody,
Auf der Suche nach einem Timer für meine Gartenberegnung bin ich nach langem suchen auf Deinen Beitrag gestoßen.
Es ist eigentlich das, was ich vorhab.
Da Ventile geschaltet werden sollen benötige ich ja den Dimmer nicht. Für mich ist die EIN / AUS sowie  eine Timerfunktion ausreichend.
Habe jetzt mal versucht Deine Konfiguration nachzubauen.
Wie Du sehen kannst sieht die Oberfläche schon ganz gut aus.
Der Timer reagiert aber leider nicht. Weder mit Deinem 1. noch mit dem 2. Code.
Ich denke das liegt am Device-Namen. Dieser ist normal <  Regner1_O_A1 >.
Im Schalter steht aber <1 Regner1_O_A1 >. Mir ist unklar wie es dazu gekommen ist.
Deinen 3. Code habe ich noch nicht probiert.
Zitatihr müsst lediglich in den ersten vier Zeilen euren Slider eingeben und evtl. so wie ich noch einen Schalter der die selbe Lampe schaltet.
Wozu benötige ich noch einen Schalter und was muss ich als Slider eintragen.
Da ich noch ganz am Anfang mit Fhem bin bitte ich um Unterstützung.
Danke Michael

jody

Hallo Michael,

lass mal deinen code sehen, vllt fällt uns noch ne schönere Lösung ein. Mein Vorschlag ist ja doch schon ne weile her.

Gruß Jody
Cubietruck
CUL SlowRF
CUL Homematic
ZWave

exot

Hallo Jody,
Schön, das Du dich gemeldet hast.
Ich habe aus Unkenntnis Deine Codes so übernommen.
Von der Sache her, stelle ich mir vor, dass für die Regner nur ein Timer benötigt wird. Zeiteinstellung 0-45min.
Wenn ich den dann z.B.auf 25min stelle muss sich das Ventil einschalten und wenn die Zeit abgelaufen ist soll es abschalten.
Als Aktor wird ein HMW-IO-12-Sw7-DR (Wired) eingesetzt. Die Ausgänge des Moduls sind konfiguriert und funktionieren auch.
Geschaltet soll nur über PC bzw. Smartphone werden. Später ist auch eine FB vorgesehen,
wobei ich versuchen möchte meine Pronto TSU 9400 zu verwenden.
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global latitude 54.0883155
attr global logfile ./log/fhem-%Y-%m.log
attr global longitude 13.443615
attr global modpath .
attr global motd SecurityCheck:\
\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global room 3.1 System
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

define telnetPort telnet 7072 global
attr telnetPort room 3.1 System

define HMLAN1 HMLAN 192.168.178.32:1000
attr HMLAN1 hmId 2CD99B
attr HMLAN1 hmLanQlen 1_min
attr HMLAN1 loadLevel 0:low,40:batchLevel,90:high,99:suspended
attr HMLAN1 room 3.1 System

define hm485 HM485_LAN localhost:2000
attr hm485 HM485d_bind 1
attr hm485 HM485d_device /dev/ttyUSB0
attr hm485 HM485d_startTimeout 5
attr hm485 hmwId 00000001

define WEB FHEMWEB 8083 global
attr WEB basicAuth cGk6MDYwMzUw
attr WEB room 3.1 System

define WEBphone FHEMWEB 8084 global
attr WEBphone basicAuth cGk6MDYwMzUw
attr WEBphone room 3.1 System
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet basicAuth cGk6MDYwMzUw
attr WEBtablet room 3.1 System
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
attr Logfile room 5.1 FileLog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate room 4.1 Steuerung

define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room 3.1 System

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
attr initialUsbCheck room 3.1 System
define Wetter Weather 654035 600 de
attr Wetter room 2.1 Umwelt Aussen
define LichtWetter Twilight 54.0883155 13.443615 654035
attr LichtWetter room 2.1 Umwelt Aussen
define fronthem fronthem
define MPM_Thoshiba fronthemDevice 192.168.178.25
define IMO_Baer_MiniPc fronthemDevice 192.168.178.24
define FileLog_RolloWohnzTuer FileLog ./log/RolloWohnzTuer-%Y.log RolloWohnzTuer
attr FileLog_RolloWohnzTuer logtype text
attr FileLog_RolloWohnzTuer room 5.1 FileLog
define SmartPhone fronthemDevice 192.168.178.20
define RolloWohnzTuerAutoZu at *{sunset(0,"07:30","21:30")} set RolloWohnzTuer on
attr RolloWohnzTuerAutoZu room 4.1 Steuerung
attr RolloWohnzTuerAutoZu webCmd auf:pct:zu
define RolloWohnzTuerAutoAuf at *07:30:00 set RolloWohnzTuer off
attr RolloWohnzTuerAutoAuf room 4.1 Steuerung
attr RolloWohnzTuerAutoAuf webCmd auf:pct:zu
define RolloWohnzTerrasse CUL_HM 2776A9
attr RolloWohnzTerrasse IODev HMLAN1
attr RolloWohnzTerrasse autoReadReg 0_off
attr RolloWohnzTerrasse devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWohnzTerrasse eventMap on:zu off:auf
attr RolloWohnzTerrasse expert 2_full
attr RolloWohnzTerrasse firmware 1.7
attr RolloWohnzTerrasse group Jalousien
attr RolloWohnzTerrasse model HM-LC-BL1-FM
attr RolloWohnzTerrasse peerIDs 00000000,
attr RolloWohnzTerrasse room 1.01Wohnz
attr RolloWohnzTerrasse serialNr LEQ0199202
attr RolloWohnzTerrasse sortby 2
attr RolloWohnzTerrasse subType blindActuator
attr RolloWohnzTerrasse webCmd auf:pct:zu
define FileLog_RolloWohnzTerrasse FileLog ./log/RolloWohnzTerrasse-%Y.log RolloWohnzTerrasse
attr FileLog_RolloWohnzTerrasse logtype text
attr FileLog_RolloWohnzTerrasse room 5.1 FileLog
define RolloWohnzTerrasseAutoZu at *{sunset(0,"07:30","21:30")} set RolloWohnzTerrasse on
attr RolloWohnzTerrasseAutoZu room 4.1 Steuerung
attr RolloWohnzTerrasseAutoZu webCmd auf:pct:zu
define RolloWohnzTerrrasseAutoAuf at *07:30:00 set RolloWohnzTerrasse off\

attr RolloWohnzTerrrasseAutoAuf room 4.1 Steuerung
attr RolloWohnzTerrrasseAutoAuf webCmd auf:pct:zu
define RolloWohnzGarten CUL_HM 3B85BB
attr RolloWohnzGarten IODev HMLAN1
attr RolloWohnzGarten autoReadReg 0_off
attr RolloWohnzGarten devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWohnzGarten eventMap on:zu off:auf
attr RolloWohnzGarten expert 2_full
attr RolloWohnzGarten firmware 2.5
attr RolloWohnzGarten group Jalousien,
attr RolloWohnzGarten model HM-LC-BL1-FM
attr RolloWohnzGarten peerIDs 00000000,
attr RolloWohnzGarten room 1.01Wohnz
attr RolloWohnzGarten serialNr MEQ0392299
attr RolloWohnzGarten sortby 3
attr RolloWohnzGarten subType blindActuator
attr RolloWohnzGarten webCmd auf:pct:zu
define FileLog_RolloWohnzGarten FileLog ./log/RolloWohnzGarten-%Y.log RolloWohnzGarten
attr FileLog_RolloWohnzGarten logtype text
attr FileLog_RolloWohnzGarten room 5.1 FileLog
define RolloWohnzGartenAutoZu at *{sunset(0,"07:30","21:30")} set RolloWohnzGarten on
attr RolloWohnzGartenAutoZu room 4.1 Steuerung
attr RolloWohnzGartenAutoZu webCmd auf:pct:zu
define RolloWohnzGartenAutoAuf at *07:30:00 set RolloWohnzGarten off
attr RolloWohnzGartenAutoAuf room 4.1 Steuerung
attr RolloWohnzGartenAutoAuf webCmd auf:pct:zu
define RolloKueche CUL_HM 3B84C8
attr RolloKueche IODev HMLAN1
attr RolloKueche autoReadReg 0_off
attr RolloKueche devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloKueche eventMap on:zu off:auf
attr RolloKueche expert 2_full
attr RolloKueche firmware 2.5
attr RolloKueche group Jalousien
attr RolloKueche model HM-LC-BL1-FM
attr RolloKueche peerIDs 00000000,
attr RolloKueche room 1.02 Kueche
attr RolloKueche serialNr MEQ0392056
attr RolloKueche sortby 4
attr RolloKueche subType blindActuator
attr RolloKueche webCmd auf:pct:zu
define FileLog_RolloKueche FileLog ./log/RolloKueche-%Y.log RolloKueche
attr FileLog_RolloKueche logtype text
attr FileLog_RolloKueche room 5.1 FileLog
define RolloKuecheAutoZu at *{sunset(0,"07:30","21:30")} set RolloKueche on
attr RolloKuecheAutoZu room 4.1 Steuerung
attr RolloKuecheAutoZu webCmd auf:pct:zu
define RolloKuecheAutoAuf at *07:30:00 set RolloKueche off
attr RolloKuecheAutoAuf room 4.1 Steuerung
attr RolloKuecheAutoAuf webCmd auf:pct:zu
define RolloDiele CUL_HM 3B9B76
attr RolloDiele IODev HMLAN1
attr RolloDiele autoReadReg 4_reqStatus
attr RolloDiele devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloDiele eventMap on:zu off:auf
attr RolloDiele expert 2_full
attr RolloDiele firmware 2.5
attr RolloDiele group Jalousien
attr RolloDiele model HM-LC-BL1-FM
attr RolloDiele peerIDs 00000000,
attr RolloDiele room 1.03 Diele
attr RolloDiele serialNr MEQ0391528
attr RolloDiele sortby 5
attr RolloDiele subType blindActuator
attr RolloDiele webCmd auf:pct:zu
define FileLog_RolloDiele FileLog ./log/RolloDiele-%Y.log RolloDiele
attr FileLog_RolloDiele logtype text
attr FileLog_RolloDiele nrarchive 1
attr FileLog_RolloDiele room 5.1 FileLog
define RolloDieleAutoZu at *{sunset(0,"07:30","21:30")} set RolloDiele on
attr RolloDieleAutoZu room 4.1 Steuerung
attr RolloDieleAutoZu webCmd auf:pct:zu
define RolloDieleAutoAuf at *07:30:00 set RolloDiele off
attr RolloDieleAutoAuf room 4.1 Steuerung
attr RolloDieleAutoAuf webCmd auf:pct:zu
define RolloWCAutoZu at *{sunset(0,"07:30","21:30")} set RolloWC on
attr RolloWCAutoZu room 4.1 Steuerung
attr RolloWCAutoZu webCmd auf:pct:zu
define RolloWCAutoAuf at *07:30:00 set RolloWC off
attr RolloWCAutoAuf room 4.1 Steuerung
attr RolloWCAutoAuf webCmd auf:pct:zu
define RolloWC CUL_HM 3B9BCC
attr RolloWC IODev HMLAN1
attr RolloWC autoReadReg 0_off
attr RolloWC devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWC eventMap on:zu off:auf
attr RolloWC expert 2_full
attr RolloWC firmware 2.5
attr RolloWC group Jalousien
attr RolloWC model HM-LC-BL1-FM
attr RolloWC peerIDs 00000000,
attr RolloWC room 1.04 WC
attr RolloWC serialNr MEQ0391443
attr RolloWC subType blindActuator
attr RolloWC webCmd auf:pct:zu
define MichelErich fronthemDevice 192.168.178.28
define RolloWohnzTuer CUL_HM 2D5250
attr RolloWohnzTuer IODev HMLAN1
attr RolloWohnzTuer autoReadReg 0_off
attr RolloWohnzTuer devStateIcon auf:fts_shutter_10@black zu:fts_shutter_100@black 9\d.*:fts_shutter_10@black 8\d.*:fts_shutter_20@black 7\d.*:fts_shutter_30@black 6\d.*:fts_shutter_40@black 5\d.*:fts_shutter_50@black 4\d.*:fts_shutter_60@black 3\d.*:fts_shutter_70@black 2\d.*:fts_shutter_80@black 1\d.*:fts_shutter_90@black 0\d.*:fts_shutter_100
attr RolloWohnzTuer eventMap on:zu off:auf
attr RolloWohnzTuer expert 2_full
attr RolloWohnzTuer firmware 2.5
attr RolloWohnzTuer group Jalousien
attr RolloWohnzTuer model HM-LC-BL1-FM
attr RolloWohnzTuer peerIDs 00000000,
attr RolloWohnzTuer room 1.01Wohnz
attr RolloWohnzTuer serialNr LEQ0631780
attr RolloWohnzTuer sortby 1
attr RolloWohnzTuer subType blindActuator
attr RolloWohnzTuer userReadings smartvisu_icon { ReadingsNum("RolloWohnzTuer","pct",0)*2.55;;}
attr RolloWohnzTuer webCmd auf:pct:zu
define FileLog_HM_2D5250 FileLog ./log/HM_2D5250-%Y.log HM_2D5250
attr FileLog_HM_2D5250 logtype text
attr FileLog_HM_2D5250 room CUL_HM
define HMW_IO_12_Sw7_DR_LEQ1286311 HM485 0001129C
attr HMW_IO_12_Sw7_DR_LEQ1286311 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311 serialNr LEQ1286311
define FileLog_HMW_IO_12_Sw7_DR_LEQ1286311 FileLog ./log/HMW_IO_12_Sw7_DR_LEQ1286311-%Y.log HMW_IO_12_Sw7_DR_LEQ1286311
attr FileLog_HMW_IO_12_Sw7_DR_LEQ1286311 logtype text
attr FileLog_HMW_IO_12_Sw7_DR_LEQ1286311 room HM485
define HMW_IO_12_Sw7_DR_LEQ1286311_01 HM485 0001129C_01
attr HMW_IO_12_Sw7_DR_LEQ1286311_01 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_01 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_01 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_01 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_01 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_02 HM485 0001129C_02
attr HMW_IO_12_Sw7_DR_LEQ1286311_02 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_02 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_02 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_02 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_02 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_03 HM485 0001129C_03
attr HMW_IO_12_Sw7_DR_LEQ1286311_03 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_03 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_03 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_03 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_03 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_04 HM485 0001129C_04
attr HMW_IO_12_Sw7_DR_LEQ1286311_04 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_04 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_04 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_04 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_04 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_05 HM485 0001129C_05
attr HMW_IO_12_Sw7_DR_LEQ1286311_05 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_05 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_05 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_05 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_05 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_06 HM485 0001129C_06
attr HMW_IO_12_Sw7_DR_LEQ1286311_06 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_06 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_06 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_06 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_06 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_07 HM485 0001129C_07
attr HMW_IO_12_Sw7_DR_LEQ1286311_07 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_07 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_07 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_07 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_07 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_08 HM485 0001129C_08
attr HMW_IO_12_Sw7_DR_LEQ1286311_08 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_08 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_08 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_08 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_08 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_09 HM485 0001129C_09
attr HMW_IO_12_Sw7_DR_LEQ1286311_09 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_09 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_09 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_09 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_09 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_10 HM485 0001129C_10
attr HMW_IO_12_Sw7_DR_LEQ1286311_10 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_10 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_10 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_10 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_10 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_11 HM485 0001129C_11
attr HMW_IO_12_Sw7_DR_LEQ1286311_11 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_11 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_11 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_11 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_11 subType key
define HMW_IO_12_Sw7_DR_LEQ1286311_12 HM485 0001129C_12
attr HMW_IO_12_Sw7_DR_LEQ1286311_12 firmwareVersion 3.06
attr HMW_IO_12_Sw7_DR_LEQ1286311_12 model HMW_IO_12_Sw7_DR
attr HMW_IO_12_Sw7_DR_LEQ1286311_12 room HM485
attr HMW_IO_12_Sw7_DR_LEQ1286311_12 serialNr LEQ1286311
attr HMW_IO_12_Sw7_DR_LEQ1286311_12 subType key
define Regner1_O_A1 HM485 0001129C_13
attr Regner1_O_A1 devStateIcon on:BeregnungT.png off:BeregnungT.png
attr Regner1_O_A1 firmwareVersion 3.06
attr Regner1_O_A1 group Schalter
attr Regner1_O_A1 model HMW_IO_12_Sw7_DR
attr Regner1_O_A1 room 1.11 Garten
attr Regner1_O_A1 serialNr LEQ1286311
attr Regner1_O_A1 sortby 1
attr Regner1_O_A1 subType switch
define Regner2_HR_A2 HM485 0001129C_14
attr Regner2_HR_A2 firmwareVersion 3.06
attr Regner2_HR_A2 model HMW_IO_12_Sw7_DR
attr Regner2_HR_A2 room 1.11 Garten
attr Regner2_HR_A2 serialNr LEQ1286311
attr Regner2_HR_A2 sortby 2
attr Regner2_HR_A2 subType switch
define Regner3_HL_A3 HM485 0001129C_15
attr Regner3_HL_A3 firmwareVersion 3.06
attr Regner3_HL_A3 model HMW_IO_12_Sw7_DR
attr Regner3_HL_A3 room 1.11 Garten
attr Regner3_HL_A3 serialNr LEQ1286311
attr Regner3_HL_A3 sortby 3
attr Regner3_HL_A3 subType switch
define Regner4_V_A4 HM485 0001129C_16
attr Regner4_V_A4 firmwareVersion 3.06
attr Regner4_V_A4 model HMW_IO_12_Sw7_DR
attr Regner4_V_A4 room 1.11 Garten
attr Regner4_V_A4 serialNr LEQ1286311
attr Regner4_V_A4 sortby 4
attr Regner4_V_A4 subType switch
define Wassersteckdose_Garten_A5 HM485 0001129C_17
attr Wassersteckdose_Garten_A5 devStateIcon on:Wassersteckdose_on.png off:Wassersteckdose_off.png
attr Wassersteckdose_Garten_A5 firmwareVersion 3.06
attr Wassersteckdose_Garten_A5 group Schalter
attr Wassersteckdose_Garten_A5 model HMW_IO_12_Sw7_DR
attr Wassersteckdose_Garten_A5 room 1.11 Garten
attr Wassersteckdose_Garten_A5 serialNr LEQ1286311
attr Wassersteckdose_Garten_A5 sortby 5
attr Wassersteckdose_Garten_A5 subType switch
define Wassersteckdose_Filter_A6 HM485 0001129C_18
attr Wassersteckdose_Filter_A6 firmwareVersion 3.06
attr Wassersteckdose_Filter_A6 model HMW_IO_12_Sw7_DR
attr Wassersteckdose_Filter_A6 room 1.11 Garten
attr Wassersteckdose_Filter_A6 serialNr LEQ1286311
attr Wassersteckdose_Filter_A6 sortby 6
attr Wassersteckdose_Filter_A6 subType switch
define Wasserstand_Teich_A7 HM485 0001129C_19
attr Wasserstand_Teich_A7 firmwareVersion 3.06
attr Wasserstand_Teich_A7 model HMW_IO_12_Sw7_DR
attr Wasserstand_Teich_A7 room 1.11 Garten
attr Wasserstand_Teich_A7 serialNr LEQ1286311
attr Wasserstand_Teich_A7 sortby 7
attr Wasserstand_Teich_A7 subType switch
define Dimmer_Timer dummy
attr Dimmer_Timer alias Regner1_O_A1
attr Dimmer_Timer comment Regner1_O_A1 in Minuten
attr Dimmer_Timer group Timer
attr Dimmer_Timer icon time_clock
attr Dimmer_Timer room 1.11 Garten
attr Dimmer_Timer setList state:slider,0,1,45
attr Dimmer_Timer webCmd state
define Dimmer_ein_on1 notify Dimmer_Timer:* {\ \ my $timerwert1 = ReadingsVal("Dimmer_ein_on1","state","on");;\ my $schalter = ReadingsVal("Regner1_O_A1","state","on");;\ my $gerat1 = "Regner1_O_A1";;\ my $gerat2 = "Dimmer_ein_on1";;\ \ if ("$timerwert1" gt "1" && "$schalter" eq "off") {\ fhem ("set $gerat1 on");;\ fhem ("set $gerat2 $timerwert1");;\ fhem ("define Warten1 at +00:00:01 trigger $gerat2 ")}\ elsif ("$timerwert1" gt "1") {\ my $timerwert2 = $timerwert1 - 1;;\ fhem ("set $gerat2 $timerwert2");;\ fhem ("define Warten2 at +*00:00:01 trigger $gerat2, delete Warten2")}\ else {\ fhem ("set $gerat1 off");;\ fhem ("set $gerat2 0");;\ fhem ("delete Warten2")}\ }

Das ist meine fhem.cfg
Mit freundlichen Grüßen
Michael

exot

Hallo Jody,
Da keine Antwort kommt möchte ich nachfragen, ob das nicht der richtige Code ist.
Teile mir bitte mit, was Du benötigst.
Danke Michael

exot

Hallo Jody,
Habe gestern sehr lange probiert. Leider ohne Erfolg.
Anbei meine Konfiguration:
#Slider

define Timer_Regner1_O_A dummy
attr Timer_Regner1_O_A alias Regner1
attr Timer_ comment Regner1 in Minuten
attr Timer_Regner1_O_A group Timer
attr Timer_Regner1_O_A icon time_clock
attr Timer_Regner1_O_A room Garten
attr Timer_Regner1_O_A setList state:slider,0,1,45
attr Timer_Regner1_O_A webCmd state


#Timerfunktion

define Timer_Regner1_O_A1_ein notify Timer_Regner1_O_A1:* {\
\
my $timerwert1 = ReadingsVal("Timer_Regner1_O_A1","state","on");;\
my $schalter = ReadingsVal("Regner1_O_A1_ein","state","on");;\
my $gerat1 = "Regner1_O_A1_ein";;\
my $gerat2 = "Timer_Regner1_O_A";;\
\
if ("$timerwert1" gt "1" && "$schalter" eq "off") {\
fhem ("set $gerat1 on");;\
fhem ("set $gerat2 $timerwert1");;\
fhem ("define Warten1 at +00:00:01 trigger $gerat2 ")}\
elsif ("$timerwert1" gt "1") {\
my $timerwert2 = $timerwert1 - 1;;\
fhem ("set $gerat2 $timerwert2");;\
fhem ("define Warten2 at +*00:00:01 trigger $gerat2, delete Warten2")}\
else {\
fhem ("set $gerat1 off");;\
fhem ("set $gerat2 0");;\
fhem ("delete Warten2")}\


#Schalter der das Ventil an/aus schaltet HMW-IO-12-Sw7-DR

define Timer_Regner1_O_A1_ein dummy
attr Timer_Regner1_O_A1_ein alias Regner1
attr Timer_Regner1_O_A1_ein devStateIcon on:sprinklingB_on.png off:sprinklingB_off.png:on
attr Timer_Regner1_O_A1_ein group Schalter
##attr Dimmer_ein icon xxxxxxxx##
attr Dimmer_ein room Garten


Ist es möglich hier einen Fehler zu erkennen?

Gruß Michael

Ralf9

Hallo Michael,

hier steht auch was darüber
http://forum.fhem.de/index.php/topic,21233.0.html

Hast Du es schon mal mit "on-for-timer" versucht?
Für wie viele Regner benötigst Du einen Timer?
Falls anstatt einem slider auch 2, 4 oder 6 feste Zeiten ausreichen, ist dies auch mit peering machbar.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

exot

Hallo Ralf,
"on-for-timer" werde mal lesen was dort beschrieben ist.
Ich benötige für 5 Regner die Timerfunktion.
Von der Sache ist ein Slider nicht unbedingt notwendig nur eben praktischer, da wenn er funktioniert die Zeit variabel eingestellt werden kann.
Feste Zeiten würden auch gehen. Mit drei Zeiten 15,20,25 min komme ich aus. Wobei ich meistens mit 25 min beregne.
Damit habe ich die besten Erfahrungen gemacht.
Der Link mit der Markiesensteuerung ist für mich sehr kompliziert.
Ich werde erst mal lesen ;)
Gruß Michael

exot

Halo Ralf,
define Regner2_an notify Regner2_HR_A2 {
if ("%" ne "off") { fhem("define  Regner2_aus at +00:01:10 set Regner2_HR_A2 off") } }

Das brachte den Erfolg. Sehr einfach. Unter Notify / Regner2_an /CFG kann ich die Zeit verändern.
Das ist etwas umständlich aber ohne Schnörkel funktioniert es.
Was mich stört ist, das ich unter dem Device Regner2 keine Anzeige habe auf wie viel Minuten der Timer eingestellt ist.
Hast Du eine Idee.
Gruß Michael

Ralf9

Hallo Michael,

versuch es mal so:
define Regner1_an notify Timer_Regner1_O_A.* {
  my $a = $EVENT*60;
  fhem("set Regner1 on-for-timer $a");
}


Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

exot

Hallo Ralf,
Danke für Deine Nachricht.
Dein Code bezieht sich auf Regner1. Ist das richtig?
Habe ihn eingegeben, aber er hat nichts bewirkt.
Habe dann auf Regner3 probiert, auch ohne Ergebnis.
Für Regner2 ist es nicht möglich den Code zu testen, ich hätte erst den funktionierenden Code entfernen müssen.
Was soll der Code bewirken?

Gruß Michael

Ralf9

Zitat von: exot am 03 September 2015, 18:43:14
Dein Code bezieht sich auf Regner1. Ist das richtig?
Habe ihn eingegeben, aber er hat nichts bewirkt.
Habe dann auf Regner3 probiert, auch ohne Ergebnis.
Was soll der Code bewirken?

Hallo Michael,

bei
fhem("set Regner1 on-for-timer $a");
mußt Du Regner1 durch den Namen des gewünschten Ausgangs ersetzten.

Wenn Du z.B. einen dummy1 definierst, dann kannst Du mit
fhem("set dummy1 $a");
zum testen den Inhalt der Variablen $a auf dem dummy1 ausgeben.

Damit wird z.B. der Ausgang mit dem namen "Regner3_HL_A3" für 10 Sekunden eingeschaltet.
set Regner3_HL_A3 on-for-timer 10;
Du kannst das on-for-timer auch testen, wenn Du in switch-Ausgang rein gehst (siehe Anlage).

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

exot

Hallo Ralf,
Danke für Deine Nachhilfestunde ;)
Mit der Beantwortung fange ich mal hinten an.
ZitatDu kannst das on-for-timer auch testen, wenn Du in switch-Ausgang rein gehst (siehe Anlage).
Habe ich bei dem Wired 12/7 Aktor getestet. Dort gibt es bei jedem der 7 Relaisausgänge < on-for-timer >.
Bei den HM Rollladenaktoren aber nicht. Warum ist das so. - Wieder so eine verrückte Frage von mir ???

ZitatWenn Du z.B. einen dummy1 definierst, dann kannst Du mit
Habe ich gemacht
Zitattesten den Inhalt der Variablen $a auf dem dummy1 ausgeben.
funktioniert nicht, da $a noch nicht definiert.

Zitatfhem("set Regner1 on-for-timer $a");
mußt Du Regner1 durch den Namen des gewünschten Ausgangs ersetzten.
Was muss ich unter Ausgang verstehen.
Ausgänge sind doch die Regner ( Regner1_O_A1, Regner2_HR_A2, Regner3_HL_A3)bzw. Wassersteckdosen (Wassersteckdose_Filter_A6, Wassersteckdose_Garten_A5 ) oder?

Viele Fragen, aber ich finde selbst keine Antwort.
Gruß Michael