openhab / openhab-webui

Web UIs of openHAB
Eclipse Public License 2.0
212 stars 232 forks source link

Problems with visualMap in chart widget #2262

Open jlikonen opened 4 months ago

jlikonen commented 4 months ago

The problem

I have a chart widget which plots the hourly Entso spot prices and a markLine for a price limit. The markLine indicates the price limit for switching on our ground source heat pump, i.e. when the electricity price is below this limit the heat pump is on and when the price is higher than the price limit then the pump is off.

The problem now is that if I refresh the page then I get an empty plot.

Expected behavior

When the page with the chart is refreshed then the chart should also be refreshed.

Steps to reproduce

The code of my widget is:

uid: Entso_testi
tags: []
props:
  parameters:
    - context: item
      description: Main toggle item (use for single toggle or as main switch for group)
      label: Item
      name: item
      required: false
    - context: text
      default: You forgot to set a card title
      description: Pretty card label
      label: Title
      name: title
      required: false
      type: TEXT
  parameterGroups: []
timestamp: Jan 7, 2024, 6:08:10 PM
component: f7-card
config:
  class:
    - padding-bottom
  title: =props.title
slots:
  default:
    - component: f7-row
      config:
        class:
          - margin-top
      slots:
        default:
          - component: f7-col
            config:
              width: 75
            slots:
              default:
                - component: oh-chart
                  config:
                    chartType: day
                    includeLabels: true
                    label: Kulutus
                  slots:
                    dataZoom:
                      - component: oh-chart-datazoom
                        config:
                          type: inside
                    grid:
                      - component: oh-chart-grid
                        config:
                          bottom: 60
                          containLabel: false
                          height: 50%
                          left: "40"
                          width: 70%
                    legend:
                      - component: oh-chart-legend
                        config:
                          bottom: 3
                          type: scroll
                    series:
                      - component: oh-aggregate-series
                        config:
                          aggregationFunction: last
                          barGap: 0%
                          barWidth: 70%
                          dimension1: hour
                          gridIndex: 0
                          id: 0
                          item: =props.item
                          markLine:
                            data:
                              - lineStyle:
                                  color: red
                                  type: solid
                                yAxis: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                          offsetAmount: -1
                          offsetUnit: hour
                          service: influxdb
                          stack: foo
                          type: bar
                          xAxisIndex: 0
                          yAxisIndex: 0
                    visualMap:
                      - component: oh-chart-visualmap
                        config:
                          pieces:
                            - color: rgb( 3, 176, 74 )
                              min: 0
                              max: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                            - color: rgb( 253, 75, 66)
                              min: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                              max: 100
                          seriesIndex: 0
                          type: piecewise
                    xAxis:
                      - component: oh-category-axis
                        config:
                          categoryType: day
                          gridIndex: 0
                          monthFormat: default
                          name: Aika (h)
                          nameGap: 25
                          nameLocation: center
                          weekdayFormat: default
                    yAxis:
                      - component: oh-value-axis
                        config:
                          gridIndex: 0
                          name: Hinta (snt/kWh)
                          nameGap: 25
                          nameLocation: center

I then updated the visualMap part by adding line “show: false” so the code for visualMap part is:

visualMap:
                      - component: oh-chart-visualmap
                        config:
                          pieces:
                            - color: green
                              min: 0
                              max: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                            - color: red
                              min: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                              max: 100
                          seriesIndex: 0
                          show: false
                          type: piecewise

With the "show:false" line the widget works OK.

I made a test page which has this widget with and without line "show: false". The screencopy is shown below:

Screenshot 2024-01-07 183238

When I refresh the page then the plot on the right hand side is empty:

Screenshot 2024-01-07 183322

The problem appears with Firefox, MS Edge and Chrome.

Your environment

runtimeInfo:
  version: 4.1.0
  buildString: Release Build
locale: fi-FI
systemInfo:
  configFolder: C:\openHAB\conf
  userdataFolder: C:\openHAB\userdata
  logFolder: C:\openHAB\userdata\logs
  javaVersion: 17.0.8.1
  javaVendor: Azul Systems, Inc.
  javaVendorVersion: Zulu17.44+53-CA
  osName: Windows 11
  osVersion: "10.0"
  osArchitecture: amd64
  availableProcessors: 8
  freeMemory: 121433352
  totalMemory: 757071872
  uptime: 84614
  startLevel: 70
