Hallo,
ich habe sh.py das relative Dimmen beigebracht:
Items sind:
Die Logik:
Gruß,
Hendrik
ich habe sh.py das relative Dimmen beigebracht:
Code:
RelativDimmen:
filename: relativdimmen.py
min_to_max_duration: 2.5 # in 2.5s wird von min bis max gedimmt
step: 2.5
watch_item:
- eg.StripeOben.R.RelativDimmen
Items sind:
Code:
- eg.StripeOben.R - eg.StripeOben.R.RelativDimmen
Die Logik:
Code:
#!/usr/bin/env python3
# relativdimmen.py
# Watch the DPT3.007 item (list)
#from lib.item import Items
#items = Items.get_instance()
logger.warning('[Relativ Dimmen] Start')
min=0
max=100
input_val = trigger['value']
try:
input_item= items.return_item(trigger['source'])
target_item= input_item.return_parent()
start = input_val[1]
increase = input_val[0]
except:
logger.error("This logic must be triggered by an Item of type list with DPT3.007")
min_to_max_duration = 2.5 # logic.min_to_max_duration
step = 2.5 # logic.step
time_delta= min_to_max_duration / ( (max-min)/step ) # e.g. 2s / ((100-0)/ 1) = 0.02
logger.warning('[Relativ Dimmen] Start {} Increase {}'.format(start,increase))
if start:
if increase:
target_item.fade(max, step, time_delta)
logger.warning('[Relativ Dimmen] To {} Step {}, TimeDelta {}'.format(max, step, time_delta))
else: # decrease
target_item.fade(min, step, time_delta)
logger.warning('[Relativ Dimmen] To {} Step {}, TimeDelta {}'.format(min, step, time_delta))
else:
logger.info('[Relativ Dimmen] Stoppe Fading')
target_item._fading=False
Hendrik


Kommentar