8.3.0 (b2025091510)
Interesting. It is a fresh “install” I didn’t upgrade from any other version. I can try creating a new container. I am installing this after the container is created in the gateway webpage.
8.3.0 (b2025091510)
Interesting. It is a fresh “install” I didn’t upgrade from any other version. I can try creating a new container. I am installing this after the container is created in the gateway webpage.
If you go to Platform/System/Modules, what does it say under the Status category?
If you click on the status it should give a relevant stack trace.
Musson Industrial - Embr Charts - 3.1.0 (b2025091715) - n/a - INACTIVE
I can’t click on Status (INACTIVE) - It just highlights the text. If I click on the ellipses, I can view the certificate and the license, with the option of Enable or Uninstall.
I have uninstalled and reinstalled, plus obviously restarted the gateway as it is a requirement in 8.3
I started a new container with no other settings and installed it on a new docker container with the same issues.
More questions:
docker compose?I use Portainer.IO to manage it and start the container. No other Third Party modules at the moment. I have another container that is setup the same way that used the Apex Charts module with V8.1
services:
ignition-gdy:
image: inductiveautomation/ignition:8.3.0
ports:
- xxxx:8088
volumes:
- ignition-gdy-data:/usr/local/bin/ignition/data
environment:
- ACCEPT_IGNITION_EULA=Y
- GATEWAY_ADMIN_USERNAME=********
- GATEWAY_ADMIN_PASSWORD=********
- IGNITION_EDITION=standard
- TZ=America/Chicago
- GATEWAY_MODULES_ENABLED=logix-driver,opc-ua,perspective,reporting,symbol-factory,tag-historian
volumes:
ignition-gdy-data:
Ah, this is it.
You'll need to add Embr-Chart's module ID to this list:
- GATEWAY_MODULES_ENABLED=logix-driver,opc-ua,perspective,reporting,symbol-factory,tag-historians,com.mussonindustrial.embr.charts
Interesting. I don’t recall having to do that in 8.1.
That worked - Should have thought of that.
Thanks!
Hey Ben, the default for the options.plugins.annotation is a bit misleading, as it defaults to false. The instinct is to turn it to true which faults the component
Don't know if it's possible to just add in an empty array options.plugins.annotation.annotations[]? Also is it possible to add .. I forget what they're called, "type hints" to the annotations items to add known prop values?
Yeah this would be nice to have, currently the typing is just an opaque configuration object or a boolean to disable the plugin.
There's no technical reason that this is missing from the schema, it's just not finished yet.
Feel free to make an issue or submit a PR.
Or if you can just provide the schema definition I can make some local builds for you to test.
:8088/res/perspective/images/favicon-196x196.png%20sizes=:1 Failed to load resource: the server responded with a status of 404 (Not Found)
PerspectiveClient.2851fb3213fc9ad86706.js:2 onerrorLogger: {"stack":"TypeError: Cannot read properties of undefined (reading 'length')\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:316521)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:312903)\n at a.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:382438)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:424380)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:38880)\n at t.create (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:5618)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:37073\n at new Promise (<anonymous>)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:21768)\n at ApexChart.createChart (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:6373:20)","message":"Cannot read properties of undefined (reading 'length')","name":"TypeError","logData":{"msg":"unhandledrejection","errorMsg":"Cannot read properties of undefined (reading 'length')"}}
o.cerror @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Components.js?no_cache=1760412419169:111 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
at t.value (Components.js?no_cache=1760412419169:111:316521)
at t.value (Components.js?no_cache=1760412419169:111:312903)
at a.value (Components.js?no_cache=1760412419169:111:382438)
at t.value (Components.js?no_cache=1760412419169:111:424380)
at t.value (Components.js?no_cache=1760412419169:120:38880)
at t.create (Components.js?no_cache=1760412419169:111:5618)
at Components.js?no_cache=1760412419169:120:37073
at new Promise (<anonymous>)
at t.value (Components.js?no_cache=1760412419169:120:21768)
at ApexChart.createChart (Components.js?no_cache=1760412419169:6373:20)
PerspectiveClient.2851fb3213fc9ad86706.js:2 onerrorLogger: {"stack":"TypeError: Cannot read properties of undefined (reading 'length')\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:316521)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:312903)\n at a.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:382438)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:424380)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:38880)\n at t.create (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:5618)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43853\n at new Promise (<anonymous>)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43781)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:430752","message":"Cannot read properties of undefined (reading 'length')","name":"TypeError","logData":{"msg":"unhandledrejection","errorMsg":"Cannot read properties of undefined (reading 'length')"}}
o.cerror @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Components.js?no_cache=1760412419169:111 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
at t.value (Components.js?no_cache=1760412419169:111:316521)
at t.value (Components.js?no_cache=1760412419169:111:312903)
at a.value (Components.js?no_cache=1760412419169:111:382438)
at t.value (Components.js?no_cache=1760412419169:111:424380)
at t.value (Components.js?no_cache=1760412419169:120:38880)
at t.create (Components.js?no_cache=1760412419169:111:5618)
at Components.js?no_cache=1760412419169:120:43853
at new Promise (<anonymous>)
at t.value (Components.js?no_cache=1760412419169:120:43781)
at Components.js?no_cache=1760412419169:111:430752
PerspectiveClient.2851fb3213fc9ad86706.js:2 onerrorLogger: {"stack":"TypeError: Cannot read properties of undefined (reading 'length')\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:316521)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:312903)\n at a.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:382438)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:424380)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:38880)\n at t.create (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:5618)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43853\n at new Promise (<anonymous>)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43781)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:430752","message":"Cannot read properties of undefined (reading 'length')","name":"TypeError","logData":{"msg":"unhandledrejection","errorMsg":"Cannot read properties of undefined (reading 'length')"}}
o.cerror @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Components.js?no_cache=1760412419169:111 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
at t.value (Components.js?no_cache=1760412419169:111:316521)
at t.value (Components.js?no_cache=1760412419169:111:312903)
at a.value (Components.js?no_cache=1760412419169:111:382438)
at t.value (Components.js?no_cache=1760412419169:111:424380)
at t.value (Components.js?no_cache=1760412419169:120:38880)
at t.create (Components.js?no_cache=1760412419169:111:5618)
at Components.js?no_cache=1760412419169:120:43853
at new Promise (<anonymous>)
at t.value (Components.js?no_cache=1760412419169:120:43781)
at Components.js?no_cache=1760412419169:111:430752
PerspectiveClient.2851fb3213fc9ad86706.js:2 onerrorLogger: {"stack":"TypeError: Cannot read properties of undefined (reading 'length')\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:316521)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:312903)\n at a.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:382438)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:424380)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:38880)\n at t.create (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:5618)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43853\n at new Promise (<anonymous>)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43781)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:430752","message":"Cannot read properties of undefined (reading 'length')","name":"TypeError","logData":{"msg":"unhandledrejection","errorMsg":"Cannot read properties of undefined (reading 'length')"}}
o.cerror @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Components.js?no_cache=1760412419169:111 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
at t.value (Components.js?no_cache=1760412419169:111:316521)
at t.value (Components.js?no_cache=1760412419169:111:312903)
at a.value (Components.js?no_cache=1760412419169:111:382438)
at t.value (Components.js?no_cache=1760412419169:111:424380)
at t.value (Components.js?no_cache=1760412419169:120:38880)
at t.create (Components.js?no_cache=1760412419169:111:5618)
at Components.js?no_cache=1760412419169:120:43853
at new Promise (<anonymous>)
at t.value (Components.js?no_cache=1760412419169:120:43781)
at Components.js?no_cache=1760412419169:111:430752
PerspectiveClient.2851fb3213fc9ad86706.js:2 onerrorLogger: {"stack":"TypeError: Cannot read properties of undefined (reading 'length')\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:316521)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:312903)\n at a.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:382438)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:424380)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:38880)\n at t.create (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:5618)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43853\n at new Promise (<anonymous>)\n at t.value (http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:120:43781)\n at http://192.168.105.67:8088/res/kyvislabs/Components.js?no_cache=1760412419169:111:430752","message":"Cannot read properties of undefined (reading 'length')","name":"TypeError","logData":{"msg":"unhandledrejection","errorMsg":"Cannot read properties of undefined (reading 'length')"}}
o.cerror @ PerspectiveClient.2851fb3213fc9ad86706.js:2
o.sendLogItemsConsole @ PerspectiveClient.2851fb3213fc9ad86706.js:2
i.sendBatch @ PerspectiveClient.2851fb3213fc9ad86706.js:2
i.sendBatchIfComplete @ PerspectiveClient.2851fb3213fc9ad86706.js:2
i.log @ PerspectiveClient.2851fb3213fc9ad86706.js:2
e.log @ PerspectiveClient.2851fb3213fc9ad86706.js:2
e.fatalException @ PerspectiveClient.2851fb3213fc9ad86706.js:2
window.onunhandledrejection.window.onunhandledrejection @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Components.js?no_cache=1760412419169:111 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
at t.value (Components.js?no_cache=1760412419169:111:316521)
at t.value (Components.js?no_cache=1760412419169:111:312903)
at a.value (Components.js?no_cache=1760412419169:111:382438)
at t.value (Components.js?no_cache=1760412419169:111:424380)
at t.value (Components.js?no_cache=1760412419169:120:38880)
at t.create (Components.js?no_cache=1760412419169:111:5618)
at Components.js?no_cache=1760412419169:120:43853
at new Promise (<anonymous>)
at t.value (Components.js?no_cache=1760412419169:120:43781)
at Components.js?no_cache=1760412419169:111:430752
value @ Components.js?no_cache=1760412419169:111
value @ Components.js?no_cache=1760412419169:111
value @ Components.js?no_cache=1760412419169:111
value @ Components.js?no_cache=1760412419169:111
value @ Components.js?no_cache=1760412419169:120
(anonymous) @ Components.js?no_cache=1760412419169:111
(anonymous) @ Components.js?no_cache=1760412419169:120
value @ Components.js?no_cache=1760412419169:120
(anonymous) @ Components.js?no_cache=1760412419169:111
(anonymous) @ Components.js?no_cache=1760412419169:111
value @ Components.js?no_cache=1760412419169:111
value @ Components.js?no_cache=1760412419169:120
updateOptions @ Components.js?no_cache=1760412419169:6387
handleResize @ Components.js?no_cache=1760412419169:6464
(anonymous) @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Qb @ react-dom-16.14.0.js:66
rh @ react-dom-16.14.0.js:101
zj @ react-dom-16.14.0.js:228
Th @ react-dom-16.14.0.js:152
tj @ react-dom-16.14.0.js:152
Te @ react-dom-16.14.0.js:146
(anonymous) @ react-dom-16.14.0.js:61
unstable_runWithPriority @ react-16.14.0.js:25
Da @ react-dom-16.14.0.js:60
Pg @ react-dom-16.14.0.js:61
ha @ react-dom-16.14.0.js:60
Ja @ react-dom-16.14.0.js:224
enqueueSetState @ react-dom-16.14.0.js:214
w.setState @ react-16.14.0.js:20
(anonymous) @ PerspectiveClient.2851fb3213fc9ad86706.js:2
(anonymous) @ PerspectiveClient.2851fb3213fc9ad86706.js:2
n.createResizeHandler @ PerspectiveClient.2851fb3213fc9ad86706.js:2
h @ PerspectiveClient.2851fb3213fc9ad86706.js:2
M @ PerspectiveClient.2851fb3213fc9ad86706.js:2
g @ PerspectiveClient.2851fb3213fc9ad86706.js:2
setTimeout
g @ PerspectiveClient.2851fb3213fc9ad86706.js:2
Looks like you’re still using the Kyvis-Labs module? Since 3.0.0 Embr-Charts has been a replacement for the Kyvis-Labs module.
You’ll probably find something in the gateway that says:
Conflicts exist between Embr Charts and Kyvis Labs Apex Charts. The Kyvis Labs Apex Charts module (com.kyvislabs.apexcharts) should be uninstalled.
I think that was part or all of the issue, had to do a gateway upgrade to get the latest Embr installed and removed Apex, all working now.
I just installed Ignition Maker v8.3.1 at my house and found several modules that say they're not compatible with Maker Edition. Embr-Charts is one of them, but the Embr SNMP module worked just fine. Not sure if this was intentional or not.
Not intentional at all, both modules are (and have always been) marked as Maker Edition compatible.
Can you share a screenshot of the gateway UI where it says it’s not compatible?
![]()
That was my error. I had loaded an older version made for v8.1 by accident. For some reason that was the error it gave me though instead of an error saying it was for an older gateway version like I would have expected.
Sorry about that.
Wacky, that seems like an Ignition bug.
I am seeing inconsistent results with the Heatmap type chart redrawing on the changing of query parameters for some odd reason.
I have the series bound to a named query that takes 3 parameters
The sDate and eDate are tied to custom properties on the root container, that contain datetimes that are changed via calendar components on the view.
I see them change, both in the controls and the properties on the root. but the chart does not update and refresh the named query.
If I then uncheck and recheck the Redraw property on the chart, the data does update to the proper date range.
Any ideas where to start looking? Workarounds?
Can you post a view.json that demonstrates the problem?
I know it's kinda hard when using database data, but I'd imagine you could replicate the issue using a script to generate a fake dataset.
I will try to get something together, it is a pretty large query that gets transformed to fit the heat map. The named query pulls from up to 60 different location SQL backends, they are identical backends but the data sizes vary greatly.
Forgot to add, that using a simple timer setup on the root with a 500ms delay on parameter changes works around the issue.