addons:
  - automation-jrubyscripting
  - automation-jsscripting
  - binding-astro
  - binding-automower
  - binding-dscalarm
  - binding-fronius
  - binding-miele
  - binding-modbus
  - binding-tplinksmarthome
  - misc-openhabcloud
  - persistence-influxdb
  - persistence-mapdb
  - persistence-rrd4j
  - transformation-jsonpath
  - transformation-xslt
  - ui-basic
  - ui-habpanel
clientInfo:
  device:
    ios: false
    android: false
    androidChrome: false
    desktop: true
    iphone: false
    ipod: false
    ipad: false
    edge: false
    ie: false
    firefox: true
    macos: false
    windows: true
    cordova: false
    phonegap: false
    electron: false
    nwjs: false
    webView: false
    webview: false
    standalone: false
    os: windows
    pixelRatio: 1
    prefersColorScheme: light
  isSecureContext: false
  locationbarVisible: true
  menubarVisible: true
  navigator:
    cookieEnabled: true
    deviceMemory: N/A
    hardwareConcurrency: 8
    language: en-GB
    languages:
      - en-GB
      - en
    onLine: true
    platform: Win32
  screen:
    width: 1280
    height: 1024
    colorDepth: 24
  support:
    touch: false
    pointerEvents: true
    observer: true
    passiveListener: true
    gestures: false
    intersectionObserver: true
  themeOptions:
    dark: light
    filled: true
    pageTransitionAnimation: default
    bars: filled
    homeNavbar: default
    homeBackground: default
    expandableCardAnimation: default
  userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
timestamp: 2024-01-08T15:33:32.194Z

Browser console

When I open up my test page the console has no errors. When I refresh the page then the Chrome console shows following errors:

app.e6719a8d0e1675221dee.js:7 TypeError: t.indexOf is not a function
    at b (5.app.e6719a8d0e1675221dee.js:31:46853)
    at e._createItemSymbol (38.app.e6719a8d0e1675221dee.js:1:83090)
    at e.<anonymous> (38.app.e6719a8d0e1675221dee.js:1:81615)
    at Array.forEach (<anonymous>)
    at Object.C (5.app.e6719a8d0e1675221dee.js:1:35249)
    at e.doRender (38.app.e6719a8d0e1675221dee.js:1:81434)
    at e.render (38.app.e6719a8d0e1675221dee.js:1:61245)
    at 5.app.e6719a8d0e1675221dee.js:31:181413
    at Array.forEach (<anonymous>)
    at C (5.app.e6719a8d0e1675221dee.js:1:35249)
