openHAB 5.2 Milestone discussion

Hi All
I have just upgraded from OH 5.2.0-SNAPSHOT (openHAB 5.2.0
Build #5067) to OH 5.2.0.M1 and two of my widgets no longer work.


now looks like

and

now looks like

The widgest are defined as:

component: oh-cell
config:
  on: true
  title: ="SunSynk Summary "
slots:
  background:
    - component: f7-block
      config:
        style:
          --cell-green: rgba(165,236,176,255)
          --cell-red: rgba(255,156,151,255)
          --cell-yellow: rgba(254,229,128,255)
          height: 100%
          margin: 0
          padding: 0
          position: absolute
          width: 100%
    - component: f7-block
      config:
        style:
          bottom: 5px
          left: 0px
          margin: 0
          padding: 0
          position: absolute
          width: 100%
      slots:
        default:
          - component: oh-button
            config:
              action: variable
              actionVariable: visibleSunSynkPop
              actionVariableValue: true
              popupOpen: .sunSynk-pop
              style:
                height: 100%
                width: 100%
              text: OPEN
    - component: f7-popup
      config:
        class: sunSynk-pop
        style:
          --f7-popup-tablet-height: 720px
          --f7-popup-tablet-width: 360px
          background-color: rgb(220,220,220)
          border-radius: 30px
          height: 720px
          text-overflow: ellipsis
          width: 360px
      slots:
        default:
          - component: f7-block
            config:
              popupClose: .sunSynk-pop
              style:
                --f7-popup-tablet-height: 720px
                --f7-popup-tablet-width: 360px
                background-color: rgb(220,220,220)
                border-radius: 30px
                height: 720px
                margin: 0
                padding: 0
                text-overflow: ellipsis
                width: 360px
              visible: =(vars.visibleSunSynkPop) == true
            slots:
              default:
                - component: oh-button
                  config:
                    action: variable
                    actionVariable: visibleSunSynkPop
                    actionVariableValue: false
                    clearVariable:
                      - ZZvisibleSunSynkPop
                    large: true
                    popupClose: .modal-in
                    style:
                      background: rgb(220,220,220)
                      color: white
                      display: flex
                      height: 30px
                      left: 5px
                      position: absolute
                      top: 5px
                      width: 30px
                      z-index: 999
                  slots:
                    default:
                      - component: f7-icon
                        config:
                          color: white
                          f7: clear_fill
                          style:
                            color: black
                            font-size: 20px
                            margin: auto
                - component: Label
                  config:
                    style:
                      font-size: 25px
                      font-weight: 500
                      padding-left: 70px
                      width: 100%
                    text: SunSynk Summary
                - component: f7-block
                  config:
                    style:
                      --f7-popup-tablet-height: 180px
                      --f7-popup-tablet-width: 326px
                      background-color: rgba(232,232,232)
                      border: 1px solid black
                      border-radius: 10px
                      height: 180px
                      left: 17px
                      margin: 0
                      padding: 0
                      position: absolute
                      width: 326px
                  slots:
                    default:
                      - component: oh-gauge
                        config:
                          borderBgColor: rgba(230,240,252,255)
                          borderColor: rgba(43,208,254,255)
                          borderWidth: 20
                          class:
                            - margin-top
                            - margin-bottom
                          item: SunSynk_Load_Grid
                          labelText: Grid
                          max: 8800
                          min: 0
                          size: 300
                          style: left:15px
                          type: semicircle
                          valueFontSize: 35
                          valueTextColor: rgba(84,214,138,255)
                - component: f7-block
                  config:
                    style:
                      --f7-popup-tablet-height: 320px
                      --f7-popup-tablet-width: 326px
                      background-color: rgba(232,232,232)
                      border: 1px solid black
                      border-radius: 10px
                      display: flex
                      height: 320px
                      justify-content: space-around
                      left: 17px
                      margin: 0
                      padding: 0
                      position: absolute
                      top: 250px
                      width: 326px
                  slots:
                    default:
                      - component: f7-col
                        config:
                          style:
                            align-items: center
                            display: flex
                            flex-direction: column
                        slots:
                          default:
                            - component: f7-block
                              config:
                                style:
                                  align-items: center
                                  border-radius: 40px
                                  display: flex
                                  flex-direction: column
                                  height: 80px
                                  justify-content: center
                                  margin: 0
                                  padding: 0
                                  top: 35px
                                  width: 80px
                              slots:
                                default:
                                  - component: oh-icon
                                    config:
                                      height: 40px
                                      icon: oh:ss_solar
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                      text: =items.SunSynk_MPPT1_House.state
                                  - component: oh-icon
                                    config:
                                      height: 40px
                                      icon: oh:ss_solar
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                      text: =items.SunSynk_MPPT2_Garage.state
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                        font-weight: 800
                                      text: =items.SunSynk_MPPT_TOTAL.state
                            - component: f7-block
                              config:
                                style:
                                  align-items: center
                                  border-radius: 40px
                                  display: flex
                                  flex-direction: column
                                  height: 80px
                                  justify-content: center
                                  margin: 0
                                  padding: 0
                                  top: 140px
                                  width: 80px
                              slots:
                                default:
                                  - component: oh-icon
                                    config:
                                      height: 40px
                                      icon: oh:ss_battery
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                      text: =items.SunSynk_Battery_SOC.state + " " + items.SunSynk_Battery_Power.state
                      - component: f7-col
                        config:
                          style:
                            align-items: center
                            display: flex
                            flex-direction: column
                            flex-grow: 1
                        slots:
                          default:
                            - component: f7-block
                              config:
                                style:
                                  align-items: center
                                  display: flex
                                  flex-direction: column
                                  height: 80px
                                  justify-content: center
                                  margin: 0
                                  padding: 0
                                  top: 120px
                                  width: 80px
                              slots:
                                default:
                                  - component: oh-icon
                                    config:
                                      height: 70px
                                      icon: oh:ss_inverter
                            - component: f7-block
                              config:
                                style:
                                  display: flex
                                  height: 295px
                                  justify-content: center
                                  margin: 0
                                  padding: 0
                                  top: -49px
                                  width: 100%
                              slots:
                                default:
                                  - component: svg
                                    config:
                                      preserveAspectRatio: xMidYMid slice
                                      style:
                                        height: auto
                                      viewBox: 0 0 80 140
                                      xmlns: http://www.w3.org/2000/svg
                                    slots:
                                      default:
                                        - component: path
                                          config:
                                            d: M0,10 H25 A 10 10 45 0 1 35 20 V45
                                            fill: none
                                            id: solarInverter
                                            stroke: =(items.SunSynk_MPPT_TOTAL.state != "0
                                              W")?("orange"):("rgb(220,220,220)")
                                            stroke-width: 2
                                            vector-effect: non-scaling-stroke
                                        - component: g
                                          config:
                                            visible: =(items.SunSynk_MPPT_TOTAL.state != "0 W")?(true):(false)
                                          slots:
                                            default:
                                              - component: circle
                                                config:
                                                  fill: orange
                                                  r: 3
                                                  strokeWidth: 10
                                                  vectorEffect: non-scaling-stroke
                                              - component: text
                                                config:
                                                  content: »
                                                  font-size: 8px
                                                  text-anchor: middle
                                                  x: 0
                                                  y: 2.3
                                              - component: animateTransform
                                                config:
                                                  attributeName: transform
                                                  attributeType: XML
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_MPPT_TOTAL.state)/1000)))
                                                  keyTimes: 0;.33;.66;1
                                                  repeatCount: indefinite
                                                  type: rotate
                                                  values: 0;0;90;90
                                              - component: animateMotion
                                                config:
                                                  calcMode: linear
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_MPPT_TOTAL.state)/1000)))
                                                  keyPoints: 0;1
                                                  keyPointsReverse: 1;0
                                                  keyTimes: 0;1
                                                  repeatCount: indefinite
                                                slots:
                                                  default:
                                                    - component: mpath
                                                      config:
                                                        xlink:href: "#solarInverter"
                                        - component: path
                                          config:
                                            d: M80,10 H55 A 10 10 45 0 0 45 20 V45
                                            fill: none
                                            id: gridInverter
                                            stroke: =(items.SunSynk_Load_Grid.state != "0
                                              W")?("orange"):("rgb(220,220,220)")
                                            stroke-width: 2
                                            vector-effect: non-scaling-stroke
                                        - component: g
                                          config:
                                            visible: =(items.SunSynk_Load_Grid.state != "0 W")?(true):(false)
                                          slots:
                                            default:
                                              - component: circle
                                                config:
                                                  fill: orange
                                                  r: 3
                                                  strokeWidth: 10
                                                  vectorEffect: non-scaling-stroke
                                              - component: text
                                                config:
                                                  content: »
                                                  font-size: 8px
                                                  text-anchor: middle
                                                  x: 0
                                                  y: 2.3
                                              - component: animateTransform
                                                config:
                                                  attributeName: transform
                                                  attributeType: XML
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_Load_Grid.state)/1000)))
                                                  keyTimes: 0;.33;.66;1
                                                  repeatCount: indefinite
                                                  type: rotate
                                                  values: =(Number.parseInt(items.SunSynk_Load_Grid.state) >
                                                    0)?('-180;-180;-270;-270'):('-90;-90;0;0')
                                              - component: animateMotion
                                                config:
                                                  calcMode: linear
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_Load_Grid.state)/1000)))
                                                  keyPoints: =(Number.parseInt(items.SunSynk_Load_Grid.state) > 0)?('0;1'):('1;0')
                                                  keyPointsReverse: 1;0
                                                  keyTimes: 0;1
                                                  repeatCount: indefinite
                                                slots:
                                                  default:
                                                    - component: mpath
                                                      config:
                                                        xlink:href: "#gridInverter"
                                        - component: path
                                          config:
                                            d: M0,115 H25 A 10 10 45 0 0 35 105 V80
                                            fill: none
                                            id: batteryInverter
                                            stroke: =(items.SunSynk_Battery_Power.state != "0
                                              W")?("orange"):("rgb(220,220,220)")
                                            stroke-width: 2
                                            vector-effect: non-scaling-stroke
                                        - component: g
                                          config:
                                            visible: =(items.SunSynk_Battery_Power.state != "0 W")?(true):(false)
                                          slots:
                                            default:
                                              - component: circle
                                                config:
                                                  fill: orange
                                                  r: 3
                                                  strokeWidth: 10
                                                  vectorEffect: non-scaling-stroke
                                              - component: text
                                                config:
                                                  content: »
                                                  font-size: 8px
                                                  text-anchor: middle
                                                  x: 0
                                                  y: 2.3
                                              - component: animateTransform
                                                config:
                                                  attributeName: transform
                                                  attributeType: XML
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_Battery_Power.state)/1000)))
                                                  keyTimes: 0;.33;.66;1
                                                  repeatCount: indefinite
                                                  type: rotate
                                                  values: =(Number.parseInt(items.SunSynk_Battery_Power.state) >
                                                    0)?('0;0;-90;-90'):('90;90;180;180')
                                              - component: animateMotion
                                                config:
                                                  calcMode: linear
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_Battery_Power.state)/1000)))
                                                  keyPoints: =(Number.parseInt(items.SunSynk_Battery_Power.state) >
                                                    0)?('0;1'):('1;0')
                                                  keyPointsReverse: 1;0
                                                  keyTimes: 0;1
                                                  repeatCount: indefinite
                                                slots:
                                                  default:
                                                    - component: mpath
                                                      config:
                                                        xlink:href: "#batteryInverter"
                                        - component: path
                                          config:
                                            d: M80,95 H55 A 10 10 45 0 1 45 85 V80
                                            fill: none
                                            id: upsInverter
                                            stroke: =(items.SunSynk_Load_Essential.state != "0
                                              W")?("orange"):("rgb(220,220,220)")
                                            stroke-width: 2
                                            vector-effect: non-scaling-stroke
                                        - component: g
                                          config:
                                            visible: =(items.SunSynk_Load_Essential.state != "0 W")?(true):(false)
                                          slots:
                                            default:
                                              - component: circle
                                                config:
                                                  fill: orange
                                                  r: 3
                                                  strokeWidth: 10
                                                  vectorEffect: non-scaling-stroke
                                              - component: text
                                                config:
                                                  content: »
                                                  font-size: 8px
                                                  text-anchor: middle
                                                  x: 0
                                                  y: 2.3
                                              - component: animateTransform
                                                config:
                                                  attributeName: transform
                                                  attributeType: XML
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_Load_Essential.state)/1000)))
                                                  keyTimes: 0;.10;.50;1
                                                  repeatCount: indefinite
                                                  type: rotate
                                                  values: =(Number.parseInt(items.SunSynk_Load_Essential.state) >
                                                    0)?('90;90;0;0'):('-180;-180;-90;-90')
                                              - component: animateMotion
                                                config:
                                                  calcMode: linear
                                                  dur: =Number.parseInt(Math.abs((7-Number.parseFloat(items.SunSynk_Load_Essential.state)/1000)))
                                                  keyPoints: =(Number.parseInt(items.SunSynk_Load_Essential.state) >
                                                    0)?('1;0'):('0;1')
                                                  keyPointsReverse: 1;0
                                                  keyTimes: 0;1
                                                  repeatCount: indefinite
                                                slots:
                                                  default:
                                                    - component: mpath
                                                      config:
                                                        xlink:href: "#upsInverter"
                                        - component: path
                                          config:
                                            d: M80,115 H50 A 10 10 40 0 1 40 105 V80
                                            fill: none
                                            id: homeInverter
                                            stroke: =(Number.parseFloat(items.SunSynk_Load_NonEssential.state) >
                                              0)?("orange"):("rgb(220,220,220)")
                                            stroke-width: 2
                                            vector-effect: non-scaling-stroke
                                        - component: g
                                          config:
                                            visible: =(Number.parseFloat(items.SunSynk_Load_NonEssential.state) >
                                              0)?(true):(false)
                                          slots:
                                            default:
                                              - component: circle
                                                config:
                                                  fill: orange
                                                  r: 3
                                                  strokeWidth: 10
                                                  vectorEffect: non-scaling-stroke
                                              - component: text
                                                config:
                                                  content: »
                                                  font-size: 8px
                                                  text-anchor: middle
                                                  x: 0
                                                  y: 2.3
                                              - component: animateTransform
                                                config:
                                                  attributeName: transform
                                                  attributeType: XML
                                                  dur: =(Number.parseInt(Math.abs((7-(Number.parseFloat(items.SunSynk_Load_NonEssential.state)/1000)))))
                                                  keyTimes: 0;.33;.66;1
                                                  repeatCount: indefinite
                                                  type: rotate
                                                  values: =(Number.parseFloat(items.SunSynk_Load_NonEssential.state) >
                                                    0)?('90;90;0;0'):('-180;-180;-90;-90')
                                              - component: animateMotion
                                                config:
                                                  calcMode: linear
                                                  dur: =(Number.parseInt(Math.abs((7-(Number.parseFloat(items.SunSynk_Load_NonEssential.state)/1000)))))
                                                  keyPoints: =(Number.parseFloat(items.SunSynk_Load_NonEssential.state) >
                                                    0)?('1;0'):('0;1')
                                                  keyPointsReverse: 1;0
                                                  keyTimes: 0;1
                                                  repeatCount: indefinite
                                                slots:
                                                  default:
                                                    - component: mpath
                                                      config:
                                                        xlink:href: "#homeInverter"
                      - component: f7-col
                        config:
                          style:
                            align-items: center
                            display: flex
                            flex-direction: column
                        slots:
                          default:
                            - component: f7-block
                              config:
                                style:
                                  align-items: center
                                  border-radius: 40px
                                  display: flex
                                  flex-direction: column
                                  height: 80px
                                  justify-content: center
                                  margin: 0
                                  padding: 0
                                  top: 20px
                                  width: 80px
                              slots:
                                default:
                                  - component: oh-icon
                                    config:
                                      height: 40px
                                      icon: oh:ss_grid
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                      text: =items.SunSynk_Load_Grid.state
                            - component: f7-block
                              config:
                                style:
                                  align-items: center
                                  border-radius: 40px
                                  display: flex
                                  flex-direction: column
                                  height: 80px
                                  justify-content: center
                                  margin: 0
                                  padding: 0
                                  top: 130px
                                  width: 80px
                              slots:
                                default:
                                  - component: oh-icon
                                    config:
                                      height: 40px
                                      icon: oh:ss_bolt
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                        white-space: nowrap
                                      text: =items.SunSynk_Load_Essential.state
                                  - component: oh-icon
                                    config:
                                      height: 40px
                                      icon: oh:ss_house
                                  - component: Label
                                    config:
                                      style:
                                        font-size: 12px
                                        white-space: nowrap
                                      text: =items.SunSynk_Load_NonEssential.state
                - component: f7-block
                  config:
                    style:
                      background-color: rgba(232,232,232)
                      left: 210px
                      margin: 0
                      padding: 0
                      position: absolute
                      top: 403px
                      width: 100px
                  slots:
                    default:
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            white-space: nowrap
                          text: =items.SunSynk_inv_Total_Power_175.state
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            white-space: nowrap
                          text: =items.SunSynk_inv_Current_L1_164.state
                - component: f7-block
                  config:
                    style:
                      --f7-popup-tablet-height: 20px
                      --f7-popup-tablet-width: 326px
                      background-color: rgba(232,232,232)
                      border: 1px solid black
                      border-radius: 10px
                      bottom: 15px
                      height: 20px
                      left: 17px
                      margin: 0
                      padding: 0
                      position: absolute
                      width: 326px
                  slots:
                    default:
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            font-weight: 700
                            left: 10px
                            position: absolute
                            white-space: nowrap
                          text: '="MCU: "'
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            left: 45px
                            position: absolute
                            white-space: nowrap
                          text: =items.SunSynk_MCU.state
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            font-weight: 700
                            left: 95px
                            position: absolute
                            white-space: nowrap
                          text: '="COMM: "'
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            left: 143px
                            position: absolute
                            white-space: nowrap
                          text: =items.SunSynk_COMM.state
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            font-weight: 700
                            left: 185px
                            position: absolute
                            white-space: nowrap
                          text: '="Last: "'
                      - component: Label
                        config:
                          style:
                            font-size: 12px
                            left: 212px
                            position: absolute
                            white-space: nowrap
                          text: =items.SunSynk_FW_LastUpdate.displayState

and

component: oh-cell
config:
  title: ="Mains TOTAL Energy "
slots:
  background:
    - component: f7-block
      config:
        style:
          height: 25px
          margin: 0
          padding: 0
          position: absolute
          top: 12px
          width: 100%
        visible: =(screen.viewAreaWidth >= 1600)
      slots:
        default:
          - component: oh-toggle
            config:
              item: ShellyEM_MAINS_TotalEnergy_Switch
              style:
                position: absolute
                right: 5px
                top: 2px
              width: 50px
          - component: Label
            config:
              style:
                color: blue
                position: absolute
                right: 50px
                top: 2px
              text: Store
    - component: f7-block
      config:
        style:
          bottom: 36px
          height: 45px
          left: 0px
          margin: 0
          padding: 0
          position: absolute
          width: 100%
        visible: =(screen.viewAreaWidth >= 835)
      slots:
        default:
          - component: Label
            config:
              style:
                color: blue
                font-size: 13px
                left: 5px
                position: absolute
                top: 0px
              text: '="Was: " + (items.ShellyEM_Mains_TotalEnergy_PreviousMonth.state)'
          - component: Label
            config:
              style:
                color: blue
                font-size: 13px
                position: absolute
                right: 5px
                top: 0px
              text: '= "Now: " + (items.ShellyEM_MAINS_TotalEnergy.state)'
          - component: Label
            config:
              style:
                color: blue
                font-size: 13px
                left: 5px
                position: absolute
                top: 17px
              text: '="Last: " + (items.ShellyEM_MAINS_TotalEnergy_Monthly.state)'
          - component: Label
            config:
              style:
                color: blue
                font-size: 13px
                position: absolute
                right: 5px
                top: 17px
              text: '="This: " +
                (Math.round((Math.abs(Number.parseFloat(items.ShellyEM_MAINS_TotalEnergy.state))
                -
                (Number.parseFloat(items.ShellyEM_Mains_TotalEnergy_PreviousMonth.state)))
                *1000) /1000) + " kWh"'
    - component: f7-block
      config:
        bgColor: none
        style:
          bottom: 5px
          left: 0px
          margin: 0
          padding: 0
          position: absolute
          width: 100%
      slots:
        default:
          - component: oh-button
            config:
              action: variable
              actionVariable: visibleMonthlyPop
              actionVariableValue: true
              popupOpen: .month-pop-test
              style:
                height: 100%
                width: 100%
              text: OPEN
    - component: f7-popup
      config:
        class: month-pop-test
        style:
          --f7-popup-tablet-height: 720px
          --f7-popup-tablet-width: 360px
          background-color: rgb(220,220,220)
          border-radius: 30px
          height: 720px
          text-overflow: ellipsis
          width: 360px
      slots:
        default:
          - component: f7-block
            config:
              style:
                --f7-popup-tablet-height: 720px
                --f7-popup-tablet-width: 360px
                background: rgb(220,220,220)
                border-radius: 20px
                height: 720px
                margin: 0
                padding: 0
                position: absolute
                top: 0px
                width: 360px
              visible: =(vars.visibleMonthlyPop)==true
            slots:
              default:
                - component: oh-button
                  config:
                    action: variable
                    actionVariable: visibleMonthlyPop
                    actionVariableValue: false
                    clearVariable:
                      - ZZvisibleMonthlyPop
                    large: true
                    popupClose: .modal-in
                    style:
                      background: rgb(220,220,220)
                      color: white
                      display: flex
                      height: 30px
                      left: 5px
                      position: absolute
                      top: 5px
                      width: 30px
                      z-index: 999
                  slots:
                    default:
                      - component: f7-icon
                        config:
                          color: white
                          f7: clear_fill
                          style:
                            color: black
                            font-size: 20px
                            margin: auto
                - component: Label
                  config:
                    style:
                      font-size: 20px
                      font-weight: 500
                      padding-left: 35px
                      width: 100%
                      z-index: 999
                    text: Mains Consumption Comparison
                - component: f7-block
                  config:
                    style:
                      --f7-popup-tablet-height: 350px
                      --f7-popup-tablet-width: 360px
                      --my-chart-menu-size: =(device.desktop)?(1):(.5)
                      height: 350px
                      margin: 0
                      padding: 0
                      position: absolute
                      top: 20px
                      width: 360px
                    stylesheet: |
                      .menu {
                        transform: Scale(var(--my-chart-menu-size));
                      }
                  slots:
                    default:
                      - component: oh-chart
                        config:
                          chartType: month
                          label: Mains Consumption Comparison
                          period: M
                        slots:
                          dataZoom:
                            - component: oh-chart-datazoom
                              config:
                                show: true
                                type: inside
                          grid:
                            - component: oh-chart-grid
                              config:
                                includeLabels: true
                                top: 90px
                          legend:
                            - component: oh-chart-legend
                              config:
                                bottom: 5
                                type: scroll
                          series:
                            - component: oh-time-series
                              config:
                                gridIndex: 0
                                item: ShellyEM_MAINS_TotalEnergy
                                name: Current
                                type: line
                                xAxisIndex: 1
                                yAxisIndex: 0
                            - component: oh-time-series
                              config:
                                gridIndex: 0
                                item: ShellyEM_MAINS_TotalEnergy
                                name: Previous
                                offsetAmount: 1
                                offsetUnit: month
                                type: line
                                xAxisIndex: 0
                                yAxisIndex: 0
                          tooltip:
                            - component: oh-chart-tooltip
                              config:
                                confine: true
                                smartFormatter: true
                          xAxis:
                            - component: oh-time-axis
                              config:
                                gridIndex: 0
                            - component: oh-time-axis
                              config:
                                gridIndex: 0
                                verticalAlign: top
                          yAxis:
                            - component: oh-value-axis
                              config:
                                axisLabel:
                                  align: right
                                  fontSize: 9
                                  hideOverlap: true
                                  inside: false
                                  margin: 5
                                  rotate: 0
                                  show: true
                                  showMaxLabel: false
                                  showMinLabel: false
                                containLabel: true
                                gridIndex: 0
                                max: dataMax
                                min: dataMin
                                name: kWh
                                nameGap: 30
                                nameLocation: start
                                nameTextStyle:
                                  align: right
                                  color: black
                                  padding: 6
                                  verticalAlign: top
                                position: left
                - component: f7-block
                  config:
                    style:
                      --f7-popup-tablet-height: 300px
                      --f7-popup-tablet-width: 326px
                      background-color: rgba(232,232,232)
                      border: 1px solid black
                      border-radius: 10px
                      height: 300px
                      left: 17px
                      margin: 0
                      padding: 0
                      position: absolute
                      top: 360px
                      width: 326px
                  slots:
                    default:
                      - component: f7-list
                        config: {}
                        slots:
                          default:
                            - component: oh-toggle-item
                              config:
                                color: black
                                item: ShellyEM_MAINS_TotalEnergy_Switch
                                style:
                                  --f7-toggle-height: 20px
                                  --f7-toggle-width: 50px
                                  background-color: rgba(232,232,232)
                                  font-size: 13px
                                title: Store current EM Mains reading
                            - component: oh-list-item
                              config:
                                color: black
                                style:
                                  background-color: rgba(232,232,232)
                                  font-size: 13px
                                title: '= "Usage last Month: " +
                                  (items.ShellyEM_MAINS_TotalEnergy_Monthly.state)'
                            - component: oh-list-item
                              config:
                                color: black
                                style:
                                  background-color: rgba(232,232,232)
                                  font-size: 13px
                                title: '= "Last Stored: " + (items.ShellyEM_Mains_LastStored.displayState) + " -
                                  " +
                                  dayjs(items["ShellyEM_Mains_LastStored"].state).fromNow()'
                            - component: oh-list-item
                              config:
                                color: black
                                style:
                                  background-color: rgba(232,232,232)
                                  font-size: 13px
                                title: '= "Now: " + (items.ShellyEM_MAINS_TotalEnergy.state) + "     Was - " +
                                  (items.ShellyEM_Mains_TotalEnergy_PreviousMonth.state)'
                            - component: oh-list-item
                              config:
                                color: black
                                style:
                                  background-color: rgba(232,232,232)
                                  font-size: 13px
                                title: '= "Usage this Month: " +
                                  (Math.round((Math.abs(Number.parseFloat(items.ShellyEM_MAINS_TotalEnergy.state))
                                  -
                                  (Number.parseFloat(items.ShellyEM_Mains_TotalEnergy_PreviousMonth.state)))
                                  *1000) /1000) + " kWh"'

Any suggestions would be appreciated.

I was hoping that the Chart issue in the 2nd widget had been fixed (to do with period offset and previoulsy reported)

Any advise would be appreciated.

Mark