Files
2020-01-10 14:29:02 +03:00

114 lines
3.9 KiB
Python

import appdaemon.plugins.hass.hassapi as hass
import datetime
import random
#
# Entity timer
# Turn on and off this entities
#
# Args:
#
# None
#
# Release Notes
#
# Version 1.0:
# Initial Version
class XmasTreeTimer(hass.Hass):
effects = []
def initialize(self):
self.effects = ['[FX=00] Solid',
'[FX=01] Blink',
'[FX=02] Breathe',
'[FX=03] Wipe',
'[FX=04] Wipe Random',
'[FX=05] Random Colors',
'[FX=06] Sweep',
'[FX=07] Dynamic',
'[FX=08] Colorloop',
'[FX=09] Rainbow',
'[FX=10] Scan',
'[FX=11] Dual Scan',
'[FX=12] Fade',
'[FX=13] Chase',
'[FX=14] Chase Rainbow',
'[FX=15] Running',
'[FX=16] Saw',
'[FX=17] Twinkle',
'[FX=18] Dissolve',
'[FX=19] Dissolve Rnd',
'[FX=20] Sparkle',
'[FX=21] Dark Sparkle',
'[FX=22] Sparkle+',
'[FX=23] Strobe',
'[FX=24] Strobe Rainbow',
'[FX=25] Mega Strobe',
'[FX=26] Blink Rainbow',
'[FX=27] Android',
'[FX=28] Chase',
'[FX=29] Chase Random',
'[FX=30] Chase Rainbow',
'[FX=31] Chase Flash',
'[FX=32] Chase Flash Rnd',
'[FX=33] Rainbow Runner',
'[FX=34] Colorful',
'[FX=35] Traffic Light',
'[FX=36] Sweep Random',
'[FX=37] Running 2',
'[FX=38] Red & Blue',
'[FX=39] Stream',
'[FX=40] Scanner',
'[FX=41] Lighthouse',
'[FX=42] Fireworks',
'[FX=43] Rain',
'[FX=44] Merry Christmas',
'[FX=45] Fire Flicker',
'[FX=46] Gradient',
'[FX=47] Loading',
'[FX=48] In Out',
'[FX=49] In In',
'[FX=50] Out Out',
'[FX=51] Out In',
'[FX=52] Circus',
'[FX=53] Halloween',
'[FX=54] Tri Chase',
'[FX=55] Tri Wipe',
'[FX=56] Tri Fade',
'[FX=57] Lightning',
'[FX=58] ICU',
'[FX=59] Multi Comet',
'[FX=60] Dual Scanner',
'[FX=61] Stream 2',
'[FX=62] Oscillate',
'[FX=63] Pride 2015',
'[FX=64] Juggle',
'[FX=65] Palette',
'[FX=66] Fire 2012',
'[FX=67] Colorwaves',
'[FX=68] BPM',
'[FX=69] Fill Noise',
'[FX=70] Noise 1',
'[FX=71] Noise 2',
'[FX=72] Noise 3',
'[FX=73] Noise 4',
'[FX=74] Colortwinkle',
'[FX=75] Lake',
'[FX=76] Meteor',
'[FX=77] Smooth Meteor',
'[FX=78] Railway',
'[FX=79] Ripple',
'[FX=80] Twinklefox',
'[FX=81] Twinklecat',
'[FX=82] Halloween Eyes']
# self.effects = ['FX=00','FX=01','FX=02']
# self.on_timer = self.run_every(self.on_timer_tick, on_time)
# self.off_timer = self.run_daily(self.off_timer_tick, off_time)
self.run_every(self.run_every_c, datetime.datetime.now(), 15)
def run_every_c(self, kwargs):
effect = random.choice(self.effects)
# rand = random.randint(0, 82)
# effect = "FX={}".format(rand)
self.log('random: {}'.format(effect))
self.call_service("mqtt/publish", topic = 'wled/d85df2/api', payload = effect)