upgrade to latest

This commit is contained in:
Your Name
2019-11-21 21:23:25 +03:00
parent 3b5104a10d
commit 3c61041a51
9 changed files with 30 additions and 11 deletions
+4
View File
@@ -2,6 +2,10 @@ logs:
main_log: main_log:
filename: STDOUT filename: STDOUT
namespaces:
- worktime_namespace:
writeback: safe
appdaemon: appdaemon:
threads: 10 threads: 10
latitude: !secret home_latitude latitude: !secret home_latitude
+1 -1
View File
@@ -58,7 +58,7 @@ class Groups(hass.Hass):
self.set_state(name,state="on",attributes={"view": view,"hidden": hidden,"assumed_state": assumed_state,"friendly_name": friendly_name,"entity_id": entitylist, 'description': 'Created and updated from appdaemon ({})'.format(__name__)}) self.set_state(name,state="on",attributes={"view": view,"hidden": hidden,"assumed_state": assumed_state,"friendly_name": friendly_name,"entity_id": entitylist, 'description': 'Created and updated from appdaemon ({})'.format(__name__)})
def sortByFriendlyName(self, entity): def sortByFriendlyName(self, entity):
return self.get_state(entity, 'friendly_name') return self.get_state(entity, attribute='friendly_name')
def append_entity(self, entitylist, entity, expand_group): def append_entity(self, entitylist, entity, expand_group):
entity = entity.lower() entity = entity.lower()
@@ -4,10 +4,10 @@
balance_low_report: balance_low_report:
class: Balance class: Balance
module: balance module: balance
constraint: input_boolean.balance_report
entity_ids: entity_ids:
mosenergosbyt_balance: sensor.power_mosenergosbyt_balance mosenergosbyt_balance: sensor.power_mosenergosbyt_balance
epd_balance: sensor.epd_balance epd_balance: sensor.epd_balance
always_send: 0 always_send: 0
threshold: -100 threshold: -100
notify: telegram_monster notify: telegram_monster
@@ -23,20 +23,25 @@ class WorkTime(hass.Hass):
notify_before_leave_in_minutes = 15 notify_before_leave_in_minutes = 15
notify_every_seconds = 300 notify_every_seconds = 300
timers = [] timers = []
listen_event_handle_list = []
def initialize(self): def initialize(self):
if 'notify' not in self.args or "arrive_event" not in self.args or "leave_event" not in self.args: if 'notify' not in self.args or "arrive_event" not in self.args or "leave_event" not in self.args:
self.error("Please provide arrive_event, leave_event in config!") self.error("Please provide arrive_event, leave_event in config!")
return return
self.listen_event(self.arrive_event, self.args['arrive_event']) self.listen_event_handle_list.append(self.listen_event(self.arrive_event, self.args['arrive_event']))
self.listen_event(self.leave_event, self.args['leave_event']) self.listen_event_handle_list.append(self.listen_event(self.leave_event, self.args['leave_event']))
self.run_daily(self.reset_timer_tick, self.parse_time("23:59:59")) self.run_daily(self.reset_timer_tick, self.parse_time("23:59:59"))
self.load_state() self.load_state()
self.run_timer() self.run_timer()
def terminate(self):
self.cancel_timers()
def arrive_event(self, event_id, event_args, kwargs): def arrive_event(self, event_id, event_args, kwargs):
if self.arrive_time != None: if self.arrive_time != None:
self.log('You have already arrived to the work today at {}'.format(self.arrive_time)) self.log('You have already arrived to the work today at {}'.format(self.arrive_time))
self.notify("Добро пожаловать в офис еще раз. Сегодня работаешь до {}.".format(self.format_time(self.leave_time)), name = self.args['notify'])
self.run_timer() self.run_timer()
return return
@@ -58,6 +63,9 @@ class WorkTime(hass.Hass):
timer_start = self.notify_time timer_start = self.notify_time
if timer_start<self.datetime(): if timer_start<self.datetime():
timer_start=self.datetime()+datetime.timedelta(seconds=self.notify_every_seconds) timer_start=self.datetime()+datetime.timedelta(seconds=self.notify_every_seconds)
timers_count = len(self.timers)
self.cancel_timers()
self.log("Canceling previous timers({}), start notify timer at: {}".format(timers_count, timer_start))
self.timers.append(self.run_every(self.timer_tick, timer_start, self.notify_every_seconds)) self.timers.append(self.run_every(self.timer_tick, timer_start, self.notify_every_seconds))
def leave_event(self, event_id, event_args, kwargs): def leave_event(self, event_id, event_args, kwargs):
+1
View File
@@ -4,6 +4,7 @@ from notification import send_notification
import datetime import datetime
import sys, locale import sys, locale
import logging, codecs import logging, codecs
import os
#import unicode #import unicode
# from automation import Automation # type: ignore # from automation import Automation # type: ignore
+5 -5
View File
@@ -44,7 +44,7 @@ services:
max-size: 50m max-size: 50m
hass: hass:
image: homeassistant/home-assistant:0.100.3 image: homeassistant/home-assistant:latest #0.100.3
container_name: hass container_name: hass
volumes: volumes:
- ./hass/settings:/config - ./hass/settings:/config
@@ -187,7 +187,7 @@ services:
options: options:
max-size: 50m max-size: 50m
networks: # networks:
traefik: # traefik:
external: # external:
name: my-pre-existing-network # name: my-pre-existing-network
+1 -1
View File
@@ -17,7 +17,7 @@ logger:
api: api:
http: http:
api_password: !secret ha_password # api_password: !secret ha_password
base_url: !secret base_url base_url: !secret base_url
use_x_forwarded_for: true use_x_forwarded_for: true
trusted_proxies: trusted_proxies:
@@ -28,6 +28,11 @@ water_counters_report:
icon: mdi:alert-octagon icon: mdi:alert-octagon
initial: on initial: on
balance_report:
name: Отчет о балансе
icon: mdi:alert-octagon
initial: on
work_presence_report: work_presence_report:
name: Отчет 'пора домой' name: Отчет 'пора домой'
icon: mdi:account-alert icon: mdi:account-alert
+1
View File
@@ -353,6 +353,7 @@ views:
- input_boolean.water_counters_report - input_boolean.water_counters_report
- input_boolean.work_presence_report - input_boolean.work_presence_report
- input_boolean.lock_report - input_boolean.lock_report
- input_boolean.balance_report
- type: entities - type: entities
title: "Метки" title: "Метки"
show_header_toggle: true show_header_toggle: true