From ea1eb9e6faa14c8a1072a1d2d3906afa3ba18e0b Mon Sep 17 00:00:00 2001 From: Ben Melchior Date: Mon, 1 Sep 2025 11:54:19 +0200 Subject: [PATCH] Enhance automations and configuration with new features and improvements - Added new media player entity for doorbell notifications in automations.yaml. - Refactored automation sequences to include conditional actions based on triggers for sleep mode and KidsRoom. - Updated light and cover actions to improve functionality and responsiveness. - Introduced new scripts for critical notifications and smart shading management in scripts.yaml. - Added new KNX sensors for temperature, wind speed, and illuminance in sensor.yaml. - Created new packages for mobile dashboard and PV to DHW management to streamline automation processes. --- .cursor/mcp.json | 28 +- automations.yaml | 478 +++++++++++++++++++++++++-------- beschattung_skript.yaml | 0 configuration.yaml | 21 +- knx/sensor.yaml | 23 ++ packages/mobile_dashboard.yaml | 36 +++ packages/pv_to_dhw.yaml | 135 ++++++++++ scripts.yaml | 147 +++++++++- template/binary_sensor.yaml | 0 9 files changed, 724 insertions(+), 144 deletions(-) create mode 100644 beschattung_skript.yaml create mode 100644 packages/mobile_dashboard.yaml create mode 100644 packages/pv_to_dhw.yaml create mode 100644 template/binary_sensor.yaml diff --git a/.cursor/mcp.json b/.cursor/mcp.json index 14365f4..b3e3460 100644 --- a/.cursor/mcp.json +++ b/.cursor/mcp.json @@ -1,23 +1,11 @@ { - "project": { - "name": "home-assistant", - "type": "home-automation" - }, - "database": { - "type": "postgresql", - "connection_string": "!secret psql_string", - "retry_wait": 15 - }, - "configuration": { - "main_config": "configuration.yaml", - "secrets": "secrets.yaml", - "automations": "automations.yaml", - "scripts": "scripts.yaml" - }, - "directories": { - "custom_components": "custom_components", - "blueprints": "blueprints", - "tts": "tts", - "knx": "knx" + "mcpServers": { + "postgres": { + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-postgres"], + "env": { + "POSTGRES_CONNECTION_STRING": "postgresql://hass:FTXZ9r8iw0fTT655Q6tePTzp@synology.cobe.space:5433/hass" + } + } } } \ No newline at end of file diff --git a/automations.yaml b/automations.yaml index d907cdc..bed89b1 100644 --- a/automations.yaml +++ b/automations.yaml @@ -23,6 +23,7 @@ entity_id: - media_player.kuche - media_player.gallerie + - media_player.buedzemmer data: announce: true media_content_id: media-source://media_source/local/hass_media/doorbell.wav @@ -58,28 +59,6 @@ target: entity_id: input_boolean.videophone_anzeigen - sequence: - - action: llmvision.image_analyzer - metadata: {} - data: - include_filename: false - max_tokens: 150 - temperature: 0.2 - provider: 01JS9H5VFVF5YSYCFB9YW4G0TN - image_entity: - - camera.haustur - model: gemma3:12b - target_width: 1025 - message: 'Beschreibe kurz und knapp das Bild meiner Haustürkamera auf Deutsch. - Wieviele Person siehst du? - - - Ignoriere das weiße Haus im Hintergrund. Konzentriere die Beschreibung - auf Personen, Fahrzeuge oder sonstige Auffälligkeiten. - - - Antworte bloß mit der Beschreibung und sonst nichts.' - expose_images: false - response_variable: doorbell - action: script.cobe_haus_benachrichtigung metadata: {} data: @@ -188,6 +167,14 @@ - input_boolean.einschlaffmodus from: 'off' to: 'on' + - trigger: state + entity_id: + - input_boolean.schlaffmodus + from: 'off' + to: 'on' + - trigger: time + at: '19:00:00' + id: KidsRoom conditions: - condition: state entity_id: input_boolean.rolladenautomatik @@ -196,30 +183,52 @@ entity_id: input_boolean.rolladen_automatisch_offnen_schliessen state: 'on' actions: - - action: automation.turn_off - metadata: {} - data: - stop_actions: true - target: - entity_id: automation.automatik_fur_einzelne_rolladen_blockieren - - action: cover.close_cover - metadata: {} - data: {} - target: - floor_id: - - obergeschoss_2 - - obergeschoss_1 - - erdgeschoss - - delay: - hours: 0 - minutes: 0 - seconds: 45 - milliseconds: 0 - - action: automation.turn_on - metadata: {} - data: {} - target: - entity_id: automation.automatik_fur_einzelne_rolladen_blockieren + - if: + - condition: trigger + id: + - KidsRoom + then: + - action: cover.close_cover + metadata: {} + data: {} + target: + area_id: emil + else: + - delay: + minutes: '{{ range(0, 10) | random }}' + - action: automation.turn_off + metadata: {} + data: + stop_actions: true + target: + entity_id: automation.automatik_fur_einzelne_rolladen_blockieren + - action: cover.close_cover + metadata: {} + data: {} + target: + floor_id: + - erdgeschoss + entity_id: cover.r_og2_bz_01 + area_id: + - badezimmer + - gallerie + - millie + - action: cover.set_cover_position + metadata: {} + data: + position: 10 + target: + entity_id: cover.r_og2_sz_01 + - delay: + hours: 0 + minutes: 0 + seconds: 45 + milliseconds: 0 + - action: automation.turn_on + metadata: {} + data: {} + target: + entity_id: automation.automatik_fur_einzelne_rolladen_blockieren mode: single - id: '1743363549729' alias: Rolladen automatisch öffnen @@ -289,16 +298,38 @@ - input_boolean.einschlaffmodus from: 'off' to: 'on' + - trigger: state + entity_id: + - input_boolean.schlaffmodus + from: 'off' + to: 'on' + id: Sleepmode conditions: [] actions: - - action: light.turn_on - metadata: {} - data: - brightness: 1 - target: - entity_id: - - light.lda_og1_th_01 - - light.lda_eg_th_01 + - if: + - condition: trigger + id: + - Sleepmode + then: + - action: light.turn_on + metadata: {} + data: + brightness: 1 + target: + entity_id: + - light.lda_og1_th_01 + - light.lda_eg_th_01 + else: + - delay: + minutes: '{{ range(0, 10) | random }}' + - action: light.turn_on + metadata: {} + data: + brightness: 1 + target: + entity_id: + - light.lda_og1_th_01 + - light.lda_eg_th_01 mode: single - id: '1743363942165' alias: Nachtsbeleuchtung ausschalten @@ -865,7 +896,7 @@ - action: cover.set_cover_position metadata: {} data: - position: 20 + position: 10 target: entity_id: - cover.r_og1_sz1_01 @@ -1149,10 +1180,14 @@ description: '' triggers: - trigger: time - at: '23:00:00' + at: 02:00:00 id: Daily conditions: [] actions: + - type: turn_on + device_id: 5f704f24d996f22b6a82273e2ee88242 + entity_id: e79374aabc0af81724658bc488007630 + domain: switch - device_id: 5f704f24d996f22b6a82273e2ee88242 domain: button entity_id: 2929dbf56880c02b94587e368d0b9b4f @@ -1191,49 +1226,6 @@ title: COBE Haus message: Stroum as erem do. mode: single -- id: '1746189714262' - alias: Solarenergie im Boiler speichern - description: '' - triggers: - - trigger: time_pattern - hours: '16' - conditions: - - condition: numeric_state - entity_id: sensor.power_produced - above: 6 - - condition: numeric_state - entity_id: sensor.sh15t_battery_level_soc - above: 95 - - condition: numeric_state - entity_id: sensor.sh15t_daily_feed_in_energy_pv - above: 50 - actions: - - action: number.set_value - metadata: {} - data: - value: '60' - target: - entity_id: number.boiler_dhw_comfort_switch_off - enabled: false - - action: switch.turn_on - metadata: {} - data: {} - target: - entity_id: switch.thermostat_dhw_charge - - delay: - hours: 1 - minutes: 30 - seconds: 0 - milliseconds: 0 - enabled: false - - action: number.set_value - metadata: {} - data: - value: '55' - target: - entity_id: number.boiler_dhw_comfort_switch_off - enabled: false - mode: single - id: '1746191829471' alias: Alarmkontakte für Schlaffzimmerfenster auschalten. description: '' @@ -1383,7 +1375,7 @@ - action: cover.set_cover_position metadata: {} data: - position: 20 + position: 50 target: entity_id: cover.r_eg_wc_01 - if: @@ -1476,15 +1468,285 @@ entity_id: person.conny_eller zone: zone.home actions: - - action: notify.mobile_app_iphone + - action: script.cobe_haus_benachrichtigung metadata: {} data: - message: Et as keen méi Dohem. Soll ech d'Alarmanlag uschalten? title: COBE Haus - data: - actions: - - action: TURN_ON_ALARM - title: Alarm uschalten - - action: NEE - title: Nee + message: Alarmanlag uschalten! Dass kee méi Dohem! mode: single +- id: '1749672504492' + alias: DHW PV Boost Einschalten + description: '' + triggers: + - trigger: state + entity_id: + - binary_sensor.dhw_pv_boost_active + from: 'off' + to: 'on' + for: + hours: 0 + minutes: 5 + seconds: 0 + conditions: + - condition: time + after: input_datetime.dhw_pv_boost_start + before: input_datetime.dhw_pv_boost_end + actions: + - action: number.set_value + metadata: {} + data: + value: '{{ states(''input_number.dhw_pv_boost_temp'') }}' + target: + entity_id: number.boiler_dhw_comfort_switch_off + - action: select.select_option + metadata: {} + data: + option: high comfort + target: + entity_id: select.boiler_dhw_comfort_mode + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + message: 'DHW PV-Boost started - Excess: {{ states(''sensor.sh15t_total_export_active_power'') + }}kW' + title: COBE Haus - DHW PV-Boost + mode: single +- id: '1749676379350' + alias: DHW PV Boost Ausschalten + description: '' + triggers: + - trigger: state + entity_id: + - binary_sensor.dhw_pv_boost_active + from: 'on' + to: 'off' + for: + hours: 0 + minutes: 2 + seconds: 0 + - trigger: time + at: input_datetime.dhw_pv_boost_end + conditions: [] + actions: + - action: number.set_value + metadata: {} + data: + value: '55' + target: + entity_id: number.boiler_dhw_comfort_switch_off + - action: select.select_option + metadata: {} + data: + option: eco + target: + entity_id: select.boiler_dhw_comfort_mode + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + message: DHW PV-Boost stopped - Temperature reached or excess too low + title: COBE Haus - DHW PV-Boost + mode: single +- id: '1751218659966' + alias: Whirlpool Bubbels + description: '' + triggers: + - trigger: state + entity_id: + - switch.whirlpool_bubbles + to: 'on' + from: 'off' + conditions: [] + actions: + - delay: + hours: 0 + minutes: 5 + seconds: 0 + milliseconds: 0 + - action: switch.turn_off + metadata: {} + data: {} + target: + entity_id: switch.whirlpool_bubbles + mode: single +- id: '1751218899702' + alias: Daily Whirlpool Filter + description: '' + triggers: + - trigger: time + at: '10:00:00' + conditions: [] + actions: + - action: switch.turn_on + metadata: {} + data: {} + target: + entity_id: switch.whirlpool_filter + mode: single +- id: '1752422245913' + alias: 'Verfügbarkeit: Whirlpool' + description: '' + triggers: + - trigger: state + entity_id: + - switch.whirlpool_power + to: unavailable + for: + hours: 0 + minutes: 2 + seconds: 0 + conditions: [] + actions: + - action: notify.persistent_notification + metadata: {} + data: + title: COBE Haus + message: Den Whirlpool as net méi mam WIFI verbonnen! + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + title: COBE Haus + message: Den Whirlpool as net méi mam WIFI verbonnen! + mode: single +- id: '1752422417712' + alias: 'Verfügbarkeit: Risco Alarmanlage' + description: '' + triggers: + - trigger: state + entity_id: + - alarm_control_panel.cobe_haus + to: unavailable + for: + hours: 0 + minutes: 2 + seconds: 0 + conditions: [] + actions: + - action: notify.persistent_notification + metadata: {} + data: + title: COBE Haus + message: Alarmanlage as net méi am Réseaux! + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + title: COBE Haus + message: Alarmanlage as net méi am Réseaux! + mode: single +- id: '1752422778376' + alias: 'Risco: Alarm partiel aktivéiert' + description: '' + triggers: + - device_id: c13e5c5e52223e7a41d3521847c3617f + domain: alarm_control_panel + entity_id: 103f47ec3898b4bb5fe3b5b286702cd5 + type: armed_home + trigger: device + conditions: [] + actions: + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + title: COBE Haus + message: Alarm ass partiel aktivéiert ginn! + mode: single +- id: '1752422849449' + alias: 'Risco: Alarm komplet aktivéiert' + description: '' + triggers: + - device_id: c13e5c5e52223e7a41d3521847c3617f + domain: alarm_control_panel + entity_id: 103f47ec3898b4bb5fe3b5b286702cd5 + type: armed_away + trigger: device + conditions: [] + actions: + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + title: COBE Haus + message: Alarm ass komplett aktivéiert ginn! + mode: single +- id: '1752427491606' + alias: 'Risco: Alarm ausgeschalt' + description: '' + triggers: + - device_id: c13e5c5e52223e7a41d3521847c3617f + domain: alarm_control_panel + entity_id: 103f47ec3898b4bb5fe3b5b286702cd5 + type: disarmed + trigger: device + conditions: [] + actions: + - action: script.cobe_haus_benachrichtigung + metadata: {} + data: + title: COBE Haus + message: Alarm ass ausgeschalt ginn! + mode: single +- id: '1752427548457' + alias: 'Risco: Alarm ausgeléist' + description: '' + triggers: + - device_id: c13e5c5e52223e7a41d3521847c3617f + domain: alarm_control_panel + entity_id: 103f47ec3898b4bb5fe3b5b286702cd5 + type: triggered + trigger: device + conditions: [] + actions: + - action: script.cobe_haus_kritische_benachrichtigung + metadata: {} + data: + title: COBE Haus - KRITISCH + message: Alarm as ausgeléist ginn ! + mode: single +- id: '1752434002996' + alias: Präsenzmelder EG + description: '' + triggers: + - type: motion + device_id: ac370a9cf543af6e5b816c4d10262f97 + entity_id: 05b598d9e6cde098fa14f7e649aaedfb + domain: binary_sensor + trigger: device + - type: motion + device_id: 549bb15726fa895ba2718d54686c07db + entity_id: 159cce7929f5ca8e5dc7c0bd53c08243 + domain: binary_sensor + trigger: device + - type: motion + device_id: 5db3893e695787194f6d5de306aff1af + entity_id: 46877909625b770266b2139340c111fb + domain: binary_sensor + trigger: device + conditions: + - condition: state + entity_id: input_boolean.schlaffmodus + state: 'on' + - condition: device + type: is_off + device_id: 7caf75b15749aa7520a3b2aaf2177831 + entity_id: 505957aeb57b58199dd30b203061e78b + domain: remote + - condition: numeric_state + entity_id: light.lda_eg_ku_01 + attribute: brightness + below: 10 + actions: + - action: light.turn_on + metadata: {} + data: + brightness_pct: 2 + target: + entity_id: light.lda_eg_ku_01 + - delay: + hours: 0 + minutes: 0 + seconds: 30 + milliseconds: 0 + - action: light.turn_off + metadata: {} + data: {} + target: + entity_id: light.lda_eg_ku_01 + mode: restart diff --git a/beschattung_skript.yaml b/beschattung_skript.yaml new file mode 100644 index 0000000..e69de29 diff --git a/configuration.yaml b/configuration.yaml index 7cd8f80..0846b13 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -1,4 +1,3 @@ - # Loads default set of integrations. Do not remove. default_config: @@ -27,7 +26,25 @@ recorder: frontend: themes: !include_dir_merge_named themes +# Include packages +homeassistant: + packages: !include_dir_named packages + +template: !include template/binary_sensor.yaml automation: !include automations.yaml script: !include scripts.yaml scene: !include scenes.yaml -knx: !include knx/knx.yaml +knx: !include knx/knx.yaml + +# Storage for Bubble Card Modules +template: + - trigger: + - trigger: event + event_type: bubble_card_update_modules + sensor: + - name: "Bubble Card Modules" + state: "saved" + icon: "mdi:puzzle" + attributes: + modules: "{{ trigger.event.data.modules }}" + last_updated: "{{ trigger.event.data.last_updated }}" \ No newline at end of file diff --git a/knx/sensor.yaml b/knx/sensor.yaml index e57e4c7..00b8ae0 100644 --- a/knx/sensor.yaml +++ b/knx/sensor.yaml @@ -11,3 +11,26 @@ - name: 'SE_EG_WC_Proximity' state_address: '2/5/5' type: pulse + +- name: 'SE_AU_GT_Temp' + state_address: '5/5/1' + type: temperature + +- name: 'SE_AU_GT_Wind' + state_address: '5/5/2' + type: wind_speed_ms + +- name: 'SE_AU_GT_Lux East' + state_address: '5/5/3' + type: illuminance + device_class: illuminance + +- name: 'SE_AU_GT_Lux South' + state_address: '5/5/4' + type: illuminance + device_class: illuminance + +- name: 'SE_AU_GT_Lux West' + state_address: '5/5/5' + type: illuminance + device_class: illuminance \ No newline at end of file diff --git a/packages/mobile_dashboard.yaml b/packages/mobile_dashboard.yaml new file mode 100644 index 0000000..c7a7a4d --- /dev/null +++ b/packages/mobile_dashboard.yaml @@ -0,0 +1,36 @@ +template: + - sensor: + - name: "Mobile Dashboard Weather" + state: > + {% set condition = states('weather.forecast_home') | title %} + {% set temp = states('sensor.se_au_gt_temp') | float %} + {% set wind = states('sensor.se_au_gt_wind') | float %} + {% set condition_icon = { + 'Sunny': '☀️', + 'Partlycloudy': '⛅', + 'Cloudy': '☁️', + 'Rainy': '🌧️', + 'Snowy': '❄️', + 'Windy': '💨', + 'Fog': '🌫️' + }.get(condition, '🌤️') %} + {{ condition_icon }} {{ condition }} - 🌡️ {{ temp | round(1) }}°C - 💨 {{ wind | round(1) }} m/s + icon: > + {% set condition = states('weather.forecast_home') %} + {% if condition == 'sunny' %} + mdi:weather-sunny + {% elif condition == 'partlycloudy' %} + mdi:weather-partly-cloudy + {% elif condition == 'cloudy' %} + mdi:weather-cloudy + {% elif condition == 'rainy' %} + mdi:weather-rainy + {% elif condition == 'snowy' %} + mdi:weather-snowy + {% elif condition == 'windy' %} + mdi:weather-windy + {% elif condition == 'fog' %} + mdi:weather-fog + {% else %} + mdi:weather-cloudy + {% endif %} \ No newline at end of file diff --git a/packages/pv_to_dhw.yaml b/packages/pv_to_dhw.yaml new file mode 100644 index 0000000..a108f84 --- /dev/null +++ b/packages/pv_to_dhw.yaml @@ -0,0 +1,135 @@ +# ems-esp + + # Aktuelle Warmwassertemperatur: sensor.boiler_dhw_current_intern_temperature + # Soll Warmwassertemperatur: sensor.boiler_dhw_set_temperature + # Soll Warmwassertemperatur: (einstellen) number.boiler_dhw_comfort_switch_off + # DHW Heizen aktiv: binary_sensor.boiler_dhw_charging + +# sh15t + + # MPPT Total Power: sensor.sh15t_mppt_total_power + # Total Export Active Power: sensor.sh15t_total_export_active_power + + +template: + - sensor: + - name: "DHW Boost available" + state: > + {% set dhw_temp = states('sensor.boiler_dhw_current_intern_temperature') | float %} + {% set dhw_setpoint = states('sensor.boiler_dhw_set_temperature') | float %} + {% set temp_diff = dhw_setpoint - dhw_temp %} + {{ temp_diff > 5 }} + + - name: "DHW Boost Demand" + state: > + {% set excess = states('sensor.sh15t_total_export_active_power') | float %} + {% set dhw_available = states('sensor.dhw_boost_available') %} + {% set wp_power = states('input_number.dhw_pv_min_excess') | float %} + {{ excess > wp_power and dhw_available }} + + - binary_sensor: + - name: "DHW PV Boost active" + state: > + {{ states('input_boolean.dhw_pv_boost_enabled') == 'on' and + states('sensor.dhw_boost_demand') }} + +input_boolean: + dhw_pv_boost_enabled: + name: "DHW PV Boost enabled" + icon: mdi:water-boiler-auto + initial: false + +input_number: + dhw_pv_boost_temp: + name: "DHW PV Boost Setpoint temperature" + min: 45 + max: 65 + step: 1 + unit_of_measurement: "°C" + initial: 60 + + dhw_pv_min_excess: + name: "Minimal PV Excess for DHW" + min: 1 + max: 5 + step: 0.1 + unit_of_measurement: "kW" + initial: 2 + +input_datetime: + dhw_pv_boost_start: + name: "PV-Boost Earliest Start Time" + has_time: true + initial: "10:00:00" + + dhw_pv_boost_end: + name: "PV-Boost Latest End Time" + has_time: true + initial: "17:00:00" + +# automation: +# - id: 'dhw_pv_boost_start' +# alias: "DHW PV-Boost Start" +# trigger: +# - platform: numeric_state +# entity_id: sensor.sh15t_total_export_active_power +# above: input_number.dhw_pv_min_excess +# for: +# minutes: 5 +# condition: +# - condition: state +# entity_id: input_boolean.dhw_pv_boost_enabled +# state: 'on' +# - condition: time +# after: input_datetime.dhw_pv_boost_start +# before: input_datetime.dhw_pv_boost_end +# - condition: numeric_state +# entity_id: sensor.boiler_dhw_current_intern_temperature +# below: input_number.dhw_pv_boost_temp +# - condition: state +# entity_id: binary_sensor.boiler_dhw_charging +# state: 'off' +# action: +# - service: number.set_value +# target: +# entity_id: number.boiler_dhw_set_temperature +# data: +# value: "{{ states('input_number.dhw_pv_boost_temp') }}" +# - service: switch.turn_on +# target: +# entity_id: switch.boiler_dhw_comfort +# - service: script.cobe_haus_benachrichtigung +# data: +# message: "DHW PV-Boost started - Excess: {{ states('sensor.sh15t_total_export_active_power') }}kW" +# title: "COBE Haus - DHW PV-Boost" + +# - id: 'dhw_pv_boost_stop' +# alias: "DHW PV-Boost Stop" +# trigger: +# - platform: numeric_state +# entity_id: sensor.sh15t_total_export_active_power +# below: 1.0 +# for: +# minutes: 10 +# - platform: numeric_state +# entity_id: sensor.boiler_dhw_current_intern_temperature +# above: input_number.dhw_pv_boost_temp +# - platform: time +# at: input_datetime.dhw_pv_boost_end +# condition: +# - condition: state +# entity_id: binary_sensor.dhw_pv_boost_aktiv +# state: 'on' +# action: +# - service: number.set_value +# target: +# entity_id: number.boiler_dhw_set_temperature +# data: +# value: 50 +# - service: switch.turn_off +# target: +# entity_id: switch.boiler_dhw_comfort +# - service: script.cobe_haus_benachrichtigung +# data: +# message: "DHW PV-Boost stopped - Temperature reached or excess too low" +# title: "COBE Haus - DHW PV-Boost" diff --git a/scripts.yaml b/scripts.yaml index 0cb20f4..a9b3fe7 100644 --- a/scripts.yaml +++ b/scripts.yaml @@ -1,6 +1,6 @@ cobe_haus_benachrichtigung: sequence: - - action: notify.mobile_app_iphone + - action: notify.mobile_app_kn0x_tech_iphone metadata: {} data: message: '{{ message }}' @@ -10,11 +10,6 @@ cobe_haus_benachrichtigung: data: message: '{{ message }}' title: '{{ title }}' - - action: notify.mobile_app_sm_f711b - metadata: {} - data: - message: '{{ message }}' - title: '{{ title }}' fields: title: selector: @@ -32,7 +27,7 @@ cobe_haus_benachrichtigung: description: '' cobe_haus_benachrichtigung_mit_bild: sequence: - - action: notify.mobile_app_iphone + - action: notify.mobile_app_kn0x_tech_iphone metadata: {} data: message: '{{ message }}' @@ -46,13 +41,6 @@ cobe_haus_benachrichtigung_mit_bild: title: '{{ title }}' data: image: '{ image }' - - action: notify.mobile_app_sm_f711b - metadata: {} - data: - message: '{{ message }}' - title: '{{ title }}' - data: - image: '{ image }' fields: title: selector: @@ -74,3 +62,134 @@ cobe_haus_benachrichtigung_mit_bild: required: true alias: COBE Haus Benachrichtigung mit Bild description: '' +smarte_beschattung: + sequence: [] + fields: + cover_entity: + description: Entity ID des Rollladens + example: cover.wohnzimmer_rolladen + required: true + selector: + entity: + domain: cover + window_azimuth_start: + description: Start-Azimut des Fensters (Grad) + example: 135 + required: true + default: 90 + selector: + number: + min: 0 + max: 360 + step: 1 + unit_of_measurement: ° + window_azimuth_end: + description: End-Azimut des Fensters (Grad) + example: 225 + required: true + default: 270 + selector: + number: + min: 0 + max: 360 + step: 1 + unit_of_measurement: ° + min_elevation: + description: Minimale Sonnenhöhe für Beschattung + example: 15 + default: 10 + selector: + number: + min: 0 + max: 90 + step: 1 + unit_of_measurement: ° + max_elevation: + description: Maximale Sonnenhöhe für stärkste Beschattung + example: 60 + default: 50 + selector: + number: + min: 0 + max: 90 + step: 1 + unit_of_measurement: ° + max_closed_position: + description: Maximal geschlossene Position (0=ganz zu, 100=ganz auf) + example: 20 + default: 15 + selector: + number: + min: 0 + max: 100 + step: 1 + unit_of_measurement: '%' + fully_open_position: + description: Vollständig geöffnete Position + example: 100 + default: 100 + selector: + number: + min: 0 + max: 100 + step: 1 + unit_of_measurement: '%' + block_entity: + description: Block-Entity (wenn aktiviert, wird Rolladen nicht bewegt) + example: input_boolean.wohnzimmer_rolladen_block + required: false + selector: + entity: + domain: + - input_boolean + - binary_sensor + - switch + enable_logging: + description: Debug-Logging aktivieren + default: false + selector: + boolean: + alias: Smarte Beschattung + description: '' +cobe_haus_kritische_benachrichtigung: + sequence: + - action: notify.mobile_app_kn0x_tech_iphone + metadata: {} + data: + message: '{{ message }}' + title: '{{ title }}' + data: + push: + interruption-level: critical + sound: + name: default + critical: 1 + volume: 1 + - action: notify.mobile_app_iphone_von_conny + metadata: {} + data: + message: '{{ message }}' + title: '{{ title }}' + data: + push: + interruption-level: critical + sound: + name: default + critical: 1 + volume: 1 + fields: + title: + selector: + text: + name: Titel + description: Titel der kritischen Benachrichtigung + default: COBE Haus - KRITISCH + message: + selector: + text: + name: Nachricht + description: Kritische Nachricht + required: true + alias: COBE Haus Kritische Benachrichtigung + description: Sendet kritische Benachrichtigungen die auch im Do Not Disturb Modus + angezeigt werden diff --git a/template/binary_sensor.yaml b/template/binary_sensor.yaml new file mode 100644 index 0000000..e69de29