SVG on Fixed Canvas only works from sidebar

I have started to build some basic menus on a NSPanel Pro, using the F-Droid app, which works great! But I have got stuck on an issue for some time now.

I have a page (“TestPage2”) with an SVG (“TestSVG”) that takes on different colours based on a switch item. It all works well when the page is opened from the sidebar. But, when the page is opened from a widget in a menu page ("TestPage1), the SVG is displayed but the colour does not change with the item.

This is true on Windows (W11 Pro 26200.7462, Edge), iPhone (iOS 26.1, Safari), and on NSPanel Pro (Android based). Other pages with Canvas Layouts but instead oh-label-card components work fine when opened from the menu page and through the same widget.

openHAB 5.0.3 / openHABian from 2025-12-26 / Raspberry Pi 5 8GB bookworm.

TestPage1

config:
  colNum: 7
  fixedType: grid
  hideNavbar: true
  hideSidebarIcon: true
  label: TestPage1
  layoutType: fixed
  order: "1"
  scale: false
  screenHeight: 480
  screenWidth: 480
  sidebar: true
  style:
    background: black
blocks: []
masonry: []
grid:
  - component: oh-grid-item
    config:
      h: 1
      w: 1
      x: 6
      y: 0
    slots:
      default:
        - component: widget:NSPanel-navi-buttons
          config:
            iconName: house_fill
            pageName: page_651dae1454
canvas: []

Widget

uid: NSPanel-navi-buttons
tags: []
props:
  parameters:
    - context: text
      description: Name of F7 icon
      label: F7 icon
      name: iconName
      required: true
      type: TEXT
    - context: text
      description: Name of actionPage
      label: Page to be called
      name: pageName
      required: true
      type: TEXT
  parameterGroups: []
timestamp: Dec 28, 2025, 11:44:01 AM
component: f7-card
config: {}
slots:
  default:
    - component: oh-button
      config:
        action: navigate
        actionPage: ="page:"+props.pageName
        fill: true
        iconF7: =props.iconName
        iconSize: 30px
        olColor: black
        outline: true
        style:
          --f7-button-bg-color: "#313338"
          --f7-button-outline-border-color: black
          align-items: center
          display: flex
          height: 60px
          width: 57px

TestPage2

config:
  embedSvg: true
  embedSvgFlashing: false
  embeddedSvgActions:
    Room:
      stateItems:
        - BEg_Hallway_Allights
      stateOffColor: "#7F7F7F"
      stateOnColor: "#BF9000"
  fixedType: canvas
  grid: 10
  gridEnable: false
  hideNavbar: true
  hideSidebarIcon: true
  imageUrl: /static/TestSVG.svg
  label: TestPage2
  layoutType: fixed
  screenHeight: 480
  screenWidth: 480
  sidebar: true
blocks: []
masonry: []
grid: []
canvas: []

SVG-file

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   width="113mm"
   height="113mm"
   viewBox="0 0 113 113"
   version="1.1"
   id="svg1"
   inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <defs
     id="defs1">
    <color-profile
       name="Agfa-:-Swop-Standard"
       xlink:href="file:///C:/WINDOWS/system32/spool/drivers/color/RSWOP.icm"
       id="color-profile2" />
  </defs>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1">
    <rect
       style="fill:#7f7f7f;stroke-width:0.267427"
       id="Room"
       width="23.62314"
       height="13.253214"
       x="3.2276134"
       y="33.533176"
       openhab="true" />
  </g>
</svg>

Any ideas on what could be wrong?

I never managed to solve the issue, so my conclusion is that it is a bug.

“When opening a fixed canvas page with embeded svg from another page, the svg actions do not update (until forced by a browser refresh).”

I solved my need (floorplan with room colour indicating lights on or off, with action: toggle) through oh-buttons. That also enabled me to use taphold-action for further control.