From d31fbfe31ee26b70f13c93d910f5ce0d3ce1d8c2 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 5 Feb 2020 17:34:44 +0100 Subject: ma 2/homeautomation -> 2/ham avoid overlapping autocomplete with home-manager --- makefu/2configs/ham/multi/timer.nix | 123 ++++++++++++++++++++++ makefu/2configs/ham/multi/zigbee2mqtt.nix | 165 ++++++++++++++++++++++++++++++ 2 files changed, 288 insertions(+) create mode 100644 makefu/2configs/ham/multi/timer.nix create mode 100644 makefu/2configs/ham/multi/zigbee2mqtt.nix (limited to 'makefu/2configs/ham/multi') diff --git a/makefu/2configs/ham/multi/timer.nix b/makefu/2configs/ham/multi/timer.nix new file mode 100644 index 000000000..eafb7841d --- /dev/null +++ b/makefu/2configs/ham/multi/timer.nix @@ -0,0 +1,123 @@ +# Provides: +# timer +# automation +# script + +# Needs: +# sensor.zigbee_btn1_click +# notify.telegrambot +let + button = "sensor.zigbee_btn1_click"; +in { + timer.kurzzeitwecker = + { + name = "Zigbee Kurzzeitwecker"; + duration = 300; + }; + script.add_5_minutes_to_kurzzeitwecker = + { + alias = "Add 5 minutes to kurzzeitwecker"; + sequence = [ + { service = "timer.pause"; + entity_id = "timer.kurzzeitwecker"; + } + { service = "timer.start"; + data_template = { + entity_id = "timer.kurzzeitwecker"; + duration = '' + {% set r = state_attr('timer.wecker', 'remaining') ~ '-0000' %} + {% set t = strptime(r, '%H:%M:%S.%f%z') %} + {{ (as_timestamp(t) + 300) | timestamp_custom('%H:%M:%S', false) }} + ''; + }; + } + ]; + }; + automation = + [ + { + alias = "Start Timer 5min"; + trigger = { + platform = "state"; + entity_id = button; + to = "single"; + }; + condition = + { condition = "state"; + entity_id = "timer.kurzzeitwecker"; + state = "idle"; + }; + + action = [ + { service = "timer.start"; + entity_id = "timer.kurzzeitwecker"; + duration = "00:05:00"; + } + { + service = "notify.telegrambot"; + data = { + title = "Timer gestartet"; + message = "Timer auf 5 minuten gestellt"; + }; + } + ]; + } + { + alias = "Start Timer 10min"; + trigger = { + platform = "state"; + entity_id = button; + to = "double"; + }; + condition = + { + condition = "state"; + entity_id = "timer.kurzzeitwecker"; + state = "idle"; + }; + action = + [ + { + service = "timer.start"; + entity_id = "timer.kurzzeitwecker"; + duration = "00:10:00"; + } + { + service = "notify.telegrambot"; + data = { + title = "Timer gestartet"; + message = "Timer auf 10 minuten gestellt"; + }; + } + ]; + } + { + alias = "Stop timer on triple click"; + trigger = + { + platform = "state"; + entity_id = button; + to = "triple"; + }; + condition = + { + condition = "state"; + entity_id = "timer.kurzzeitwecker"; + state = "active"; + }; + + action = [ + { + service = "timer.stop"; + entity_id = "timer.kurzzeitwecker"; + } + { + service = "notify.telegrambot"; + data = { + title = "Timer gestoppt"; + }; + } + ]; + } + ]; +} diff --git a/makefu/2configs/ham/multi/zigbee2mqtt.nix b/makefu/2configs/ham/multi/zigbee2mqtt.nix new file mode 100644 index 000000000..ba81b1298 --- /dev/null +++ b/makefu/2configs/ham/multi/zigbee2mqtt.nix @@ -0,0 +1,165 @@ +# provides: +# switch +# automation +# binary_sensor +# sensor +# input_select +# timer +let + inherit (import ../lib) zigbee; + prefix = zigbee.prefix; + xiaomi_btn = name: [ + (zigbee.battery name) + (zigbee.linkquality name) + (zigbee.click name) + ]; + xiaomi_temp = name: [ + (zigbee.battery name) + (zigbee.linkquality name) + (zigbee.temperature name) + (zigbee.humidity name) + (zigbee.pressure name) + ]; + xiaomi_contact = name: [ + (zigbee.battery name) + (zigbee.linkquality name) + (zigbee.contact name) + ]; + router_link = name: [ + (zigbee.linkquality name) + ]; + router_bin = name: [ + (zigbee.state name) + ]; +in { + sensor = + (xiaomi_btn "btn1") + ++ (xiaomi_btn "btn2") + ++ (xiaomi_btn "btn3") + + ++ (xiaomi_temp "temp1") + ++ (xiaomi_temp "temp2") + ++ (xiaomi_temp "temp3") + + ++ (router_link "router1") + ++ (router_link "router2") + + ++ [ + # Sensor for monitoring the bridge state + { + platform = "mqtt"; + name = "Zigbee2mqtt Bridge state"; + state_topic = "${prefix}/bridge/state"; + icon = "mdi:router-wireless"; + } + # Sensor for Showing the Zigbee2mqtt Version + { + platform = "mqtt"; + name = "Zigbee2mqtt Version"; + state_topic = "${prefix}/bridge/config"; + value_template = "{{ value_json.version }}"; + icon = "mdi:zigbee"; + } + # Sensor for Showing the Coordinator Version + { + platform = "mqtt"; + name = "Coordinator Version"; + state_topic = "${prefix}/bridge/config"; + value_template = "{{ value_json.coordinator }}"; + icon = "mdi:chip"; + } + ]; + binary_sensor = + (router_bin "router1") + ++ (router_bin "router2"); + switch = [ + { + platform = "mqtt"; + name = "Zigbee2mqtt Main join"; + state_topic = "${prefix}/bridge/config/permit_join"; + command_topic = "${prefix}/bridge/config/permit_join"; + payload_on = "true"; + payload_off = "false"; + } + ]; + automation = [ + { + alias = "Zigbee2mqtt Log Level"; + initial_state = "on"; + trigger = { + platform = "state"; + entity_id = "input_select.zigbee2mqtt_log_level"; + }; + action = [ + { + service = "mqtt.publish"; + data = { + payload_template = "{{ states('input_select.zigbee2mqtt_log_level') }}"; + topic = "${prefix}/bridge/config/log_level"; + }; + } + ]; + } +# Automation to start timer when enable join is turned on + { + id = "zigbee_join_enabled"; + alias = "Zigbee Join Enabled"; + hide_entity = "true"; + trigger = + { + platform = "state"; + entity_id = "switch.zigbee2mqtt_main_join"; + to = "on"; + }; + action = + { + service = "timer.start"; + entity_id = "timer.zigbee_permit_join"; + }; + } +# # Automation to stop timer when switch turned off and turn off switch when timer finished + { + id = "zigbee_join_disabled"; + alias = "Zigbee Join Disabled"; + hide_entity = "true"; + trigger = [ + { + platform = "event"; + event_type = "timer.finished"; + event_data.entity_id = "timer.zigbee_permit_join"; + } + { + platform = "state"; + entity_id = "switch.zigbee2mqtt_main_join"; + to = "off"; + } + ]; + action = [ + { service = "timer.cancel"; + data.entity_id = "timer.zigbee_permit_join"; + } + { service = "switch.turn_off"; + entity_id = "switch.zigbee2mqtt_main_join"; + } + ]; + } + ]; + input_select.zigbee2mqtt_log_level = + { + name = "Zigbee2mqtt Log Level"; + options = [ + "debug" + "info" + "warn" + "error" + ]; + initial = "info"; + icon = "mdi:format-list-bulleted"; + }; + + timer.zigbee_permit_join = + { + name = "Zigbee Time remaining"; + duration = 120; + }; +} -- cgit v1.3.1 From 910686f65623aaccfcf55b91b538441bfbbec5d9 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 24 Feb 2020 16:55:34 +0100 Subject: ma ham/esphome: init --- makefu/2configs/ham/default.nix | 112 +++++++---------------- makefu/2configs/ham/multi/esphome.nix | 45 +++++++++ makefu/2configs/ham/multi/kurzzeitwecker.nix | 132 +++++++++++++++++++++++++++ 3 files changed, 211 insertions(+), 78 deletions(-) create mode 100644 makefu/2configs/ham/multi/esphome.nix create mode 100644 makefu/2configs/ham/multi/kurzzeitwecker.nix (limited to 'makefu/2configs/ham/multi') diff --git a/makefu/2configs/ham/default.nix b/makefu/2configs/ham/default.nix index 56acc2d07..1a65ba62c 100644 --- a/makefu/2configs/ham/default.nix +++ b/makefu/2configs/ham/default.nix @@ -7,10 +7,12 @@ let hlib = (import ./lib); prefix = hlib.prefix; tasmota = hlib.tasmota; - firetv = "192.168.1.183"; - kodi-host = firetv; + firetv_stick = "192.168.1.24"; hassdir = "/var/lib/hass"; zigbee = import ./multi/zigbee2mqtt.nix; + flurlicht = import ./multi/flurlicht.nix; + kurzzeitwecker = import ./multi/kurzzeitwecker.nix; + esphome = import ./multi/esphome.nix; # switch # automation # binary_sensor @@ -25,7 +27,7 @@ in { services.home-assistant = { config = { input_select = zigbee.input_select; # dict - timer = zigbee.timer; # dict + timer = zigbee.timer // kurzzeitwecker.timer; # dict homeassistant = { name = "Home"; time_zone = "Europe/Berlin"; latitude = "48.7687"; @@ -57,7 +59,7 @@ in { { platform = "kodi"; name = "wohnzimmer"; - host = kodi-host; + host = firetv_stick; } { platform = "telegram"; @@ -71,12 +73,13 @@ in { recorder = {}; media_player = [ { platform = "kodi"; - host = firetv; + host = firetv_stick; } - { platform = "firetv"; + { platform = "androidtv"; name = "FireTV Stick"; - host = firetv; - adbkey = ; + device_class = "firetv"; + # adb_server_ip = firetv_stick; + host = firetv_stick; } ]; mqtt = { @@ -100,21 +103,26 @@ in { retain = true; }; }; - binary_sensor = [ - (tasmota.motion { name = "Flur Bewegung"; host = "flurlicht";}) - ] ++ zigbee.binary_sensor; + luftdaten = { + show_on_map = true; + sensor_id = 679; + sensors.monitored_conditions = [ "P1" "P2" ]; + }; + binary_sensor = + zigbee.binary_sensor + ++ esphome.binary_sensor + ++ flurlicht.binary_sensor; sensor = [ - # broken - #{ platform = "speedtest"; - # monitored_conditions = [ "ping" "download" "upload" ]; - #} + { platform = "speedtest"; + monitored_conditions = [ "ping" "download" "upload" ]; + } # https://www.home-assistant.io/cookbook/automation_for_rainy_days/ ] ++ ((import ./sensor/outside.nix) {inherit lib;}) - ++ zigbee.sensor - ++ (tasmota.bme { name = "Schlafzimmer"; host = "schlafzimmer";}) - ++ (tasmota.am2301 { name= "Arbeitszimmer" ; host = "arbeitszimmer"; }); + ++ esphome.sensor + ++ zigbee.sensor ; frontend = { }; + light = flurlicht.light ++ esphome.light; group = { default_view = { view = "yes"; @@ -157,66 +165,14 @@ in { ]; }; http = { }; - switch = [ - (tasmota.plug { name = "Lichterkette Schlafzimmer"; host = "schlafzimmer";}) - (tasmota.plug { name = "Strom Staubsauger"; host = "arbeitszimmer"; } ) - ] ++ zigbee.switch; - light = [ (tasmota.rgb { name = "Flurlicht"; host = "flurlicht";} ) ]; - automation = [ - { alias = "Dunkel bei Sonnenuntergang"; - trigger = { - platform = "sun"; - event = "sunset"; - # offset: "-00:45:00" - }; - action = [ - { - service= "light.turn_on"; - data = { - entity_id= "light.flurlicht"; - # rgb_color = [ 0,0,0 ]; <-- TODO default color - brightness_pct = 15; - }; - } - { - service= "light.turn_off"; - entity_id= "light.flurlicht"; - } - ]; - } - { alias = "Hell bei Sonnenaufgang"; - trigger = { - platform = "sun"; - event = "sunrise"; - # offset: "-00:00:00" - }; - action = [ - { - service= "light.turn_on"; - data = { - entity_id= "light.flurlicht"; - brightness_pct = 85; - }; - } - { - service= "light.turn_off"; - entity_id= "light.flurlicht"; - } - ]; - } - #{ alias = "Staubsauger Strom aus nach 6h"; - # trigger = { - # platform = "state"; - # entity_id = "switch.strom_staubsauger"; - # to = "on"; - # for.hours = 6; - # }; - # action = { - # service= "homeassistant.turn_off"; - # entity_id= "switch.strom_staubsauger"; - # }; - #} - ] ++ zigbee.automation; + switch = + esphome.switch + ++ zigbee.switch; + automation = + flurlicht.automation + ++ kurzzeitwecker.automation + ++ zigbee.automation; + script = kurzzeitwecker.script; # dict }; enable = true; configDir = hassdir; diff --git a/makefu/2configs/ham/multi/esphome.nix b/makefu/2configs/ham/multi/esphome.nix new file mode 100644 index 000000000..8ca12d899 --- /dev/null +++ b/makefu/2configs/ham/multi/esphome.nix @@ -0,0 +1,45 @@ +# provides: +# switch +# automation +# binary_sensor +# sensor +# input_select +# timer +let + inherit (import ../lib) esphome; + sonoff_s20 = host: { + sensor = [ + (esphome.ip { inherit host;}) + (esphome.wifi { inherit host;}) + (esphome.temp { inherit host;}) + (esphome.hum { inherit host;}) + ]; + binary_sensor = [ + (esphome.btn { inherit host;}) + ]; + light = [ + (esphome.monoled { inherit host;}) + ]; + switch = [ + (esphome.relay { inherit host;}) + (esphome.restart { inherit host;}) + ]; + }; + dusche = sonoff_s20 "dusche_plug"; + schlafzimmer = sonoff_s20 "schlafzimmer_plug"; +in { + sensor = [ + (esphome.pressure {host = "dusche_plug";}) + ] + ++ dusche.sensor + ++ schlafzimmer.sensor; + binary_sensor = + dusche.binary_sensor + ++ schlafzimmer.binary_sensor; + light = + dusche.light + ++ schlafzimmer.light; + switch = + dusche.switch + ++ schlafzimmer.switch; +} diff --git a/makefu/2configs/ham/multi/kurzzeitwecker.nix b/makefu/2configs/ham/multi/kurzzeitwecker.nix new file mode 100644 index 000000000..03d0d5aac --- /dev/null +++ b/makefu/2configs/ham/multi/kurzzeitwecker.nix @@ -0,0 +1,132 @@ +# Provides: +# timer +# automation +# script + +# Needs: +# sensor.zigbee_btn1_click +# notify.telegrambot +let + button = "sensor.zigbee_btn2_click"; +in { + timer.kurzzeitwecker = + { + name = "Zigbee Kurzzeitwecker"; + duration = 300; + }; + script.add_5_minutes_to_kurzzeitwecker = + { + alias = "Add 5 minutes to kurzzeitwecker"; + sequence = [ + { service = "timer.pause"; + entity_id = "timer.kurzzeitwecker"; + } + { service = "timer.start"; + data_template = { + entity_id = "timer.kurzzeitwecker"; + duration = '' + {% set r = state_attr('timer.kurzzeitwecker', 'remaining') ~ '-0000' %} + {% set t = strptime(r, '%H:%M:%S.%f%z') %} + {{ (as_timestamp(t) + 300) | timestamp_custom('%H:%M:%S', false) }} + ''; + }; + } + ]; + }; + automation = + [ + { + alias = "Start Timer 5min"; + trigger = { + platform = "state"; + entity_id = button; + to = "single"; + }; + condition = + { condition = "state"; + entity_id = "timer.kurzzeitwecker"; + state = "idle"; + }; + + action = [ + { service = "timer.start"; + entity_id = "timer.kurzzeitwecker"; + data.duration = "00:05:00"; + } + { + service = "notify.telegrambot"; + data.message = "Timer gestartet {{state_attr('timer.kurzzeitwecker', 'remaining') }}, verbleibend "; + } + ]; + } + { + alias = "Add Timer 5min"; + trigger = { + platform = "state"; + entity_id = button; + to = "single"; + }; + condition = + { condition = "state"; + entity_id = "timer.kurzzeitwecker"; + state = "active"; + }; + + action = [ + { service = "homeassistant.turn_on"; + entity_id = "script.add_5_minutes_to_kurzzeitwecker"; + } + { + service = "notify.telegrambot"; + data.message = ''Timer um 5 minuten verlängert, {{ state_attr('timer.kurzzeitwecker', 'remaining') | truncate(9,True," ") }} verbleibend ''; + } + ]; + } + { + alias = "Stop timer on double click"; + trigger = [ + { + platform = "state"; + entity_id = button; + to = "double"; + } + { + platform = "state"; + entity_id = button; + to = "triple"; + } + ]; + condition = + { + condition = "state"; + entity_id = "timer.kurzzeitwecker"; + state = "active"; + }; + + action = [ + { + service = "timer.cancel"; + entity_id = "timer.kurzzeitwecker"; + } + { + service = "notify.telegrambot"; + data.message = "Timer gestoppt, abgebrochen"; + } + ]; + } + { + alias = "Timer Finished"; + trigger = { + platform = "event"; + event_type = "timer.finished"; + event_data.entity_id = "timer.kurzzeitwecker"; + }; + action = [ + { + service = "notify.telegrambot"; + data.message = "Timer beendet"; + } + ]; + } + ]; +} -- cgit v1.3.1 From bcbc9ad90304a7bc86018e1fdb08c12feb33f17f Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 24 Feb 2020 16:56:42 +0100 Subject: ma ham/esphome: rip, replaced with autodiscovery --- makefu/2configs/ham/default.nix | 10 +++----- makefu/2configs/ham/multi/esphome.nix | 45 ----------------------------------- 2 files changed, 3 insertions(+), 52 deletions(-) delete mode 100644 makefu/2configs/ham/multi/esphome.nix (limited to 'makefu/2configs/ham/multi') diff --git a/makefu/2configs/ham/default.nix b/makefu/2configs/ham/default.nix index 1a65ba62c..de9fa6be7 100644 --- a/makefu/2configs/ham/default.nix +++ b/makefu/2configs/ham/default.nix @@ -12,7 +12,6 @@ let zigbee = import ./multi/zigbee2mqtt.nix; flurlicht = import ./multi/flurlicht.nix; kurzzeitwecker = import ./multi/kurzzeitwecker.nix; - esphome = import ./multi/esphome.nix; # switch # automation # binary_sensor @@ -34,7 +33,7 @@ in { longitude = "9.2478"; elevation = 247; }; - #discovery = {}; + discovery = {}; conversation = {}; history = {}; logbook = {}; @@ -110,7 +109,6 @@ in { }; binary_sensor = zigbee.binary_sensor - ++ esphome.binary_sensor ++ flurlicht.binary_sensor; sensor = [ { platform = "speedtest"; @@ -119,10 +117,9 @@ in { # https://www.home-assistant.io/cookbook/automation_for_rainy_days/ ] ++ ((import ./sensor/outside.nix) {inherit lib;}) - ++ esphome.sensor ++ zigbee.sensor ; frontend = { }; - light = flurlicht.light ++ esphome.light; + light = flurlicht.light; group = { default_view = { view = "yes"; @@ -166,8 +163,7 @@ in { }; http = { }; switch = - esphome.switch - ++ zigbee.switch; + zigbee.switch; automation = flurlicht.automation ++ kurzzeitwecker.automation diff --git a/makefu/2configs/ham/multi/esphome.nix b/makefu/2configs/ham/multi/esphome.nix deleted file mode 100644 index 8ca12d899..000000000 --- a/makefu/2configs/ham/multi/esphome.nix +++ /dev/null @@ -1,45 +0,0 @@ -# provides: -# switch -# automation -# binary_sensor -# sensor -# input_select -# timer -let - inherit (import ../lib) esphome; - sonoff_s20 = host: { - sensor = [ - (esphome.ip { inherit host;}) - (esphome.wifi { inherit host;}) - (esphome.temp { inherit host;}) - (esphome.hum { inherit host;}) - ]; - binary_sensor = [ - (esphome.btn { inherit host;}) - ]; - light = [ - (esphome.monoled { inherit host;}) - ]; - switch = [ - (esphome.relay { inherit host;}) - (esphome.restart { inherit host;}) - ]; - }; - dusche = sonoff_s20 "dusche_plug"; - schlafzimmer = sonoff_s20 "schlafzimmer_plug"; -in { - sensor = [ - (esphome.pressure {host = "dusche_plug";}) - ] - ++ dusche.sensor - ++ schlafzimmer.sensor; - binary_sensor = - dusche.binary_sensor - ++ schlafzimmer.binary_sensor; - light = - dusche.light - ++ schlafzimmer.light; - switch = - dusche.switch - ++ schlafzimmer.switch; -} -- cgit v1.3.1 From 0f93e2d02aa7bd63771a3ad41b0b0ffffbc0c564 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 3 Mar 2020 21:19:19 +0100 Subject: ma ham: cleanup --- makefu/2configs/ham/lib/default.nix | 1 + makefu/2configs/ham/multi/timer.nix | 123 ------------------------------ makefu/2configs/ham/multi/zigbee2mqtt.nix | 38 +-------- makefu/2configs/ham/sensor/outside.nix | 6 -- 4 files changed, 2 insertions(+), 166 deletions(-) delete mode 100644 makefu/2configs/ham/multi/timer.nix (limited to 'makefu/2configs/ham/multi') diff --git a/makefu/2configs/ham/lib/default.nix b/makefu/2configs/ham/lib/default.nix index c2d7916c1..45c86138b 100644 --- a/makefu/2configs/ham/lib/default.nix +++ b/makefu/2configs/ham/lib/default.nix @@ -40,4 +40,5 @@ in entity = "firetv"; }; }; + zigbee.prefix = "/ham/zigbee"; } diff --git a/makefu/2configs/ham/multi/timer.nix b/makefu/2configs/ham/multi/timer.nix deleted file mode 100644 index eafb7841d..000000000 --- a/makefu/2configs/ham/multi/timer.nix +++ /dev/null @@ -1,123 +0,0 @@ -# Provides: -# timer -# automation -# script - -# Needs: -# sensor.zigbee_btn1_click -# notify.telegrambot -let - button = "sensor.zigbee_btn1_click"; -in { - timer.kurzzeitwecker = - { - name = "Zigbee Kurzzeitwecker"; - duration = 300; - }; - script.add_5_minutes_to_kurzzeitwecker = - { - alias = "Add 5 minutes to kurzzeitwecker"; - sequence = [ - { service = "timer.pause"; - entity_id = "timer.kurzzeitwecker"; - } - { service = "timer.start"; - data_template = { - entity_id = "timer.kurzzeitwecker"; - duration = '' - {% set r = state_attr('timer.wecker', 'remaining') ~ '-0000' %} - {% set t = strptime(r, '%H:%M:%S.%f%z') %} - {{ (as_timestamp(t) + 300) | timestamp_custom('%H:%M:%S', false) }} - ''; - }; - } - ]; - }; - automation = - [ - { - alias = "Start Timer 5min"; - trigger = { - platform = "state"; - entity_id = button; - to = "single"; - }; - condition = - { condition = "state"; - entity_id = "timer.kurzzeitwecker"; - state = "idle"; - }; - - action = [ - { service = "timer.start"; - entity_id = "timer.kurzzeitwecker"; - duration = "00:05:00"; - } - { - service = "notify.telegrambot"; - data = { - title = "Timer gestartet"; - message = "Timer auf 5 minuten gestellt"; - }; - } - ]; - } - { - alias = "Start Timer 10min"; - trigger = { - platform = "state"; - entity_id = button; - to = "double"; - }; - condition = - { - condition = "state"; - entity_id = "timer.kurzzeitwecker"; - state = "idle"; - }; - action = - [ - { - service = "timer.start"; - entity_id = "timer.kurzzeitwecker"; - duration = "00:10:00"; - } - { - service = "notify.telegrambot"; - data = { - title = "Timer gestartet"; - message = "Timer auf 10 minuten gestellt"; - }; - } - ]; - } - { - alias = "Stop timer on triple click"; - trigger = - { - platform = "state"; - entity_id = button; - to = "triple"; - }; - condition = - { - condition = "state"; - entity_id = "timer.kurzzeitwecker"; - state = "active"; - }; - - action = [ - { - service = "timer.stop"; - entity_id = "timer.kurzzeitwecker"; - } - { - service = "notify.telegrambot"; - data = { - title = "Timer gestoppt"; - }; - } - ]; - } - ]; -} diff --git a/makefu/2configs/ham/multi/zigbee2mqtt.nix b/makefu/2configs/ham/multi/zigbee2mqtt.nix index ba81b1298..947eb5517 100644 --- a/makefu/2configs/ham/multi/zigbee2mqtt.nix +++ b/makefu/2configs/ham/multi/zigbee2mqtt.nix @@ -8,43 +8,10 @@ let inherit (import ../lib) zigbee; prefix = zigbee.prefix; - xiaomi_btn = name: [ - (zigbee.battery name) - (zigbee.linkquality name) - (zigbee.click name) - ]; - xiaomi_temp = name: [ - (zigbee.battery name) - (zigbee.linkquality name) - (zigbee.temperature name) - (zigbee.humidity name) - (zigbee.pressure name) - ]; - xiaomi_contact = name: [ - (zigbee.battery name) - (zigbee.linkquality name) - (zigbee.contact name) - ]; - router_link = name: [ - (zigbee.linkquality name) - ]; - router_bin = name: [ - (zigbee.state name) - ]; in { sensor = - (xiaomi_btn "btn1") - ++ (xiaomi_btn "btn2") - ++ (xiaomi_btn "btn3") - - ++ (xiaomi_temp "temp1") - ++ (xiaomi_temp "temp2") - ++ (xiaomi_temp "temp3") - - ++ (router_link "router1") - ++ (router_link "router2") - ++ [ + [ # Sensor for monitoring the bridge state { platform = "mqtt"; @@ -69,9 +36,6 @@ in { icon = "mdi:chip"; } ]; - binary_sensor = - (router_bin "router1") - ++ (router_bin "router2"); switch = [ { platform = "mqtt"; diff --git a/makefu/2configs/ham/sensor/outside.nix b/makefu/2configs/ham/sensor/outside.nix index 8436b8de2..c46b35ba3 100644 --- a/makefu/2configs/ham/sensor/outside.nix +++ b/makefu/2configs/ham/sensor/outside.nix @@ -17,10 +17,4 @@ units = "si" ; scan_interval = "00:30:00"; } - { platform = "luftdaten"; - name = "Muehlhausen"; - show_on_map = true; - sensor_id = "679"; - sensors.monitored_conditions = [ "P1" "P2" ]; - } ] -- cgit v1.3.1 From 5a17797ba942c1615ad83d1b085d2af2120c4fdd Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 3 Mar 2020 21:19:46 +0100 Subject: ma ham: prepare flurlicht --- makefu/2configs/ham/multi/flurlicht.nix | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 makefu/2configs/ham/multi/flurlicht.nix (limited to 'makefu/2configs/ham/multi') diff --git a/makefu/2configs/ham/multi/flurlicht.nix b/makefu/2configs/ham/multi/flurlicht.nix new file mode 100644 index 000000000..25eb78b7f --- /dev/null +++ b/makefu/2configs/ham/multi/flurlicht.nix @@ -0,0 +1,57 @@ +# provides: +# light +# automation +# binary_sensor +let + hlib = (import ../lib); + tasmota = hlib.tasmota; +in +{ + binary_sensor = [ + (tasmota.motion { name = "Flur Bewegung"; host = "flurlicht";}) + ]; + light = [ (tasmota.rgb { name = "Flurlicht"; host = "flurlicht";} ) ]; + automation = [ + { alias = "Dunkel bei Sonnenuntergang"; + trigger = { + platform = "sun"; + event = "sunset"; + # offset: "-00:45:00" + }; + action = [ + { + service= "light.turn_on"; + data = { + entity_id= "light.flurlicht"; + # rgb_color = [ 0,0,0 ]; <-- TODO default color + brightness_pct = 15; + }; + } + { + service= "light.turn_off"; + entity_id= "light.flurlicht"; + } + ]; + } + { alias = "Hell bei Sonnenaufgang"; + trigger = { + platform = "sun"; + event = "sunrise"; + # offset: "-00:00:00" + }; + action = [ + { + service= "light.turn_on"; + data = { + entity_id= "light.flurlicht"; + brightness_pct = 85; + }; + } + { + service= "light.turn_off"; + entity_id= "light.flurlicht"; + } + ]; + } + ]; +} -- cgit v1.3.1