diff --git a/.ha_run.lock b/.ha_run.lock new file mode 100644 index 0000000..a7e8d73 --- /dev/null +++ b/.ha_run.lock @@ -0,0 +1 @@ +{"pid": 66, "version": 1, "ha_version": "2025.12.2", "start_ts": 1765302266.204741} \ No newline at end of file diff --git a/automations.yaml b/automations.yaml index b86afef..d36c34d 100644 --- a/automations.yaml +++ b/automations.yaml @@ -215,78 +215,6 @@ entity_id: input_boolean.mikroovn_lage_aben action: input_boolean.turn_off mode: single -- id: '1670355835523' - alias: TAG - Lemmingerne - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: 45-A9-47-E3 - show_id: '81154166' -- id: '1670356031076' - alias: TAG - Booba - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: 4B-F8-7D-02 - show_id: '81011059' -- id: '1670356216891' - alias: TAG - Zig og Sharko - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: EB-36-0B-03 - show_id: '70286809' -- id: '1670356499752' - alias: TAG - F for Får - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: 69-66-94-05 - show_id: '70155567' -- id: '1670357666960' - alias: TAG - Gurli Gris - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: 34-ED-15-C9 - show_id: '80025494' -- id: '1670358089992' - alias: TAG - Timmy Tid - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: 69-15-5F-05 - show_id: '70217377' -- id: '1670358277427' - alias: TAG - Larva - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: A4-9E-0F-C9 - show_id: '80008583' -- id: '1670358562230' - alias: TAG - Teletubbies - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: 35-86-FF-B0 - show_id: '81593310' -- id: '1670427884771' - alias: TAG - Skraldebil - description: '' - use_blueprint: - path: tags/androidtv.yaml - input: - tag_id: A5-CE-BA-AD - show_id: '80234731' - id: '1671130718711' alias: Genvex Styrring description: '' @@ -549,9 +477,9 @@ enabled: false - repeat: sequence: - - action: notify.mobile_app_rolf_mobil + - action: notify.mobile_app_oneplus_a5010 data: - message: Højt vandforbrug + message: Højt Vandforbrug - delay: hours: 0 minutes: 1 @@ -562,3 +490,64 @@ entity_id: sensor.water_pulse_meter below: 5 mode: single +- id: '1747393648566' + alias: ElCykel BatteriLader + description: '' + triggers: + - trigger: numeric_state + entity_id: + - sensor.sousvide_energi + below: 10 + for: + hours: 0 + minutes: 0 + seconds: 5 + conditions: + - condition: state + entity_id: switch.sousvide_switch + state: 'on' + actions: + - data: + volume_level: 0.5 + target: + entity_id: media_player.dining_room + action: media_player.volume_set + enabled: false + - data: + entity_id: media_player.dining_room + language: da + message: Cykkelbatteri er ladet op. + action: tts.google_translate_say + enabled: false + - type: turn_off + device_id: 7c84d947fa5891f75e0a764f23b8f01e + entity_id: f9bc630fe795d91a79866a048a62deb5 + domain: switch + mode: single +- id: '1760871881210' + alias: HaloweenPytKnap + description: '' + triggers: + - domain: mqtt + device_id: 32e7bed0782d90c020a5fbaf8ff8afb4 + type: action + subtype: 'on' + trigger: device + conditions: [] + actions: + - action: media_player.play_media + metadata: {} + data: + enqueue: replace + media: + media_content_id: "{{ ['media-source://media_source/local/Medie/haloween/1.mp3',\n + \ 'media-source://media_source/local/Medie/haloween/2.mp3',\n 'media-source://media_source/local/Medie/haloween/3.mp3',\n + \ 'media-source://media_source/local/Medie/haloween/4.mp3',\n 'media-source://media_source/local/Medie/haloween/5.mp3',\n + \ 'media-source://media_source/local/Medie/haloween/6.mp3',\n 'media-source://media_source/local/Medie/haloween/7.mp3',\n + \ 'media-source://media_source/local/Medie/haloween/8.mp3',\n 'media-source://media_source/local/Medie/haloween/9.mp3',\n + \ 'media-source://media_source/local/Medie/haloween/10.mp3',\n 'media-source://media_source/local/Medie/haloween/11.mp3'] + | random }}\n" + media_content_type: audio/mpeg + target: + device_id: 752c088f3d5d5893ef6b0a6ba6f2106f + mode: single diff --git a/configuration.yaml b/configuration.yaml index ac43fbb..e7c3988 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -21,6 +21,7 @@ logs: # custom_components.energidataservice: debug custom_components.igrill_ble: debug + custom_components.stecamonitor: debug custom_components.localtuya: critical custom_components.xiaomi_miio_airpurifier: critical @@ -48,8 +49,6 @@ frontend: themes: !include_dir_merge_named themes/ - extra_module_url: - - /local/community/lovelace-card-mod/card-mod.js tts: - platform: google_translate @@ -74,19 +73,6 @@ max_retries: 3 default_measurement: state -fuelprices_dk: - update_interval: 600 - companies: - - circlek - - f24 - - goon - - ingo - - oil - - ok - - q8 - fueltypes: - - oktan 95 - stecamonitor: ip: 10.0.1.4 diff --git a/dashboards/minimal/views/bryggers.yaml b/dashboards/minimal/views/bryggers.yaml index f98e052..62d9d1d 100644 --- a/dashboards/minimal/views/bryggers.yaml +++ b/dashboards/minimal/views/bryggers.yaml @@ -14,7 +14,7 @@ - type: custom:decluttering-card template: temperature_chart_template variables: - - entity: climate.wavin_9000_bryggers + - entity: climate.wavin9000_bryggers - type: custom:decluttering-card template: light_group_list_template diff --git a/dashboards/minimal/views/hjem.yaml b/dashboards/minimal/views/hjem.yaml index 6bd1990..d27944f 100644 --- a/dashboards/minimal/views/hjem.yaml +++ b/dashboards/minimal/views/hjem.yaml @@ -117,7 +117,7 @@ action: navigate navigation_path: kokken info_entities: - - entity: sensor.wavin_9000_temperature_kokken + - entity: sensor.wavin9000_kokken_temperature show_icon: false - entity: sensor.netatmo_simstrup_weather_indoor_temperature show_icon: false @@ -167,7 +167,7 @@ action: navigate navigation_path: stue info_entities: - - entity: sensor.wavin_9000_temperature_stue + - entity: sensor.wavin9000_stue_temperature show_icon: false - entity: sensor.temp2_temperature show_icon: false @@ -220,7 +220,7 @@ action: navigate navigation_path: bryggers info_entities: - - entity: sensor.wavin_9000_temperature_bryggers + - entity: sensor.wavin9000_bryggers_temperature show_icon: false entities: - entity: sensor.teknikskab_energi @@ -257,7 +257,7 @@ action: navigate navigation_path: niels info_entities: - - entity: sensor.wavin_9000_temperature_niels_vaerelse + - entity: sensor.wavin9000_niels_vaerelse_temperature show_icon: false - entity: sensor.temp1_temperature show_icon: false @@ -279,7 +279,7 @@ action: navigate navigation_path: jens info_entities: - - entity: sensor.wavin_9000_temperature_jens_vaerelse + - entity: sensor.wavin9000_jens_vaerelse_temperature show_icon: false - entity: sensor.temp4_temperature show_icon: false @@ -301,7 +301,7 @@ action: navigate navigation_path: sove info_entities: - - entity: sensor.wavin_9000_temperature_sovevaerelse + - entity: sensor.wavin9000_sovevaerelse_temperature show_icon: false - entity: sensor.temp3_temperature show_icon: false diff --git a/dashboards/minimal/views/jens.yaml b/dashboards/minimal/views/jens.yaml index d0e3d35..0e25726 100644 --- a/dashboards/minimal/views/jens.yaml +++ b/dashboards/minimal/views/jens.yaml @@ -14,7 +14,7 @@ - type: custom:decluttering-card template: temperature_chart_template variables: - - entity: climate.wavin_9000_jens_vaerelse + - entity: climate.wavin9000_jens_vaerelse - type: custom:decluttering-card template: humidity_chart_template diff --git a/dashboards/minimal/views/kokken.yaml b/dashboards/minimal/views/kokken.yaml index 767dfd7..5ed0d2e 100644 --- a/dashboards/minimal/views/kokken.yaml +++ b/dashboards/minimal/views/kokken.yaml @@ -14,7 +14,7 @@ - type: custom:decluttering-card template: temperature_chart_template variables: - - entity: climate.wavin_9000_kokken + - entity: climate.wavin9000_kokken - type: custom:decluttering-card template: humidity_chart_template diff --git a/dashboards/minimal/views/niels.yaml b/dashboards/minimal/views/niels.yaml index 1e8effb..f29abe0 100644 --- a/dashboards/minimal/views/niels.yaml +++ b/dashboards/minimal/views/niels.yaml @@ -14,7 +14,7 @@ - type: custom:decluttering-card template: temperature_chart_template variables: - - entity: climate.wavin_9000_niels_vaerelse + - entity: climate.wavin9000_niels_vaerelse - type: custom:decluttering-card template: humidity_chart_template diff --git a/dashboards/minimal/views/sove.yaml b/dashboards/minimal/views/sove.yaml index 938e618..4329d75 100644 --- a/dashboards/minimal/views/sove.yaml +++ b/dashboards/minimal/views/sove.yaml @@ -14,7 +14,7 @@ - type: custom:decluttering-card template: temperature_chart_template variables: - - entity: climate.wavin_9000_sovevaerelse + - entity: climate.wavin9000_sovevaerelse - type: custom:decluttering-card template: humidity_chart_template diff --git a/dashboards/minimal/views/stue.yaml b/dashboards/minimal/views/stue.yaml index 5c53e4f..7e1ec4a 100644 --- a/dashboards/minimal/views/stue.yaml +++ b/dashboards/minimal/views/stue.yaml @@ -14,7 +14,7 @@ - type: custom:decluttering-card template: temperature_chart_template variables: - - entity: climate.wavin_9000_stue + - entity: climate.wavin9000_stue - type: custom:decluttering-card template: humidity_chart_template diff --git a/esphome/esp32-s3-box-3-05b914.yaml b/esphome/esp32-s3-box-3-05b914.yaml index e82b525..e2abc96 100644 --- a/esphome/esp32-s3-box-3-05b914.yaml +++ b/esphome/esp32-s3-box-3-05b914.yaml @@ -1,10 +1,9 @@ substitutions: name: esp32-s3-box-3-05b914 friendly_name: ESP32 S3 Box 3 05b914 - micro_wake_word_model: hey_jarvis packages: - esphome.voice-assistant: github://esphome/firmware/wake-word-voice-assistant/esp32-s3-box-3.yaml@main + esphome.voice-assistant: github://esphome/wake-word-voice-assistants/esp32-s3-box-3/esp32-s3-box-3.yaml@main esphome: name: ${name} diff --git a/esphome/nilan300.yaml b/esphome/nilan300.yaml index 2375f88..a06d3d0 100644 --- a/esphome/nilan300.yaml +++ b/esphome/nilan300.yaml @@ -40,8 +40,12 @@ modbus_id: modbus_id update_interval: 30s +#external_components: +# - source: github://Jopand/esphome_components@main +# refresh: 0s + external_components: - - source: github://Jopand/esphome_components@main + - source: github://woopstar/esphome_components@main refresh: 0s nilan: diff --git a/esphome/wavin9000.yaml b/esphome/wavin9000.yaml index 7775562..ee8f17d 100644 --- a/esphome/wavin9000.yaml +++ b/esphome/wavin9000.yaml @@ -6,142 +6,389 @@ framework: type: esp-idf -# Enable logging +external_components: + - source: github://dkgof/esphome_wavinahc9000v3 + components: [wavin_ahc9000] + logger: level: INFO - baud_rate: 0 + logs: + wavin_ahc9000: INFO -# Enable Home Assistant API +uart: + id: uart_wavin + tx_pin: GPIO17 + rx_pin: GPIO16 + baud_rate: 38400 + stop_bits: 1 + parity: NONE + +wavin_ahc9000: + id: wavin + uart_id: uart_wavin + #update_interval: 5s + poll_channels_per_cycle: 8 + update_interval: 2s + channel_01_friendly_name: "Bryggers" + channel_02_friendly_name: "Jens Værelse" + channel_03_friendly_name: "Gang" + channel_04_friendly_name: "Niels Værelse" + channel_05_friendly_name: "Køkken" + channel_07_friendly_name: "Kontor" + channel_08_friendly_name: "Soveværelse" + channel_09_friendly_name: "Stue" + channel_10_friendly_name: "Stort Badeværelse" + channel_11_friendly_name: "Lille Badeværelse" +#packages: +# wavin_tools: +# url: https://github.com/heinekmadsen/esphome_wavinahc9000v3 +# files: +# - packages/yaml_generator.yaml +# refresh: 0s + +# Optional readiness indicator (turns on when discovery stable) +#binary_sensor: +# - platform: wavin_ahc9000 +# wavin_ahc9000_id: wavin +# type: yaml_ready +# name: "Wavin YAML Ready" + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + api: ota: platform: esphome password: "78e75f9b6126ee57de681fd33aeba979" -wifi: - ssid: !secret wifi_ssid - password: !secret wifi_password - -wavinahc9000v2: +climate: -packages: - remote_package: - url: https://github.com/dkgof/esphome_components - ref: main - files: - - components/wavinahc9000v2/configs/basic.yaml # REQUIRED FOR WAVIN AHC 9000 - - components/wavinahc9000v2/configs/channel_01.yaml - - components/wavinahc9000v2/configs/channel_02.yaml - - components/wavinahc9000v2/configs/channel_03.yaml - - components/wavinahc9000v2/configs/channel_04.yaml - - components/wavinahc9000v2/configs/channel_05.yaml -# - components/wavinahc9000v2/configs/channel_06.yaml - - components/wavinahc9000v2/configs/channel_07.yaml - - components/wavinahc9000v2/configs/channel_08.yaml - - components/wavinahc9000v2/configs/channel_09.yaml - - components/wavinahc9000v2/configs/channel_10.yaml - - components/wavinahc9000v2/configs/channel_11.yaml - refresh: 0s + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Bryggers" + channel: 1 + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Jens Værelse" + channel: 2 -uart: - - id: uart_${device} - rx_pin: GPIO16 - tx_pin: GPIO17 - baud_rate: 38400 - stop_bits: 1 - parity: NONE - -modbus: - - id: ${device}_modbus - uart_id: uart_${device} + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Gang" + channel: 3 + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Niels Værelse" + channel: 4 -modbus_controller: - id: ${device}_modbus_controller - address: 1 - modbus_id: ${device}_modbus - update_interval: 30s - -esp32_ble_tracker: - scan_parameters: - interval: 1100ms - window: 1100ms - active: true - -bluetooth_proxy: - active: true + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Køkken" + channel: 5 + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Kontor" + channel: 7 + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Soveværelse" + channel: 8 + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Stue" + channel: 9 + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Stort Badeværelse" + channel: 10 + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Lille Badeværelse" + channel: 11 + + + + # Group climates + + #- platform: wavin_ahc9000 + # wavin_ahc9000_id: wavin + # name: "Zone G 5&6" + # members: [5, 6] + + sensor: - - platform: uptime - name: "Wavin9000 Uptime" - update_interval: 60s - - - platform: wifi_signal - name: "Wavin9000 WiFi Signal" - update_interval: 60s -substitutions: - # UNIQUE NAME FOR THE DEVICE - device: wavin9000 # Case sensitive!!! - name: "Wavin 9000" # "Friendly name" - not case sensitive!!! - - # CHANNEL friendly names (If using spaces remember to add ") - channel_01_friendly_name: "Bryggers" - channel_02_friendly_name: "Jens Værelse" - channel_03_friendly_name: "Gang" - channel_04_friendly_name: "Niels Værelse" - channel_05_friendly_name: "Køkken" -# channel_06_friendly_name: "Køkken Dummy" - channel_07_friendly_name: "Kontor" - channel_08_friendly_name: "Soveværelse" - channel_09_friendly_name: "Stue" - channel_10_friendly_name: "Stort Badeværelse" - channel_11_friendly_name: "Lille Badeværelse" + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Bryggers Battery" + channel: 1 + type: battery + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Jens Værelse Battery" + channel: 2 + type: battery - # CHANNEL ID´S (ONLY LOWER CASE LETTERS, NO SPACES) used for entity ids - channel_01_id: bryggers - channel_02_id: jens - channel_03_id: gang - channel_04_id: niels - channel_05_id: kokken -# channel_06_id: kokken_dummy - channel_07_id: kontor - channel_08_id: sove - channel_09_id: stue - channel_10_id: stort_bad - channel_11_id: lille_bad + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Gang Battery" + channel: 3 + type: battery + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Niels Værelse Battery" + channel: 4 + type: battery - # CHANNEL Alignments (ONLY change if you have offsets in channel vs temperature. Some have reported this if using multiple strings pr. room thermostat) - channel_01: "0x00" - channel_02: "0x01" - channel_03: "0x02" - channel_04: "0x03" - channel_05: "0x04" -# channel_06: "0x05" - channel_07: "0x06" - channel_08: "0x07" - channel_09: "0x08" - channel_10: "0x09" - channel_11: "0x0A" - channel_12: "0x0B" - channel_13: "0x0C" - channel_14: "0x0D" - channel_15: "0x0E" - channel_16: "0x0F" + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Køkken Battery" + channel: 5 + type: battery -# CHANNEL Sensor Alignments (ONLY change if you have offsets in channel vs temperature. Some have reported this if using multiple strings pr. room thermostat) - channel_01_sensor: "0x00" - channel_02_sensor: "0x01" - channel_03_sensor: "0x02" - channel_04_sensor: "0x03" - channel_05_sensor: "0x04" -# channel_06_sensor: "0x05" - channel_07_sensor: "0x05" - channel_08_sensor: "0x06" - channel_09_sensor: "0x07" - channel_10_sensor: "0x08" - channel_11_sensor: "0x09" - channel_12_sensor: "0x0A" - channel_13_sensor: "0x0B" - channel_14_sensor: "0x0C" - channel_15_sensor: "0x0D" - channel_16_sensor: "0x0E" \ No newline at end of file + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Kontor Battery" + channel: 7 + type: battery + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Soveværelse Battery" + channel: 8 + type: battery + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Stue Battery" + channel: 9 + type: battery + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Stort Badeværelse Battery" + channel: 10 + type: battery + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Lille Badeværelse Battery" + channel: 11 + type: battery + + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Bryggers Temperature" + channel: 1 + type: temperature + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Jens Værelse Temperature" + channel: 2 + type: temperature + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Gang Temperature" + channel: 3 + type: temperature + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Niels Værelse Temperature" + channel: 4 + type: temperature + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Køkken Temperature" + channel: 5 + type: temperature + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Kontor Temperature" + channel: 7 + type: temperature + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Soveværelse Temperature" + channel: 8 + type: temperature + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Stue Temperature" + channel: 9 + type: temperature + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Stort Badeværelse Temperature" + channel: 10 + type: temperature + + - platform: wavin_ahc9000 + wavin_ahc9000_id: wavin + name: "Lille Badeværelse Temperature" + channel: 11 + type: temperature + +binary_sensor: + - platform: template + name: "Bryggers Varme Aktiv" + lambda: |- + if (id(channel_1_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Jens Værelse Varme Aktiv" + lambda: |- + if (id(channel_2_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Gang Varme Aktiv" + lambda: |- + if (id(channel_3_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Niels Værelse Varme Aktiv" + lambda: |- + if (id(channel_4_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Køkken Varme Aktiv" + lambda: |- + if (id(channel_5_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + + - platform: template + name: "Kontor Varme Aktiv" + lambda: |- + if (id(channel_7_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Soveværelse Varme Aktiv" + lambda: |- + if (id(channel_8_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Stue Varme Aktiv" + lambda: |- + if (id(channel_9_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Stort Badeværelse Varme Aktiv" + lambda: |- + if (id(channel_10_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + - platform: template + name: "Lille Badeværelse Varme Aktiv" + lambda: |- + if (id(channel_11_hvac_action).state == "heating") { + // Climate enheden varmer + return true; + } else { + // Climate enheden er idle, off, cooling osv. + return false; + } + device_class: heat + +text_sensor: + - platform: homeassistant + entity_id: climate.wavin9000_bryggers + attribute: hvac_action + id: channel_1_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_jens_vaerelse + attribute: hvac_action + id: channel_2_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_gang + attribute: hvac_action + id: channel_3_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_niels_vaerelse + attribute: hvac_action + id: channel_4_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_kokken + attribute: hvac_action + id: channel_5_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_kontor + attribute: hvac_action + id: channel_7_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_sovevaerelse + attribute: hvac_action + id: channel_8_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_stue + attribute: hvac_action + id: channel_9_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_stort_badevaerelse + attribute: hvac_action + id: channel_10_hvac_action + - platform: homeassistant + entity_id: climate.wavin9000_lille_badevaerelse + attribute: hvac_action + id: channel_11_hvac_action + \ No newline at end of file diff --git a/home-assistant.log.old b/home-assistant.log.old new file mode 100644 index 0000000..22504a9 --- /dev/null +++ b/home-assistant.log.old @@ -0,0 +1,1240 @@ +2025-11-04 19:25:22.295 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration nodered which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.297 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration energidataservice which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.298 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration fuelprices_dk which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.300 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration thermal_comfort which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.301 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hpprinter which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.302 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.304 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration roborock_custom_map which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.305 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration xiaomi_miio_airpurifier which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.307 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration stecamonitor which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.308 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration browser_mod which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.309 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration igrill_ble which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.311 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration localtuya which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.312 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration bodymiscale which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.314 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration connectedcars_io which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.315 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration spotcast which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.316 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration pirateweather which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:22.317 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration waste_collection_schedule which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant +2025-11-04 19:25:27.553 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.13/site-packages/miio/miot_device.py:23: FutureWarning: functools.partial will be a method descriptor in future Python versions; wrap it in enum.member() if you want to preserve the old behavior + Bool = partial(_str2bool) + +2025-11-04 19:25:28.047 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Simstrup (Gateway) for upnp +Traceback (most recent call last): + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context + result = await component.async_setup_entry(hass, self) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/components/upnp/__init__.py", line 85, in async_setup_entry + device = await async_create_device(hass, location, force_poll) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/components/upnp/device.py", line 108, in async_create_device + igd_device = IgdDevice(upnp_device, notify_server.event_handler) + File "/usr/local/lib/python3.13/site-packages/async_upnp_client/profiles/igd.py", line 210, in __init__ + super().__init__(device, event_handler) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.13/site-packages/async_upnp_client/profiles/profile.py", line 115, in __init__ + self.profile_device = find_device_of_type(device, self.DEVICE_TYPES) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.13/site-packages/async_upnp_client/profiles/profile.py", line 43, in find_device_of_type + raise UpnpError(f"Could not find device of type: {device_types}") +async_upnp_client.exceptions.UpnpError: ("Could not find device of type: ['urn:schemas-upnp-org:device:InternetGatewayDevice:1', 'urn:schemas-upnp-org:device:InternetGatewayDevice:2']", None) +2025-11-04 19:25:31.205 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open with args ('/root/.netrc',) inside the event loop by integration 'google_generative_ai_conversation' at homeassistant/components/google_generative_ai_conversation/__init__.py, line 165: await client.aio.models.get( (offender: /usr/local/lib/python3.13/netrc.py, line 87: with open(file, encoding="utf-8") as fp:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+google_generative_ai_conversation%22 +For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open +Traceback (most recent call last): + File "", line 198, in _run_module_as_main + File "", line 88, in _run_code + File "/usr/src/homeassistant/homeassistant/__main__.py", line 229, in + sys.exit(main()) + File "/usr/src/homeassistant/homeassistant/__main__.py", line 215, in main + exit_code = runner.run(runtime_conf) + File "/usr/src/homeassistant/homeassistant/runner.py", line 271, in run + return loop.run_until_complete(setup_and_run_hass(runtime_config)) + File "/usr/local/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete + self.run_forever() + File "/usr/local/lib/python3.13/asyncio/base_events.py", line 683, in run_forever + self._run_once() + File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2050, in _run_once + handle._run() + File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run + self._context.run(self._callback, *self._args) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 906, in async_setup_locked + await self.async_setup(hass, integration=integration) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 672, in async_setup + await self.__async_setup_with_context(hass, integration) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context + result = await component.async_setup_entry(hass, self) + File "/usr/src/homeassistant/homeassistant/components/google_generative_ai_conversation/__init__.py", line 165, in async_setup_entry + await client.aio.models.get( + +2025-11-04 19:25:31.437 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module with args ('custom_components.igrill_ble.sensor',) inside the event loop by custom integration 'igrill_ble' at custom_components/igrill_ble/__init__.py, line 40: await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) (offender: /usr/src/homeassistant/homeassistant/loader.py, line 1295: return importlib.import_module(f"{self.pkg_path}.{platform_name}")), please report it to the author of the 'igrill_ble' custom integration +For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module +Traceback (most recent call last): + File "", line 198, in _run_module_as_main + File "", line 88, in _run_code + File "/usr/src/homeassistant/homeassistant/__main__.py", line 229, in + sys.exit(main()) + File "/usr/src/homeassistant/homeassistant/__main__.py", line 215, in main + exit_code = runner.run(runtime_conf) + File "/usr/src/homeassistant/homeassistant/runner.py", line 271, in run + return loop.run_until_complete(setup_and_run_hass(runtime_config)) + File "/usr/local/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete + self.run_forever() + File "/usr/local/lib/python3.13/asyncio/base_events.py", line 683, in run_forever + self._run_once() + File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2050, in _run_once + handle._run() + File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run + self._context.run(self._callback, *self._args) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 906, in async_setup_locked + await self.async_setup(hass, integration=integration) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 672, in async_setup + await self.__async_setup_with_context(hass, integration) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context + result = await component.async_setup_entry(hass, self) + File "/config/custom_components/igrill_ble/__init__.py", line 40, in async_setup_entry + await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) + +2025-11-04 19:25:31.459 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry iGrill_mini for igrill_ble +Traceback (most recent call last): + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context + result = await component.async_setup_entry(hass, self) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/config/custom_components/igrill_ble/__init__.py", line 40, in async_setup_entry + await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) + File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2589, in async_forward_entry_setups + await integration.async_get_platforms(platforms) + File "/usr/src/homeassistant/homeassistant/loader.py", line 1176, in async_get_platforms + import_future.result() + ~~~~~~~~~~~~~~~~~~~~^^ + File "/usr/src/homeassistant/homeassistant/loader.py", line 1164, in async_get_platforms + platforms.update(self._load_platforms(platform_names)) + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/loader.py", line 1089, in _load_platforms + platform_name: self._load_platform(platform_name) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/loader.py", line 1263, in _load_platform + cache[full_name] = self._import_platform(platform_name) + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/loader.py", line 1295, in _import_platform + return importlib.import_module(f"{self.pkg_path}.{platform_name}") + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/util/loop.py", line 201, in protected_loop_func + return func(*args, **kwargs) + File "/usr/local/lib/python3.13/importlib/__init__.py", line 88, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 1026, in exec_module + File "", line 488, in _call_with_frames_removed + File "/config/custom_components/igrill_ble/sensor.py", line 9, in + from homeassistant.const import ( + ...<10 lines>... + ) +ImportError: cannot import name 'TEMP_CELSIUS' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py) +2025-11-04 19:25:32.119 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'stecamonitor' uses `async_config_entry_first_refresh`, which is only supported for coordinators with a config entry at custom_components/stecamonitor/sensor.py, line 42: await coordinator.async_config_entry_first_refresh(). This will stop working in Home Assistant 2025.11, please create a bug report at https://github.com/dkgof/stecamonitor/issues +2025-11-04 19:25:32.222 WARNING (zeroconf-ServiceBrowser-_googlecast._tcp-130) [pychromecast.dial] Failed to determine cast type for host () (services:{MDNSServiceInfo(name='BRAVIA-4K-GB-ATV3-417a06cdad3ec8f7b5a01f4aa33e9623._googlecast._tcp.local.')}) +2025-11-04 19:25:32.325 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.water_price () is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+scrape%22 +2025-11-04 19:25:35.665 WARNING (MainThread) [aioesphomeapi.reconnect_logic] Can't connect to ESPHome API for esp32-s3-box-3-05b914 @ 10.0.1.167: Error connecting to [AddrInfo(family=, type=, proto=6, sockaddr=IPv4Sockaddr(address='10.0.1.167', port=6053))]: [Errno 113] Connect call failed ('10.0.1.167', 6053) (SocketAPIError) +2025-11-04 19:25:35.665 WARNING (MainThread) [aioesphomeapi.reconnect_logic] Can't connect to ESPHome API for smartcard @ 10.0.1.43: Error connecting to [AddrInfo(family=, type=, proto=6, sockaddr=IPv4Sockaddr(address='10.0.1.43', port=6053))]: [Errno 113] Connect call failed ('10.0.1.43', 6053) (SocketAPIError) +2025-11-04 19:25:42.561 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform fuelprices_dk is taking over 10 seconds. +2025-11-04 19:25:46.340 ERROR (MainThread) [custom_components.fuelprices_dk.sensor] Unexpected error fetching sensor data +Traceback (most recent call last): + File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 392, in _async_refresh + self.data = await self._async_update_data() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 293, in _async_update_data + return await self.update_method() + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/config/custom_components/fuelprices_dk/sensor.py", line 39, in async_update_data + await hass.async_add_executor_job(company.refreshPrices) + File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run + result = self.fn(*self.args, **self.kwargs) + File "/config/custom_components/fuelprices_dk/fuelprices_dk_api.py", line 202, in refreshPrices + self._products = getattr(self._parser, self._key)(self._url, self._products) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/config/custom_components/fuelprices_dk/fuelprices_dk_parsers.py", line 135, in oil + priceSegments[0].text + "." + priceSegments[1].text, + ~~~~~~~~~~~~~^^^ +IndexError: list index out of range +2025-11-04 19:25:46.820 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template +Traceback (most recent call last): + File "/usr/src/homeassistant/homeassistant/helpers/template/__init__.py", line 494, in async_render + render_result = render_with_context(self.template, compiled, **kwargs) + File "/usr/src/homeassistant/homeassistant/helpers/template/context.py", line 45, in render_with_context + return template.render(**kwargs) + ~~~~~~~~~~~~~~~^^^^^^^^^^ + File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "