Solar dashboard

Xiaomi Pro 7 tablet on wall

Yaml…


kiosk_mode:
  non_admin_settings:
    kiosk: true
    ignore_entity_settings: true
title: Solar
views:
  - theme: Backend-selected
    title: SOLAR
    path: deye
    subview: false
    cards:
      - type: horizontal-stack
        cards:
          - type: custom:flex-horseshoe-card
            view_layout:
              grid-area: g2
            entities:
              - entity: sensor.deyeinvertermaster_battery_soc
                decimals: 0
                unit: '%'
                name: BATTERY
              - entity: sensor.deyeinvertermaster_battery_voltage
                decimals: 2
                unit: V
              - entity: sensor.deyeinvertermaster_battery_output_current
                decimals: 2
                unit: A
              - entity: sensor.deyeinvertermaster_battery_output_power
                decimals: 0
                unit: W
              - entity: sensor.deyeinvertermaster_summary_day_battery_discharge
                decimals: 1
                unit: kWh
                name: Discharge
              - entity: sensor.deyeinvertermaster_summary_day_battery_charge
                decimals: 1
                unit: kWh
                name: Charge
            show:
              horseshoe_style: autominmax, lineargradient
            layout:
              hlines:
                - id: 0
                  xpos: 50
                  ypos: 40
                  length: 70
                  styles:
                    - opacity: 0.2;
                - id: 0
                  xpos: 50
                  ypos: 60
                  length: 70
                  styles:
                    - opacity: 0.2;
              vlines:
                - id: 0
                  xpos: 50
                  ypos: 50
                  length: 18
                  styles:
                    - opacity: 0.2;
              states:
                - id: 0
                  entity_index: 0
                  xpos: 50
                  ypos: 33
                  styles:
                    - font-size: 3em;
                    - opacity: 0.9;
                - id: 1
                  entity_index: 1
                  xpos: 44
                  ypos: 53
                  styles:
                    - font-size: 1.5em;
                    - text-anchor: end;
                - id: 2
                  entity_index: 2
                  xpos: 55
                  ypos: 53
                  styles:
                    - text-anchor: start;
                    - font-size: 1.5em;
                - id: 3
                  entity_index: 3
                  xpos: 34
                  ypos: 75
                  styles:
                    - text-anchor: start;
                    - font-size: 2em;
                - id: 4
                  entity_index: 4
                  xpos: 75
                  ypos: 7
                  styles:
                    - text-anchor: start;
                    - font-size: 1.2em;
                - id: 5
                  entity_index: 5
                  xpos: 0
                  ypos: 7
                  styles:
                    - text-anchor: start;
                    - font-size: 1.2em;
              icons:
                - id: 0
                  entity_index: 1
                  xpos: 30
                  ypos: 52
                  align: start
                  size: 1
              names:
                - id: 0
                  entity_index: 0
                  xpos: 50
                  ypos: 95
                  styles:
                    - font-size: 1.2em;
                - id: 1
                  entity_index: 4
                  xpos: 81
                  ypos: 12
                  styles:
                    - font-size: 0.5em;
                    - text-anchor: start;
                - id: 2
                  entity_index: 5
                  xpos: 0
                  ypos: 12
                  styles:
                    - font-size: 0.5em;
                    - text-anchor: start;
            horseshoe_scale:
              min: 0
              max: 100
              width: 6
            color_stops:
              '0': '#ff9900'
              '20': '#ea1200'
              '40': '#d6005e'
              '60': '#c100ba'
              '80': '#5a00ad'
              '100': '#000099'
            card_mod:
              style: |
                ha-card {
                  --ha-card-background: var(--card-background-color);
                  color: var(--primary-color);
                }
          - type: custom:flex-horseshoe-card
            view_layout:
              grid-area: g1
            entities:
              - entity: sensor.deyeinvertermaster_pv_power
                decimals: 0
                unit: W
                name: Solar
              - entity: sensor.deyeinvertermaster_pv1_power
                decimals: 0
                unit: W
                name: Output
              - entity: sensor.deyeinvertermaster_summary_day_pv1_fixed
                decimals: 1
                unit: kWh
                name: Produced
              - entity: sensor.deyeinvertermaster_pv2_power
                decimals: 0
                unit: W
              - entity: sensor.deyeinvertermaster_summary_day_pv2_fixed
                decimals: 1
                unit: kWh
              - entity: sensor.deyeinvertermaster_pv3_power
                decimals: 0
                unit: W
              - entity: sensor.deyeinvertermaster_summary_day_pv3
                decimals: 1
                unit: kWh
              - entity: sensor.deyeinvertermaster_summary_day_pv
                decimals: 1
                unit: kWh
                name: Daily
              - entity: sensor.solcast_pv_forecast_forecast_today
                decimals: 1
                unit: kWh
                name: Forecast
            layout:
              hlines:
                - id: 0
                  xpos: 50
                  ypos: 40
                  length: 70
                  styles:
                    - opacity: 0.2;
              vlines:
                - id: 0
                  xpos: 50
                  ypos: 59
                  length: 36
                  styles:
                    - opacity: 0.2;
              states:
                - id: 0
                  entity_index: 0
                  xpos: 50
                  ypos: 35
                  styles:
                    - font-size: 3em;
                    - opacity: 0.9;
                - id: 1
                  entity_index: 1
                  xpos: 47
                  ypos: 53
                  styles:
                    - font-size: 1.5em;
                    - text-anchor: end;
                - id: 2
                  entity_index: 2
                  xpos: 53
                  ypos: 53
                  styles:
                    - text-anchor: start;
                    - font-size: 1.5em;
                - id: 3
                  entity_index: 3
                  xpos: 46
                  ypos: 63
                  styles:
                    - text-anchor: end;
                    - font-size: 1.5em;
                - id: 4
                  entity_index: 4
                  xpos: 53
                  ypos: 63
                  styles:
                    - text-anchor: start;
                    - font-size: 1.5em;
                - id: 5
                  entity_index: 5
                  xpos: 46
                  ypos: 73
                  styles:
                    - text-anchor: end;
                    - font-size: 1.5em;
                - id: 6
                  entity_index: 6
                  xpos: 53
                  ypos: 73
                  styles:
                    - text-anchor: start;
                    - font-size: 1.5em;
                - id: 9
                  entity_index: 7
                  xpos: 0
                  ypos: 7
                  styles:
                    - text-anchor: start;
                    - font-size: 1.2em;
                - id: 10
                  entity_index: 8
                  xpos: 74
                  ypos: 7
                  styles:
                    - text-anchor: start;
                    - font-size: 1.2em;
              icons:
                - id: 0
                  entity_index: 1
                  xpos: 1
                  ypos: 53
                  align: start
                  size: 1
              names:
                - id: 0
                  entity_index: 0
                  xpos: 50
                  ypos: 95
                  styles:
                    - font-size: 1.2em;
                - id: 1
                  entity_index: 1
                  xpos: 15
                  ypos: 45
                  styles:
                    - text-anchor: start;
                    - font-size: 0.5em;
                - id: 2
                  entity_index: 2
                  xpos: 85
                  ypos: 45
                  styles:
                    - text-anchor: end;
                    - font-size: 0.5em;
                - id: 3
                  entity_index: 7
                  xpos: 0
                  ypos: 12
                  styles:
                    - text-anchor: start;
                    - font-size: 0.5em;
                - id: 4
                  entity_index: 8
                  xpos: 83
                  ypos: 12
                  styles:
                    - font-size: 0.5em;
                    - text-anchor: start;
            horseshoe_scale:
              min: 0
              max: 8000
              width: 3
            color_stops:
              '0': yellow
              '2000': green
              '4000': blue
              '6000': orange
              '8000': red
            show:
              horseshoe_style: autominmax, lineargradient
            card_mod:
              style: |
                ha-card {
                  --ha-card-background: var(--card-background-color);
                  color: var(--primary-color);
                }
      - type: horizontal-stack
        cards:
          - type: custom:flex-horseshoe-card
            entities:
              - entity: sensor.deyeinvertermaster_load_power
                unit: W
                name: LOAD
              - entity: sensor.deyeinvertermaster_grid_voltage_l1
                decimals: 0
                unit: V
              - entity: sensor.deyeinvertermaster_grid_frequency
                decimals: 2
                unit: Hz
                name: Grid
              - entity: sensor.deyeinvertermaster_grid_power_ct_clamp
                decimals: 0
                unit: W
                name: Grid
              - entity: sensor.deyeinvertermaster_summary_day_grid_import_buy
                decimals: 2
                unit: kWh
                name: Import
              - entity: sensor.deyeinvertermaster_summary_day_load
                decimals: 2
                unit: kWh
                name: Daily
            show:
              horseshoe_style: autominmax, lineargradient
            layout:
              hlines:
                - id: 0
                  xpos: 50
                  ypos: 40
                  length: 70
                  styles:
                    - opacity: 0.2;
                - id: 0
                  xpos: 50
                  ypos: 60
                  length: 70
                  styles:
                    - opacity: 0.2;
              vlines:
                - id: 0
                  xpos: 50
                  ypos: 50
                  length: 18
                  styles:
                    - opacity: 0.2;
              states:
                - id: 0
                  entity_index: 0
                  xpos: 50
                  ypos: 33
                  styles:
                    - font-size: 3em;
                    - opacity: 0.9;
                - id: 1
                  entity_index: 1
                  xpos: 44
                  ypos: 53
                  styles:
                    - font-size: 1.5em;
                    - text-anchor: end;
                - id: 2
                  entity_index: 2
                  xpos: 55
                  ypos: 53
                  styles:
                    - text-anchor: start;
                    - font-size: 1.5em;
                - id: 3
                  entity_index: 3
                  xpos: 42
                  ypos: 75
                  styles:
                    - text-anchor: start;
                    - font-size: 2em;
                - id: 4
                  entity_index: 4
                  xpos: 75
                  ypos: 7
                  styles:
                    - text-anchor: start;
                    - font-size: 1.2em;
                - id: 5
                  entity_index: 5
                  xpos: 0
                  ypos: 7
                  styles:
                    - text-anchor: start;
                    - font-size: 1.2em;
              icons:
                - id: 0
                  entity_index: 1
                  xpos: 30
                  ypos: 52
                  align: start
                  size: 1
              names:
                - id: 0
                  entity_index: 0
                  xpos: 50
                  ypos: 95
                  styles:
                    - font-size: 1.2em;
                - id: 1
                  entity_index: 4
                  xpos: 85
                  ypos: 12
                  styles:
                    - font-size: 0.5em;
                    - text-anchor: start;
                - id: 2
                  entity_index: 5
                  xpos: 0
                  ypos: 12
                  styles:
                    - font-size: 0.5em;
                    - text-anchor: start;
                - id: 3
                  entity_index: 3
                  xpos: 44
                  ypos: 80
                  styles:
                    - font-size: 0.5em;
                    - text-anchor: start;
            horseshoe_scale:
              min: 0
              max: 12000
              width: 6
            color_stops:
              '0': '#99ff99'
              '2000': '#7accad'
              '5000': '#5b99c1'
              '8000': '#3d66d6'
              '11000': '#1e33ea'
              '14000': '#0000ff'
            card_mod:
              style: |
                ha-card {
                  --ha-card-background: var(--card-background-color);
                  color: var(--primary-color);
                }
          - type: vertical-stack
            cards:
              - type: weather-forecast
                entity: weather.home
                forecast_type: daily
              - type: custom:mushroom-chips-card
                chips:
                  - type: entity
                    entity: sensor.hwc_power
                    icon: mdi:water-boiler
                    name: HWC
                  - type: entity
                    entity: sensor.spa_pwr_power
                    icon: mdi:pool
                  - type: entity
                    entity: sensor.washing_machine_active_power
                    icon: mdi:washing-machine
                    use_entity_picture: false
                  - type: entity
                    entity: sensor.dryer_power
                    icon: mdi:tumble-dryer
                  - type: template
                    entity: sensor.utility_room_sensor_temperature
                    content: '{{ states(''sensor.utility_room_sensor_temperature'') }}°C'
                    icon: mdi:thermometer
                    icon_color: >-
                      {% if (states('sensor.utility_room_sensor_temperature') |
                      int) >= 30 %}
                        green 
                      {% endif %}
                  - type: entity
                    entity: sensor.solcast_pv_forecast_forecast_tomorrow
                    use_entity_picture: false
      - type: horizontal-stack
        cards:
          - type: custom:apexcharts-card
            view_layout:
              grid-area: stats
            chart_type: donut
            header:
              show: true
              title: Solar Power Usage
              show_states: true
              colorize_states: true
            apex_config:
              chart:
                toolbar:
                  show: false
                  autoSelected: zoom
              dataLabels:
                formatter: |
                  EVAL:function(value) {
                    return value.toFixed(0) + " %";
                  }
              plotOptions:
                pie:
                  donut:
                    labels:
                      show: true
                      total:
                        show: true
                        label: Total kWh
                        formatter: |
                          EVAL:function(w) {
                            return w.globals.seriesTotals.reduce((a, b) => {return (a + b)} , 0).toFixed(1) + " kWh"
                            }
              stroke:
                width: 1
                curve: smooth
              legend:
                show: false
              responsive:
                - breakpoint: 800
                  options:
                    chart:
                      height: 360px
                - breakpoint: 1300
                  options:
                    chart:
                      height: 285px
                - breakpoint: 10000
                  options:
                    chart:
                      height: 363px
            series:
              - entity: sensor.deyeinvertermaster_solar_power_used
                name: Self Consumed
              - entity: sensor.deyeinvertermaster_summary_day_battery_charge
                name: Charging
              - entity: sensor.deyeinvertermaster_summary_day_grid_export_sell
                name: Sold to Grid
          - type: custom:apexcharts-card
            view_layout:
              grid-area: stats1
            chart_type: donut
            header:
              show: true
              title: Consumption Today
              show_states: true
              colorize_states: true
            apex_config:
              chart:
                toolbar:
                  show: false
                  autoSelected: zoom
              plotOptions:
                pie:
                  donut:
                    labels:
                      show: true
                      total:
                        show: true
                        label: Total kWh
                        formatter: |
                          EVAL:function(w) {
                            return w.globals.seriesTotals.reduce((a, b) => {return (a + b)} , 0).toFixed(1) + " kWh"
                            }
              stroke:
                width: 1
                curve: smooth
              legend:
                show: false
              responsive:
                - breakpoint: 800
                  options:
                    chart:
                      height: 360px
                - breakpoint: 1300
                  options:
                    chart:
                      height: 285px
                - breakpoint: 10000
                  options:
                    chart:
                      height: 354px
            series:
              - entity: sensor.deyeinvertermaster_solar_power_used
                name: Solar consumed
                color: rgb(255, 155, 48)
              - entity: sensor.deyeinvertermaster_summary_day_battery_discharge
                name: Battery
                color: rgb(151, 90, 182)
              - entity: sensor.deyeinvertermaster_summary_day_grid_import_buy
                name: Grid
                color: rgb(84, 144, 194)
    type: custom:grid-layout

5 Likes