diff --git a/homeassistant/automations.yaml b/homeassistant/automations.yaml new file mode 100644 index 0000000..4949a9a --- /dev/null +++ b/homeassistant/automations.yaml @@ -0,0 +1,90 @@ +automation: + - alias: Penguin Max Heating input + description: "" + trigger: + - platform: state + entity_id: + - input_boolean.penguin_max_heating + condition: [] + action: + - if: + - condition: state + entity_id: input_boolean.penguin_max_heating + state: "on" + then: + - service: rest_command.penguin_max_heating_on + data: {} + else: [] + - if: + - condition: state + entity_id: input_boolean.penguin_max_heating + state: "off" + then: + - service: rest_command.penguin_max_heating_off + data: {} + - delay: + hours: 0 + minutes: 0 + seconds: 0 + milliseconds: 500 + - service: homeassistant.update_entity + data: {} + - if: + - condition: state + entity_id: binary_sensor.penguin_max_heating + state: "on" + then: [] + else: + - service: input_boolean.turn_off + data: {} + target: + entity_id: input_boolean.penguin_max_heating + mode: single + - alias: Penguin Max Heating sensor + description: "" + trigger: + - platform: state + entity_id: + - binary_sensor.penguin_max_heating + condition: [] + action: + - if: + - condition: state + entity_id: binary_sensor.penguin_max_heating + state: "on" + then: + - service: input_boolean.turn_on + data: {} + target: + entity_id: input_boolean.penguin_max_heating + else: + - service: input_boolean.turn_off + data: {} + target: + entity_id: input_boolean.penguin_max_heating + mode: single + + + - alias: Penguin circulation fan mode + description: "" + trigger: + - platform: state + entity_id: + - input_boolean.penguin_circulation_fan_adaptive + condition: [] + action: + - if: + - condition: state + entity_id: input_boolean.penguin_circulation_fan_adaptive + state: "on" + then: + - service: rest_command.penguin_circulation_adaptive + data: {} + - if: + - condition: state + entity_id: input_boolean.penguin_circulation_fan_adaptive + state: "off" + then: + - service: rest_command.penguin_circulation_manual + data: {} + mode: single diff --git a/homeassistant/dashboard-en.yaml b/homeassistant/dashboard-en.yaml new file mode 100644 index 0000000..219a110 --- /dev/null +++ b/homeassistant/dashboard-en.yaml @@ -0,0 +1,79 @@ +views: + - title: Penguin + cards: + - type: vertical-stack + cards: + - type: horizontal-stack + cards: + - type: gauge + entity: sensor.penguin_heat_recovery_pct + name: HRC + severity: + green: 100 + yellow: 0 + red: 0 + - type: gauge + entity: sensor.penguin_after_heater_pct + name: Heating + severity: + green: 0 + yellow: 0 + red: 100 + - square: false + columns: 3 + type: grid + cards: + - show_name: true + show_icon: true + type: button + tap_action: + action: toggle + entity: input_boolean.penguin_circulation_fan_adaptive + name: Adaptive circulation + show_state: false + - show_name: true + show_icon: true + type: button + tap_action: + action: toggle + entity: input_boolean.penguin_max_heating + name: Max heating + show_state: false + - type: entities + entities: + - entity: sensor.penguin_operating_mode + name: Mode + - entity: sensor.penguin_room_temperature_1 + name: Room temperature + - entity: sensor.penguin_temperature_setting + name: Temperature setpoint + - entity: sensor.penguin_circulation_fan_pct + name: Criculation fan + - entity: sensor.penguin_days_until_service + name: Next maintenance + state_color: false + - type: entities + entities: + - entity: sensor.penguin_intake_air + name: Outside air at machine + - entity: sensor.penguin_intake_air_24h + name: Outside air 24h avg + - entity: sensor.penguin_supply_air_hrc + name: Supply air after HRC + - entity: sensor.penguin_supply_air_humidity + name: Supply air humidity + - entity: sensor.penguin_supply_air + name: Supply air + - entity: sensor.penguin_return_water + name: Return water + - entity: sensor.penguin_extract_air + name: Extract air before HRC + - entity: sensor.penguin_waste_air + name: Waste air + - entity: sensor.penguin_extract_air_humidity + name: Extract air humidity + - entity: sensor.penguin_hrc_efficiency_intake + name: HRC efficiency intake + - entity: sensor.penguin_hrc_efficiency_extract + name: HRC efficiency extract + title: Measurements diff --git a/homeassistant/dashboard-fi.yaml b/homeassistant/dashboard-fi.yaml new file mode 100644 index 0000000..0d2e853 --- /dev/null +++ b/homeassistant/dashboard-fi.yaml @@ -0,0 +1,80 @@ +views: + - title: Penguin + cards: + - type: vertical-stack + cards: + - type: horizontal-stack + cards: + - type: gauge + entity: sensor.penguin_heat_recovery_pct + name: LTO + severity: + green: 100 + yellow: 0 + red: 0 + - type: gauge + entity: sensor.penguin_after_heater_pct + name: Lämmitys + severity: + green: 0 + yellow: 0 + red: 100 + - square: false + columns: 3 + type: grid + cards: + - show_name: true + show_icon: true + type: button + tap_action: + action: toggle + entity: input_boolean.penguin_circulation_fan_adaptive + name: Mukautuva kiertoilma + show_state: false + - show_name: true + show_icon: true + type: button + tap_action: + action: toggle + entity: input_boolean.penguin_max_heating + name: Max lämmitys + show_state: false + - type: entities + entities: + - entity: sensor.penguin_operating_mode + name: Tila + - entity: sensor.penguin_room_temperature_1 + name: Huonelämpötila + - entity: sensor.penguin_temperature_setting + name: Asetettu lämpötila + - entity: sensor.penguin_circulation_fan_pct + name: Kiertoilma + - entity: sensor.penguin_days_until_service + name: Seuraava huolto + state_color: false + - type: entities + entities: + - entity: sensor.penguin_intake_air + name: Ulkoilma koneen luona + - entity: sensor.penguin_intake_air_24h + name: Ulkoilma 24h keskiarvo + - entity: sensor.penguin_supply_air_hrc + name: Tuloilma LTO jälkeen + - entity: sensor.penguin_supply_air_humidity + name: Tuloilma kosteus + - entity: sensor.penguin_supply_air + name: Tuloilma + - entity: sensor.penguin_return_water + name: Paluuvesi + - entity: sensor.penguin_extract_air + name: Poistoilma ennen LTO + - entity: sensor.penguin_waste_air + name: Jäteilma + - entity: sensor.penguin_extract_air_humidity + name: Poistoilma kosteus + - entity: sensor.penguin_hrc_efficiency_intake + icon: '' + name: LTO hyötysuhde tuloilma + - entity: sensor.penguin_hrc_efficiency_extract + name: LTO hyötysuhde poistoilma + title: Mittaukset diff --git a/homeassistant/en/homeassistant-dashboard-en.yml b/homeassistant/en/homeassistant-dashboard-en.yml deleted file mode 100644 index fdeb978..0000000 --- a/homeassistant/en/homeassistant-dashboard-en.yml +++ /dev/null @@ -1,27 +0,0 @@ -views: - - title: Home - cards: - - type: entities - entities: - - entity: sensor.enervent_pingvin_mode - - entity: sensor.enervent_pingvin_room_temperature_1 - - entity: sensor.enervent_pingvin_heating - - entity: sensor.enervent_pingvin_heat_recovery - - entity: sensor.enervent_pingvin_temperature_setpoint - - entity: sensor.enervent_pingvin_circulation_fan - - entity: sensor.enervent_pingvin_next_maintenance - title: Enervent Pingvin - - type: entities - entities: - - entity: sensor.enervent_pingvin_outside_air - - entity: sensor.enervent_pingvin_outside_air_24h - - entity: sensor.enervent_pingvin_supply_air_hrc - - entity: sensor.enervent_pingvin_outside_air_humidity - - entity: sensor.enervent_pingvin_supply_air - - entity: sensor.enervent_pingvin_return_water - - entity: sensor.enervent_pingvin_extract_air - - entity: sensor.enervent_pingvin_waste_air - - entity: sensor.enervent_pingvin_extract_air_humidity - - entity: sensor.enervent_pingvin_hrc_efficiency_intake - - entity: sensor.enervent_pingvin_hrc_efficiency_exhaust - title: Enervent Pingvin measurements diff --git a/homeassistant/en/homeassistant-rest-en.yaml b/homeassistant/en/homeassistant-rest-en.yaml deleted file mode 100644 index 6e7241d..0000000 --- a/homeassistant/en/homeassistant-rest-en.yaml +++ /dev/null @@ -1,63 +0,0 @@ -rest: - - resource: http://IP_ADDRESS:8888/api/v1/status - scan_interval: 15 - sensor: - - name: "Enervent Pingvin mode" - value_template: "{{ value_json['op_mode'] }}" - icon: mdi:information - - name: "Enervent Pingvin room temperature 1" - value_template: "{{ value_json['measurements']['room_temp1'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin heating" - value_template: "{{ value_json['heater_pct'] }}" - unit_of_measurement: "%" - icon: mdi:heating-coil - - name: "Enervent Pingvin heat recovery" - value_template: "{{ value_json['hrc_pct'] }}" - unit_of_measurement: "%" - icon: mdi:recycle - - name: "Enervent Pingvin temperature setpoint" - value_template: "{{ value_json['temp_setting'] }}" - unit_of_measurement: "°C" - icon: mdi:thermometer-check - - name: "Enervent Pingvin circulation fan" - value_template: "{{ value_json['fan_pct'] }}" - unit_of_measurement: "%" - icon: mdi:fan - - name: "Enervent Pingvin HRC efficiency intake" - value_template: "{{ value_json['hrc_efficiency_in'] }}" - unit_of_measurement: "%" - icon: mdi:recycle - - name: "Enervent Pingvin HRC efficiency exhaust" - value_template: "{{ value_json['hrc_efficiency_ex'] }}" - unit_of_measurement: "%" - icon: mdi:recycle - - name: "Enervent Pingvin next maintenance" - value_template: "{{ value_json['days_until_service'] }}" - unit_of_measurement: "pv" - icon: mdi:calendar - - name: "Enervent Pingvin supply air" - value_template: "{{ value_json['measurements']['supply_heated'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin supply air HRC" - value_template: "{{ value_json['measurements']['supply_hrc'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin outside air" - value_template: "{{ value_json['measurements']['supply_intake'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin outside air 24h" - value_template: "{{ value_json['measurements']['supply_intake_24h'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin outside air humidity" - value_template: "{{ value_json['measurements']['supply_hum'] }}" - unit_of_measurement: "%" - icon: mdi:water-percent - - name: "Enervent Pingvin return water" - value_template: "{{ value_json['measurements']['watertemp'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin extract air" - value_template: "{{ value_json['measurements']['extract_intake'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin waste air" - value_template: "{{ value_json['measurements']['extract_hrc'] }}" - unit_of_measurement: "°C" diff --git a/homeassistant/fi/homeassistant-dashboard-fi.yaml b/homeassistant/fi/homeassistant-dashboard-fi.yaml deleted file mode 100644 index cbef0b0..0000000 --- a/homeassistant/fi/homeassistant-dashboard-fi.yaml +++ /dev/null @@ -1,28 +0,0 @@ -views: - - title: Home - cards: - - type: entities - entities: - - entity: sensor.enervent_pingvin_tila - - entity: sensor.enervent_pingvin_huonelampotila_1 - - entity: sensor.enervent_pingvin_lammitys - - entity: sensor.enervent_pingvin_lammontalteenotto - - entity: sensor.enervent_pingvin_lampotila_asetus - - entity: sensor.enervent_pingvin_kiertoilmapuhallin - - entity: sensor.enervent_pingvin_seuraava_huolto - title: Enervent Pingvin - - type: entities - entities: - - entity: sensor.enervent_pingvin_tuloilma_ulko - - entity: sensor.enervent_pingvin_tuloilma_ulko_24h - - entity: sensor.enervent_pingvin_tuloilma_lto - - entity: sensor.enervent_pingvin_tuloilma_kosteus - - entity: sensor.enervent_pingvin_tuloilma - - entity: sensor.enervent_pingvin_paluuvesi - - entity: sensor.enervent_pingvin_poistoilma - - entity: sensor.enervent_pingvin_jateilma - - entity: sensor.enervent_pingvin_poistoilma_kosteus_48h - - entity: sensor.enervent_pingvin_lto_hyotysuhde_tuloilma - icon: '' - - entity: sensor.enervent_pingvin_lto_hyotysuhde_poistoilma - title: Enervent Pingvin mittaukset diff --git a/homeassistant/fi/homeassistant-rest-fi.yaml b/homeassistant/fi/homeassistant-rest-fi.yaml deleted file mode 100644 index 5b917d0..0000000 --- a/homeassistant/fi/homeassistant-rest-fi.yaml +++ /dev/null @@ -1,63 +0,0 @@ -rest: - - resource: http://IP_ADDRESS:8888/api/v1/status - scan_interval: 15 - sensor: - - name: "Enervent Pingvin tila" - value_template: "{{ value_json['op_mode'] }}" - icon: mdi:information - - name: "Enervent Pingvin huonelämpötila 1" - value_template: "{{ value_json['measurements']['room_temp1'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin lämmitys" - value_template: "{{ value_json['heater_pct'] }}" - unit_of_measurement: "%" - icon: mdi:heating-coil - - name: "Enervent Pingvin lämmöntalteenotto" - value_template: "{{ value_json['hrc_pct'] }}" - unit_of_measurement: "%" - icon: mdi:recycle - - name: "Enervent Pingvin lämpötila-asetus" - value_template: "{{ value_json['temp_setting'] }}" - unit_of_measurement: "°C" - icon: mdi:thermometer-check - - name: "Enervent Pingvin kiertoilmapuhallin" - value_template: "{{ value_json['fan_pct'] }}" - unit_of_measurement: "%" - icon: mdi:fan - - name: "Enervent Pingvin LTO hyötysuhde tuloilma" - value_template: "{{ value_json['hrc_efficiency_in'] }}" - unit_of_measurement: "%" - icon: mdi:recycle - - name: "Enervent Pingvin LTO hyötysuhde poistoilma" - value_template: "{{ value_json['hrc_efficiency_ex'] }}" - unit_of_measurement: "%" - icon: mdi:recycle - - name: "Enervent Pingvin seuraava huolto" - value_template: "{{ value_json['days_until_service'] }}" - unit_of_measurement: "pv" - icon: mdi:calendar - - name: "Enervent Pingvin tuloilma" - value_template: "{{ value_json['measurements']['supply_heated'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin tuloilma LTO" - value_template: "{{ value_json['measurements']['supply_hrc'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin tuloilma ulko" - value_template: "{{ value_json['measurements']['supply_intake'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin tuloilma ulko 24h" - value_template: "{{ value_json['measurements']['supply_intake_24h'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin tuloilma kosteus" - value_template: "{{ value_json['measurements']['supply_hum'] }}" - unit_of_measurement: "%" - icon: mdi:water-percent - - name: "Enervent Pingvin paluuvesi" - value_template: "{{ value_json['measurements']['watertemp'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin poistoilma" - value_template: "{{ value_json['measurements']['extract_intake'] }}" - unit_of_measurement: "°C" - - name: "Enervent Pingvin jäteilma" - value_template: "{{ value_json['measurements']['extract_hrc'] }}" - unit_of_measurement: "°C" diff --git a/homeassistant/helpers.yaml b/homeassistant/helpers.yaml new file mode 100644 index 0000000..61f481b --- /dev/null +++ b/homeassistant/helpers.yaml @@ -0,0 +1,7 @@ +input_boolean: + penguin_max_heating: + name: Penguin Max Heating + icon: mdi:heat-wave + penguin_circulation_fan_adaptive: + name: Penguin Adaptive Circulation Fan + icon: mdi:fan-auto \ No newline at end of file diff --git a/homeassistant/homeassistant-rest.yaml b/homeassistant/homeassistant-rest.yaml new file mode 100644 index 0000000..ec9e18f --- /dev/null +++ b/homeassistant/homeassistant-rest.yaml @@ -0,0 +1,122 @@ +rest: + - resource: http://IP_ADDRESS:8888/api/v1/status + scan_interval: 15 + sensor: + - name: "Penguin operating mode" + value_template: "{{ value_json['op_mode'] }}" + icon: mdi:information + - name: "Penguin room temperature 1" + value_template: "{{ value_json['measurements']['room_temp1'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin after heater pct" + value_template: "{{ value_json['heater_pct'] }}" + unit_of_measurement: "%" + icon: mdi:heating-coil + - name: "Penguin heat recovery pct" + value_template: "{{ value_json['hrc_pct'] }}" + unit_of_measurement: "%" + icon: mdi:recycle + - name: "Penguin temperature setting" + value_template: "{{ value_json['temp_setting'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer-check + - name: "Penguin circulation fan pct" + value_template: "{{ value_json['fan_pct'] }}" + unit_of_measurement: "%" + icon: mdi:fan + - name: "Penguin HRC efficiency intake" + value_template: "{{ value_json['hrc_efficiency_in'] }}" + unit_of_measurement: "%" + icon: mdi:recycle + - name: "Penguin HRC efficiency extract" + value_template: "{{ value_json['hrc_efficiency_ex'] }}" + unit_of_measurement: "%" + icon: mdi:recycle + - name: "Penguin days until service" + value_template: "{{ value_json['days_until_service'] }}" + unit_of_measurement: "pv" + icon: mdi:calendar + - name: "Penguin supply air" + value_template: "{{ value_json['measurements']['supply_heated'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin supply air hrc" + value_template: "{{ value_json['measurements']['supply_hrc'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin intake air" + value_template: "{{ value_json['measurements']['supply_intake'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin intake air 24h" + value_template: "{{ value_json['measurements']['supply_intake_24h'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin supply air humidity" + value_template: "{{ value_json['measurements']['supply_hum'] }}" + unit_of_measurement: "%" + icon: mdi:water-percent + - name: "Penguin return water" + value_template: "{{ value_json['measurements']['watertemp'] }}" + unit_of_measurement: "°C" + icon: mdi:water-thermometer-outline + - name: "Penguin extract air" + value_template: "{{ value_json['measurements']['extract_intake'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin waste air" + value_template: "{{ value_json['measurements']['extract_hrc'] }}" + unit_of_measurement: "°C" + icon: mdi:thermometer + - name: "Penguin extract air humidity" + value_template: "{{ value_json['measurements']['extract_hum'] }}" + unit_of_measurement: "%" + icon: mdi:water-percent + - name: "Penguin extract air humidity 48h" + value_template: "{{ value_json['measurements']['extract_hum_48h'] }}" + unit_of_measurement: "%" + icon: mdi:water-percent + binary_sensor: + - name: "Penguin circulation adaptive" + value_template: "{{ value_json['coils'][11]['value'] }}" + icon: mdi:fan-auto + - name: "Penguin max heating" + value_template: "{{ value_json['coils'][6]['value'] }}" + icon: mdi:heat-wave + - name: "Penguin max cooling" + value_template: "{{ value_json['coils'][7]['value'] }}" + icon: mdi:snowflake + - name: "Penguin boost" + value_template: "{{ value_json['coils'][10]['value'] }}" + icon: mdi:arrow-expand-all + +rest_command: + penguin_circulation_adaptive: + url: http://IP_ADDRESS:8888/api/v1/coils/11/1 + method: POST + icon: mdi:fan-auto + penguin_circulation_manual: + url: http://IP_ADDRESS:8888/api/v1/coils/11/0 + method: POST + icon: mdi:fan + penguin_boost_toggle: + url: http://IP_ADDRESS:8888/api/v1/coils/10 + method: POST + icon: mdi:fan-plus + penguin_overpressure_toggle: + url: http://IP_ADDRESS:8888/api/v1/coils/3 + method: POST + icon: mdi:arrow-expand-all + penguin_max_heating_on: + url: http://IP_ADDRESS:8888/api/v1/coils/6/1 + method: POST + icon: mdi:heat-wave + penguin_max_heating_off: + url: http://IP_ADDRESS:8888/api/v1/coils/6/0 + method: POST + icon: mdi:scent-off + penguin_max_cooling_toggle: + url: http://IP_ADDRESS:8888/api/v1/coils/7 + method: POST + icon: mdi:snowflake