Skip to content

Power Outlet Card #3

Visualization

Swiss Army Knife Functional Card Power Outlet3 D06 Light Off Swiss Army Knife Functional Card Power Outlet3 D06 Light On
Swiss Army Knife Functional Card Power Outlet3 D06 Dark Off Swiss Army Knife Functional Card Power Outlet3 D06 Dark On

This card uses the Material 3 theme D06, TealBlue

Description Aspect Ratio Target Size
A card that displays the on/off state of a power outlet, but also displays the power value.
Both using a segmented arc and as state.
4/1 Grid with 2 columns
SAK Tool Used for
Circle The half circle, as the left part of the circle is cutoff by the card. Animated, state dependent
Icon Entity Icon. Animated, state dependent
SegArc Minimalistic implementation of segmented arc showing the sensors state with a single color
Name Name of Entity
State Value of entity

Interaction

Part Description
Card All tools connected to an entity do show by default the "more-info" dialog once clicked

Usage

1.0.0-rc.3

Replace example entities with your entities!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
- type: 'custom:swiss-army-knife-card'
  entities:
    - entity: sensor.dsmr_reading_electricity_currently_delivered
      name: 'PwrOutl #3'
    - entity: switch.washingmachine_energy
      name: 'Kitchen Switch'
    - entity: sensor.washingmachine_energy_power  # Just for the demo!!!!
      name: 'Kitchen Switch #2'
  layout:
    template:
      name: sak_layout_fce_power_outlet3
      variables:
        - sak_layout_power_outlet_segarc_scale_max_watt: 200
Data Default Required Description
entities The single entity on the card
sak_layout_power_outlet_segarc_scale_max_watt 200 The max value of the scale

YAML Template Definition

1.0.0-rc.3

Full definition of layout template
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
sak_layout_fce_power_outlet3:
  template:
    type: layout
    defaults: 
      - sak_layout_power_outlet_segarc_scale_max_watt: 200
  layout:
    aspectratio: 4/1
    toolsets:
      # ================================================================
      - toolset: half-circle
        position:
          cx: 0                             # Center on cards border 
          cy: 50
        tools:
          # ------------------------------------------------------------
          - type: circle
            position:
              cx: 50
              cy: 50
              radius: 50
            entity_index: 1
            animations:
              - state: 'on'
                styles:
                  circle:
                    fill: var(--theme-sys-color-primary)
              - state: 'off'
                styles:
                  circle:
                    fill: var(--theme-sys-elevation-surface-neutral4)
            styles:
              circle:
                stroke: none
                fill: var(--theme-sys-elevation-surface-neutral4)

          # ------------------------------------------------------------ 
          - type: 'segarc'
            id: 0
            position:
              cx: 50
              cy: 50
              start_angle: 25
              end_angle: 155
              width: 4
              radius: 58
            entity_index: 2
            scale:
              min: 0
              max: '[[sak_layout_power_outlet_segarc_scale_max_watt]]'
              width: 6
              offset: 12
            show:
              scale: false
              style: 'colorlist'
            segments:
              colorlist:
                gap: 1
                colors:
                  - var(--theme-sys-color-secondary)
            styles:
              foreground:
                fill: darkgrey
              background:
                fill: var(--theme-sys-color-secondary)
                opacity: 0.5

      # ================================================================
      - toolset: column-icon
        position:
          cx: 25
          cy: 50
        tools:
          # ------------------------------------------------------------
          - type: icon
            position:
              cx: 50
              cy: 50
              align: center
              icon_size: 45
            entity_index: 1
            animations:
              - state: 'on'
                styles:
                  icon:
                    fill: var(--primary-background-color)
              - state: 'off'
                styles:
                  icon:
                    fill: var(--theme-sys-color-secondary)
            styles:
              icon:
                fill: var(--theme-sys-color-secondary)
                opacity: 0.9

      # ================================================================
      - toolset: column-name
        position:
          cx: 70                # Left part = 75, so 75+(300-75)/2
          cy: 50
        tools:
          # ------------------------------------------------------------
          - type: name
            position:
              cx: 50
              cy: 37
            entity_index: 0
            styles:
              name:
                text-anchor: start
                font-size: 30em
                font-weight: 700
                opacity: 1
          # ------------------------------------------------------------
          - type: state
            position:
              cx: 50
              cy: 70
            entity_index: 2
            styles:
              state:
                text-anchor: start
                font-size: 26em
                font-weight: 500
                opacity: 0.7