Yaml

🧩 Syntax:
views:
  - title: Home
    sections:
      - type: grid
        cards:
          - graph: line
            type: sensor
            entity: sensor.daily_import
            detail: 1
          - graph: line
            type: sensor
            entity: sensor.amber_general_price
            detail: 1
            name: BUY
          - graph: line
            type: sensor
            entity: sensor.amber_feed_in_price
            detail: 1
            name: SELL
          - graph: line
            type: sensor
            entity: sensor.daily_export
            detail: 1
        column_span: 2
      - type: grid
        cards:
          - type: tile
            entity: sensor.solcast_pv_forecast_forecast_remaining_today
            features_position: bottom
            vertical: false
            name: PV forecast remaining
            hide_state: false
          - type: custom:modern-circular-gauge
            entity: sensor.daily_solar_combined
            secondary:
              entity: sensor.pv_power_surplus
              show_gauge: inner
              show_state: true
              show_unit: true
              max: >-
                {{ states('sensor.solcast_pv_forecast_peak_forecast_today') |
                float ()}}
              needle: false
              start_from_zero: true
              adaptive_state_color: false
              state_text: ''
              gauge_foreground_style: {}
              label: Surplus
            tertiary:
              entity: sensor.total_solar_combined
              show_gauge: inner
              needle: false
              show_state: true
              show_unit: true
              max: >-
                {{ states('sensor.solcast_pv_forecast_peak_forecast_today') |
                float ()}}
              start_from_zero: true
              label: Instant
            min: 0
            start_from_zero: true
            adaptive_state_color: false
            needle: false
            show_state: true
            show_unit: true
            grid_options:
              columns: 6
              rows: 4
            icon: mdi:solar-power-variant-outline
            show_icon: false
            header_position: top
            show_header: true
            name: >-
              Daily PV ({{ states('sensor.solcast_pv_forecast_forecast_today')
              |  int()}} kW fcst)
            max: >-
              {{ states('sensor.solcast_pv_forecast_forecast_today') | float
              ()}}
          - type: conditional
            conditions:
              - condition: state
                entity: sun.sun
                state: above_horizon
            card:
              type: tile
              entity: sensor.solcast_pv_forecast_peak_time_today
              features_position: bottom
              vertical: false
              name: PV peak generation
              show_entity_picture: false
            grid_options:
              columns: 6
              rows: 1
          - type: conditional
            conditions:
              - condition: state
                entity: sun.sun
                state: above_horizon
            card:
              type: tile
              entity: sensor.solcast_pv_forecast_power_in_1_hour
              features_position: bottom
              vertical: false
              show_entity_picture: false
              name: PV power in 1 hour
            grid_options:
              columns: 6
              rows: 1
          - type: tile
            entity: sensor.solcast_pv_forecast_forecast_tomorrow
            features_position: bottom
            vertical: false
            name: PV forecast tomorrow
          - type: conditional
            conditions:
              - condition: state
                entity: sun.sun
                state: below_horizon
            card:
              type: tile
              entity: sensor.solcast_pv_forecast_forecast_day_3
              features_position: bottom
              vertical: false
              name: PV forecast day 3
              show_entity_picture: false
            grid_options:
              columns: 6
              rows: 1
          - type: conditional
            conditions:
              - condition: state
                entity: sun.sun
                state: below_horizon
            card:
              type: tile
              entity: sensor.solcast_pv_forecast_forecast_day_4
              features_position: bottom
              vertical: false
              name: PV forecast day 4
              show_entity_picture: false
            grid_options:
              columns: 6
              rows: 1
        column_span: 1
      - type: grid
        cards:
          - type: gauge
            entity: sensor.solarnet_power_grid
            max: 20000
            min: -20000
            needle: true
            severity:
              green: 0
              yellow: -20000
              red: -20000
            name: Grid Power
            grid_options:
              columns: 6
              rows: 4
          - type: tile
            entity: sensor.daily_consumption
            features_position: bottom
            vertical: false
          - type: tile
            entity: sensor.ev_charge_daily
            features_position: bottom
            vertical: false
            name: EV Charger today
          - type: tile
            entity: sensor.sigen_plant_consumed_power
            features_position: bottom
            vertical: false
            name: Instant consumption
          - type: tile
            entity: sensor.consumption_without_ev_charger
            features_position: bottom
            vertical: false
            name: Instant (No EV)
      - type: grid
        cards:
          - type: custom:modern-circular-gauge
            entity: sensor.wattpilot_charging_power
            secondary:
              entity: number.wattpilot_max_charging_current
              show_gauge: inner
              show_state: true
              show_unit: false
              max: '32'
              needle: false
            tertiary:
              show_gauge: inner
              needle: false
              show_state: true
              show_unit: false
              max: >-
                {{ states('sensor.solcast_pv_forecast_forecast_today') | float
                ()}}
            min: 0
            max: 22000
            start_from_zero: true
            adaptive_state_color: false
            needle: false
            show_state: true
            show_unit: true
            grid_options:
              columns: 6
              rows: 4
            show_icon: false
            header_position: top
            show_header: true
            name: Wattpilot power({{ states('select.wattpilot_phase_switch') }})
          - type: entities
            entities:
              - entity: select.wattpilot_charging_mode
              - entity: button.wattpilot_start_charging
              - entity: button.wattpilot_stop_charging
              - entity: sensor.wattpilot_carconnected
            grid_options:
              columns: 6
              rows: 4
            show_header_toggle: false
          - type: entities
            entities:
              - entity: number.wattpilot_pv_battery_threshold
              - entity: number.sigen_plant_ess_backup_state_of_charge
                name: Backup reserve
              - entity: input_number.amber_max_buy_price
              - entity: input_number.amber_min_sell_price
              - entity: number.wattpilot_max_price
              - entity: switch.wattpilot_discharge_pv_battery
                name: Use battery for EV
      - type: grid
        cards:
          - type: custom:gauge-card-pro
            entity: sensor.sigen_inverter_battery_state_of_charge
            segments:
              - from: 0
                color: red
              - from: 25
                color: '#FFA500'
              - from: 50
                color: rgb(255, 255, 0)
              - from: 100
                color: var(--green-color)
            needle: true
            gradient: true
            gradient_resolution: medium
            min_indicator:
              type: entity
              value: number.wattpilot_boost_discharges_until
              opacity: 0.4
            min: 0
            max: 100
            entity2: sensor.battery_soc_kw
            max_indicator:
              type: entity
              value: number.wattpilot_pv_battery_threshold
              opacity: 0.39
            titles:
              primary: Sigen Battery SOC
              secondary: >-
                Thresholds: {{
                states('number.sigen_plant_ess_backup_state_of_charge') }}% - 
                {{ states('number.wattpilot_pv_battery_threshold') }}%
            grid_options:
              columns: 6
              rows: 3
          - type: gauge
            entity: sensor.sigen_plant_battery_power
            max: 20000
            min: -20000
            grid_options:
              columns: 6
              rows: 3
            needle: true
            severity:
              green: 0
              yellow: -20000
              red: -20000
            name: Battery Power
          - type: conditional
            conditions:
              - condition: numeric_state
                entity: sensor.battery_runtime
                above: 0
            card:
              type: tile
              entity: sensor.battery_runtime
              features_position: bottom
              vertical: false
            grid_options:
              columns: 6
              rows: auto
          - type: conditional
            conditions:
              - condition: numeric_state
                entity: sensor.time_to_100
                above: 0
            card:
              type: tile
              entity: sensor.time_to_100
              features_position: bottom
              vertical: false
            grid_options:
              columns: 6
              rows: 1
          - type: conditional
            conditions:
              - condition: numeric_state
                entity: sensor.time_to_100_at_full
                above: 0.1
            card:
              type: tile
              entity: sensor.time_to_100_at_full
              features_position: bottom
              vertical: false
            grid_options:
              columns: 6
              rows: 1
          - type: conditional
            conditions:
              - condition: numeric_state
                entity: sensor.time_to_end_of_buy_window
                below: 3
            card:
              type: tile
              entity: sensor.time_to_end_of_buy_window
              features_position: bottom
              vertical: false
              name: Buy window ends in
            grid_options:
              columns: 6
              rows: 1
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
              brush: false
            brush:
              selection_span: 3.5hr
            graph_span: 3.5h
            span:
              start: minute
              offset: +5m
            header:
              show: true
              title: Amber 5 Min Forecast
              show_states: true
              colorize_states: true
              floating: false
            all_series_config:
              curve: stepline
              float_precision: 2
            series:
              - entity: sensor.amber_general_forecast
                stroke_width: 3
                color_threshold:
                  - value: 0
                    color: cyan
                  - value: 0.16
                    color: green
                  - value: 0.25
                    color: yellow
                  - value: 0.5
                    color: red
                name: Buy
                show:
                  in_brush: true
                  extremas: false
                  datalabels: true
                  legend_value: false
                  in_header: after_now
                data_generator: |
                  return entity.attributes.forecasts.map((entry) => {
                    return [new Date(entry.start_time), entry.per_kwh];
                  });
              - entity: sensor.amber_feed_in_forecast
                stroke_width: 3
                color_threshold:
                  - value: 0
                    color: cyan
                  - value: 0.16
                    color: green
                  - value: 0.25
                    color: yellow
                  - value: 0.5
                    color: red
                name: Sell
                show:
                  in_brush: false
                  extremas: true
                  datalabels: true
                  legend_value: false
                  in_header: after_now
                data_generator: |
                  return entity.attributes.forecasts.map((entry) => {
                    return [new Date(entry.start_time), entry.per_kwh];
                  });
            yaxis:
              - min: auto
                max: auto
                decimals: 2
                apex_config:
                  forceNiceScale: true
        column_span: 1
      - type: grid
        cards:
          - type: heading
            heading: New section
          - type: entities
            entities:
              - entity: binary_sensor.amber_demand_window
              - entity: sensor.amber_feed_in_forecast
              - entity: sensor.amber_feed_in_price_descriptor
              - entity: sensor.amber_general_forecast
              - entity: sensor.amber_general_price_descriptor
              - entity: binary_sensor.amber_price_spike