Dummy bauen mit Countdown-Anzeige von 60 Sekunden nach Betätigung

Begonnen von moppy, 25 Mai 2016, 13:36:56

Vorheriges Thema - Nächstes Thema

moppy

Hallo zusammen,

mal wieder eine Anfängerfrage von mir:

Ich habe mir einen Dummy gebaut der meinen HM-USB-Adapter in den Pair-Zustand versetzen soll.

define HMUSB_ADD dummy
attr HMUSB_ADD room CUL_HM
attr HMUSB_ADD webCmd 60secPair

define HMUSB_ADDon notify HMUSB_ADD:60secPair set HMUSB hmPairForSec 60


Wie kann ich jetzt einen Timer einbauen der mir einen Countdown von 60 Sekunden abwärts anzeigt, wie lange der HM-USB noch im Pairmodus ist, nachdem ich den Dummy ausgelöst habe?

Grüße, Manu


Intel NUC7i5 - Proxmox
HP Microserver Gen8 3,3ghz Xeon
http://coldcorner.de

marvin78

Ein Reading des dummys per at jede Sekunde aktualisieren. Sollte einfach sein. Ein klein wenig Perl wird aber nötig sein.

igami

Hab mir sowas mal als Überwachung für eine zu lange Öffnung gebaut:
Ein Dummy

Internals:
   NAME       rolltor
   NR         1104
   STATE      03:00
   TYPE       dummy
   Readings:
     2016-05-18 12:18:56   open-since      180
     2016-05-18 12:18:56   open-since-h    03:00
     2016-05-18 12:18:56   state           closed
Attributes:
   stateFormat open-since-h
   webCmd     open:closed

Ein DOIF

Internals:
   DEF        ([rolltor:"open$"])(
  sleep 0.001; setreading rolltor open-since {([rolltor:open-since] - 1)},
  sleep 0.001; setreading rolltor open-since-h {(sprintf("%02d:%02d",(gmtime([rolltor:open-since] - 1))[1,0]))}
)
DOELSEIF
([rolltor:"closed$"])(
  setreading rolltor open-since 180,
  setreading rolltor open-since-h 03:00
)
DOELSEIF
([rolltor:open-since] == 0)(
  set rolltor sabotage,
  setreading rolltor open-since 180
)
   NAME       rolltor_DOIF
   NR         1105
   NTFY_ORDER 50-rolltor_DOIF
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2016-05-18 12:18:56   Device          rolltor
     2016-05-18 12:18:56   cmd             2
     2016-05-18 12:18:56   cmd_event       rolltor
     2016-05-18 12:18:56   cmd_nr          2
     2016-05-18 12:18:56   e_rolltor_events closed
     2016-05-18 12:18:56   e_rolltor_open-since 178
     2016-05-18 12:18:56   state           cmd_2
     2016-05-18 12:18:56   wait_timer      no timer
   Condition:
     0          EventDoIf('rolltor',$hash,'open$',1)
     1          EventDoIf('rolltor',$hash,'closed$',1)
     2          ReadingValDoIf($hash,'rolltor','open-since','','',AttrVal($hash->{NAME},'notexist',undef)) == 0
   Devices:
     0           rolltor
     1           rolltor
     2           rolltor
     all         rolltor
   Do:
     0:
       0             sleep 0.001; setreading rolltor open-since {([rolltor:open-since] - 1)},   sleep 0.001; setreading rolltor open-since-h {(sprintf("%02d:%02d",(gmtime([rolltor:open-since] - 1))[1,0]))}
     1:
       0             setreading rolltor open-since 180,   setreading rolltor open-since-h 03:00
     2:
       0             set rolltor sabotage,   setreading rolltor open-since 180
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Itimer:
   Readings:
     2           rolltor:open-since
     all         rolltor:open-since
   Regexp:
     All:
   State:
   Trigger:
     all         rolltor
Attributes:
   repeatcmd  1
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

moppy

Intel NUC7i5 - Proxmox
HP Microserver Gen8 3,3ghz Xeon
http://coldcorner.de

frank

ZitatWie kann ich jetzt einen Timer einbauen der mir einen Countdown von 60 Sekunden abwärts anzeigt, wie lange der HM-USB noch im Pairmodus ist, nachdem ich den Dummy ausgelöst habe?
hoffentlich vermasselt dir der countdown nicht das timing beim pairen.  ;)
falls dir die zeit zu kurz ist, einfach auf zb 3600s setzen und noch gemütlich einen kaffee kochen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html