Ge @ app.e6719a8d0e1675221dee.js:7
We @ app.e6719a8d0e1675221dee.js:7
qe @ app.e6719a8d0e1675221dee.js:7
Ue @ app.e6719a8d0e1675221dee.js:7
tn @ app.e6719a8d0e1675221dee.js:7
insert @ app.e6719a8d0e1675221dee.js:7
O @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
e.$forceUpdate @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Nt.d @ app.e6719a8d0e1675221dee.js:7
Nt @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ft @ app.e6719a8d0e1675221dee.js:7
e._c @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:23
e._render @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
y @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
setPages @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:18
(anonymous) @ app.e6719a8d0e1675221dee.js:18
u._withCommit @ app.e6719a8d0e1675221dee.js:18
u.commit @ app.e6719a8d0e1675221dee.js:18
commit @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.then (async)
loadData @ app.e6719a8d0e1675221dee.js:35
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.catch (async)
(anonymous) @ app.e6719a8d0e1675221dee.js:35
o @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
value @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
mounted @ app.e6719a8d0e1675221dee.js:23
Ue @ app.e6719a8d0e1675221dee.js:7
tn @ app.e6719a8d0e1675221dee.js:7
insert @ app.e6719a8d0e1675221dee.js:7
O @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
mn.set @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.then (async)
created @ app.e6719a8d0e1675221dee.js:35
Ue @ app.e6719a8d0e1675221dee.js:7
tn @ app.e6719a8d0e1675221dee.js:7
e._init @ app.e6719a8d0e1675221dee.js:7
r @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
e._init @ app.e6719a8d0e1675221dee.js:7
On @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:40
i @ app.e6719a8d0e1675221dee.js:1
(anonymous) @ app.e6719a8d0e1675221dee.js:25
i @ app.e6719a8d0e1675221dee.js:1
(anonymous) @ app.e6719a8d0e1675221dee.js:1
(anonymous) @ app.e6719a8d0e1675221dee.js:1
app.e6719a8d0e1675221dee.js:7 TypeError: Cannot read properties of undefined (reading '__ec_inner_30')
    at 5.app.e6719a8d0e1675221dee.js:16:5703
    at 38.app.e6719a8d0e1675221dee.js:1:119917
    at e._clear (38.app.e6719a8d0e1675221dee.js:1:120084)
    at e.dispose (38.app.e6719a8d0e1675221dee.js:1:119810)
    at Wn (5.app.e6719a8d0e1675221dee.js:31:175863)
    at Vn (5.app.e6719a8d0e1675221dee.js:31:175113)
    at e.setOption (5.app.e6719a8d0e1675221dee.js:31:166746)
    at r.init (5.app.e6719a8d0e1675221dee.js:31:260838)
    at manualUpdate.__unwatchOptions.$watch.deep (5.app.e6719a8d0e1675221dee.js:31:261788)
    at fn.run (app.e6719a8d0e1675221dee.js:7:27659)
Ge @ app.e6719a8d0e1675221dee.js:7
We @ app.e6719a8d0e1675221dee.js:7
qe @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
je @ app.e6719a8d0e1675221dee.js:7
setItemState @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:18
(anonymous) @ app.e6719a8d0e1675221dee.js:18
u._withCommit @ app.e6719a8d0e1675221dee.js:18
u.commit @ app.e6719a8d0e1675221dee.js:18
commit @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:7
i.onmessage @ app.e6719a8d0e1675221dee.js:35
app.e6719a8d0e1675221dee.js:7 TypeError: Cannot read properties of undefined (reading '__ec_inner_30')
    at 5.app.e6719a8d0e1675221dee.js:16:5703
    at 38.app.e6719a8d0e1675221dee.js:1:119917
    at e._clear (38.app.e6719a8d0e1675221dee.js:1:120084)
    at e.dispose (38.app.e6719a8d0e1675221dee.js:1:119810)
    at Wn (5.app.e6719a8d0e1675221dee.js:31:175863)
    at Vn (5.app.e6719a8d0e1675221dee.js:31:175113)
    at e.setOption (5.app.e6719a8d0e1675221dee.js:31:166746)
    at r.init (5.app.e6719a8d0e1675221dee.js:31:260838)
    at manualUpdate.__unwatchOptions.$watch.deep (5.app.e6719a8d0e1675221dee.js:31:261788)
    at fn.run (app.e6719a8d0e1675221dee.js:7:27659)
Ge @ app.e6719a8d0e1675221dee.js:7
We @ app.e6719a8d0e1675221dee.js:7
qe @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
mn.set @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.then (async)
i @ app.e6719a8d0e1675221dee.js:35
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
je @ app.e6719a8d0e1675221dee.js:7
setItemState @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:18
(anonymous) @ app.e6719a8d0e1675221dee.js:18
u._withCommit @ app.e6719a8d0e1675221dee.js:18
u.commit @ app.e6719a8d0e1675221dee.js:18
commit @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:7
i.onmessage @ app.e6719a8d0e1675221dee.js:35

Browser network traffic

Additional information

Link to the discussion on OH community.

florian-h05 commented 2 months ago

Can you please update your reproduce steps with a widget code example that I can use without needing to have any of your Items?

jlikonen commented 2 months ago

@florian-h05, basically you can use my code given in the first code box. When you configure the widget you need to choose your own Item. Only thing you need to change are the min and max values given in the 2nd code box for Visualmap. So you just need to change the following two lines to your liking:

max: =Number.parseFloat(items.Ouflex_AXL_Reg395.state) min: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)