diff --git a/appdaemon/settings/apps/timers/entity_timer.yaml b/appdaemon/settings/apps/timers/entity_timer.yaml index b706fe1..38dfee4 100644 --- a/appdaemon/settings/apps/timers/entity_timer.yaml +++ b/appdaemon/settings/apps/timers/entity_timer.yaml @@ -25,6 +25,14 @@ xmas_tree_timer: global_dependencies: - globals +fitolamp_timer: + module: entity_timer + class: EntityTimer + on_time: "00:00:00" + off_time: "07:00:00" + entity: switch.plug_158d0002924779 + global_dependencies: + - globals # tv_timer: # module: entity_timer # class: EntityTimer diff --git a/docker-compose.yml b/docker-compose.yml index 349d8ba..ff2a148 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -71,6 +71,7 @@ services: links: - "hass" - "appdaemon" + - "certbot" env_file: ./nginx/settings/nginx.env volumes: - ./hass/settings/hosts.txt:/etc/hosts:ro diff --git a/hass/settings/configuration/customize/switch.yaml b/hass/settings/configuration/customize/switch.yaml index 1f13747..dd5fdea 100644 --- a/hass/settings/configuration/customize/switch.yaml +++ b/hass/settings/configuration/customize/switch.yaml @@ -11,4 +11,8 @@ switch.yolka: switch.xiaomi_miio_switch: friendly_name: Удлиннитель switch.wifi_socket: - friendly_name: Гирлянда-окно \ No newline at end of file + friendly_name: Гирлянда-окно +switch.plug_158d00020f3a29: + friendly_name: Холодильник +switch.plug_158d0002924779: + friendly_name: Фитолампа \ No newline at end of file diff --git a/hass/settings/configuration/sensor/template/xiaomi_socket_money_cost.yaml b/hass/settings/configuration/sensor/template/xiaomi_socket_money_cost.yaml index 0252899..e5ffa90 100644 --- a/hass/settings/configuration/sensor/template/xiaomi_socket_money_cost.yaml +++ b/hass/settings/configuration/sensor/template/xiaomi_socket_money_cost.yaml @@ -32,6 +32,14 @@ friendly_name: "Кондиционер в мес." unit_of_measurement: '₽' value_template: "{{ (states('sensor.conditioner_monthly') | float * (states('sensor.power_cost') | float)) | round(2) }}" + fridge_money_monthly: + friendly_name: "Холодильник в мес." + unit_of_measurement: '₽' + value_template: "{{ (states('sensor.fridge_monthly') | float * (states('sensor.power_cost') | float)) | round(2) }}" + fitolamp_money_monthly: + friendly_name: "Фитолампа в мес." + unit_of_measurement: '₽' + value_template: "{{ (states('sensor.fitolamp_monthly') | float * (states('sensor.power_cost') | float)) | round(2) }}" power_money_t1_monthly: friendly_name: "Т1 в мес." unit_of_measurement: '₽' @@ -50,7 +58,6 @@ value_template: "{{ ((states('sensor.power_money_t1_monthly') | float) + (states('sensor.power_money_t2_monthly') | float) + (states('sensor.power_money_t3_monthly') | float)) | round(2) }}" - counter_hot_money_daily: friendly_name: "Горячая в день" unit_of_measurement: '₽' @@ -83,6 +90,14 @@ friendly_name: "Кондиционер в день" unit_of_measurement: '₽' value_template: "{{ (states('sensor.conditioner_daily') | float * (states('sensor.power_cost') | float)) | round(2) }}" + fridge_money_daily: + friendly_name: "Холодильник в день" + unit_of_measurement: '₽' + value_template: "{{ (states('sensor.fridge_daily') | float * (states('sensor.power_cost') | float)) | round(2) }}" + fitolamp_money_daily: + friendly_name: "Фитолампа в день" + unit_of_measurement: '₽' + value_template: "{{ (states('sensor.fitolamp_daily') | float * (states('sensor.power_cost') | float)) | round(2) }}" counter_hot_money_hourly: friendly_name: "Горячая в час" @@ -116,3 +131,11 @@ friendly_name: "Кондиционер в час" unit_of_measurement: '₽' value_template: "{{ (states('sensor.conditioner_hourly') | float * (states('sensor.power_cost') | float)) | round(2) }}" + fridge_money_hourly: + friendly_name: "Холодильник в час" + unit_of_measurement: '₽' + value_template: "{{ (states('sensor.fridge_hourly') | float * (states('sensor.power_cost') | float)) | round(2) }}" + fitolamp_money_hourly: + friendly_name: "Фитолампа в час" + unit_of_measurement: '₽' + value_template: "{{ (states('sensor.fitolamp_hourly') | float * (states('sensor.power_cost') | float)) | round(2) }}" diff --git a/hass/settings/configuration/sensor/template/xiaomi_socket_power_consumed.yaml b/hass/settings/configuration/sensor/template/xiaomi_socket_power_consumed.yaml index d7534f4..8e06ac2 100644 --- a/hass/settings/configuration/sensor/template/xiaomi_socket_power_consumed.yaml +++ b/hass/settings/configuration/sensor/template/xiaomi_socket_power_consumed.yaml @@ -19,4 +19,13 @@ conditioner_consumed: friendly_name: "Кондиционер потреблено" unit_of_measurement: 'kWh' - value_template: "{{ state_attr('switch.plug_158d00010dd98d', 'power_consumed') / 1000 }}" \ No newline at end of file + value_template: "{{ state_attr('switch.plug_158d00010dd98d', 'power_consumed') / 1000 }}" + fridge_consumed: + friendly_name: "Холодильник потреблено" + unit_of_measurement: 'kWh' + value_template: "{{ state_attr('switch.plug_158d00020f3a29', 'power_consumed') / 1000 }}" + fitolamp_consumed: + friendly_name: "Фитолампа потреблено" + unit_of_measurement: 'kWh' + value_template: "{{ state_attr('switch.plug_158d0002924779', 'power_consumed') / 1000 }}" + \ No newline at end of file diff --git a/hass/settings/configuration/utility_meter/fitolamp.yaml b/hass/settings/configuration/utility_meter/fitolamp.yaml new file mode 100644 index 0000000..094ef5e --- /dev/null +++ b/hass/settings/configuration/utility_meter/fitolamp.yaml @@ -0,0 +1,9 @@ +fitolamp_hourly: + source: sensor.fitolamp_consumed + cycle: hourly +fitolamp_daily: + source: sensor.fitolamp_consumed + cycle: daily +fitolamp_monthly: + source: sensor.fitolamp_consumed + cycle: monthly diff --git a/hass/settings/configuration/utility_meter/fridge.yaml b/hass/settings/configuration/utility_meter/fridge.yaml new file mode 100644 index 0000000..6773121 --- /dev/null +++ b/hass/settings/configuration/utility_meter/fridge.yaml @@ -0,0 +1,9 @@ +fridge_hourly: + source: sensor.fridge_consumed + cycle: hourly +fridge_daily: + source: sensor.fridge_consumed + cycle: daily +fridge_monthly: + source: sensor.fridge_consumed + cycle: monthly diff --git a/hass/settings/ui-lovelace.yaml b/hass/settings/ui-lovelace.yaml index 1356763..f7b176c 100644 --- a/hass/settings/ui-lovelace.yaml +++ b/hass/settings/ui-lovelace.yaml @@ -40,6 +40,8 @@ views: - switch.plug_158d0001a68b18 - switch.plug_158d0001a68c64 - switch.plug_158d0001a4cfb4 + - switch.plug_158d00020f3a29 + - switch.plug_158d0002924779 - switch.xiaomi_miio_switch - type: entities title: "Ванная" @@ -260,6 +262,26 @@ views: - sensor.conditioner_money_hourly - sensor.conditioner_money_daily - sensor.conditioner_money_monthly + - type: entities + title: "Холодильник" + show_header_toggle: false + entities: + - sensor.fridge_hourly + - sensor.fridge_daily + - sensor.fridge_monthly + - sensor.fridge_money_hourly + - sensor.fridge_money_daily + - sensor.fridge_money_monthly + - type: entities + title: "Фитолампа" + show_header_toggle: false + entities: + - sensor.fitolamp_hourly + - sensor.fitolamp_daily + - sensor.fitolamp_monthly + - sensor.fitolamp_money_hourly + - sensor.fitolamp_money_daily + - sensor.fitolamp_money_monthly - type: entities title: "Теория трехтарифника" show_header_toggle: false diff --git a/nginx/settings/site-confs/default.conf b/nginx/settings/site-confs/default.conf index 732e3c2..1f292d0 100644 --- a/nginx/settings/site-confs/default.conf +++ b/nginx/settings/site-confs/default.conf @@ -11,7 +11,7 @@ server { #letsencrypt challenge response location ~/.well-known/acme-challenge/(.*)$ { - return 200 '$1'; + proxy_pass http://certbot; } location / { diff --git a/nginx/settings/site-confs/default.conf.save b/nginx/settings/site-confs/default.conf.save new file mode 100644 index 0000000..ba2f7c4 --- /dev/null +++ b/nginx/settings/site-confs/default.conf.save @@ -0,0 +1,30 @@ +server { + listen 80 default_server; + #listen 443 default ssl; + + server_name _; + + #ssl_certificate /config/keys/cert.crt; + #ssl_certificate_key /config/keys/cert.key; + + client_max_body_size 0; + + #letsencrypt challenge response +CdVsNcvBapg7d3o0ZaixdMbMt5FqG7T7Z19CJsotuGI.hTi2mqIkE64NQibEfAxiC4ih0s6_pk4Ne2hCgHXFntI location ~/.well-known/acme-challenge/(.*)$ { + return 200 '$1'; + } + + location / { + real_ip_header X-Forwarded-For; + set_real_ip_from 0.0.0.0/0; + + proxy_pass http://hass; + proxy_set_header Host $host; + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $remote_addr; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + } +} diff --git a/nginx/settings/site-confs/home.conf b/nginx/settings/site-confs/home.conf index 3b98150..f63cbe2 100644 --- a/nginx/settings/site-confs/home.conf +++ b/nginx/settings/site-confs/home.conf @@ -31,11 +31,8 @@ server { #limit_conn perip 10; #access_log off; - location ~/.well-known/acme-challenge/(.*)\.(.*)$ { - return 200 '$1'; - } location ~/.well-known/acme-challenge/(.*)$ { - return 200 '$1'; + proxy_pass http://certbot; } location / {