Python script powering the special event / countdown sensors
This commit is contained in:
parent
f4e36a424d
commit
a4bd6b9d50
|
@ -0,0 +1,39 @@
|
|||
today = datetime.datetime.now().date()
|
||||
|
||||
name = data.get('name')
|
||||
type = data.get('type')
|
||||
sensorName = "sensor.{}_{}".format(type , name.replace(" " , "_"))
|
||||
|
||||
dateStr = data.get('date')
|
||||
dateSplit = dateStr.split("/")
|
||||
|
||||
dateDay = int(dateSplit[0])
|
||||
dateMonth = int(dateSplit[1])
|
||||
dateYear = int(dateSplit[2])
|
||||
date = datetime.date(dateYear,dateMonth,dateDay)
|
||||
|
||||
thisYear = today.year
|
||||
nextOccur = datetime.date(thisYear , dateMonth , dateDay)
|
||||
|
||||
numberOfDays = 0
|
||||
years = int(thisYear) - dateYear
|
||||
|
||||
|
||||
if today < nextOccur:
|
||||
numberOfDays = (nextOccur - today).days
|
||||
|
||||
elif today > nextOccur:
|
||||
nextOccur = datetime.date(thisYear+1 , dateMonth , dateDay)
|
||||
numberOfDays = int((nextOccur - today).days)
|
||||
years = years+1
|
||||
|
||||
|
||||
hass.states.set(sensorName , numberOfDays ,
|
||||
{
|
||||
"icon" : "mdi:calendar-star" ,
|
||||
"unit_of_measurement" : "days" ,
|
||||
"friendly_name" : "{}'s {}".format(name, type) ,
|
||||
"years" : years
|
||||
}
|
||||
)
|
||||
|
Loading…
Reference in New Issue