Hello, thank you very much for accepting me in this community.
I share my experience in creating my first module for Niagara Optimizer Supervisor Version 4.14.0.162.9.
Thanks to Charles_Johnson I saw that in the page https://learninghub.lynxspring.com is where they have free courses (current videos). I enrolled in the niagara-developer-series course which is where they teach about module creation.
I followed the instructions to the letter, but when I wanted to open my module I got an error, the error was as follows:
βjava.lang.ClassCastException: javax.baja.sys.BString cannot be cast to javax.baja.sys.BComplex
at javax.baja.io.ValueDocDecoder.parseSlots(ValueDocDecoder.java:568)
at javax.baja.io.ValueDocDecoder.parseSlot(ValueDocDecoder.java:830)
at javax.baja.io.ValueDocDecoder.parseSlots(ValueDocDecoder.java:568)
at javax.baja.io.ValueDocDecoder.parseSlot(ValueDocDecoder.java:830)
at javax.baja.io.ValueDocDecoder.decode(ValueDocDecoder.java:292)
at javax.baja.io.ValueDocDecoder$BogDecoderPlugin.decodeDocument(ValueDocDecoder.java:1321)
at javax.baja.io.ValueDocDecoder.decodeDocument(ValueDocDecoder.java:275)
at javax.baja.io.ValueDocDecoder.decodeDocument(ValueDocDecoder.java:264)
at com.tridium.sys.module.BModulePaletteNode.(BModulePaletteNode.java:144)
at com.tridium.sys.module.BModulePaletteNode.make(BModulePaletteNode.java:80)
at javax.baja.sys.BModule.initNavChildren(BModule.java:792)
at javax.baja.sys.BModule.getNavChild(BModule.java:665)
at com.tridium.workbench.sidebars.BPaletteSideBar.doUpdateTree(BPaletteSideBar.java:252)
at com.tridium.workbench.sidebars.BPaletteSideBar$Open.doInvoke(BPaletteSideBar.java:339)
at javax.baja.ui.Command.doInvoke(Command.java:313)
at javax.baja.ui.Command.invoke(Command.java:283)
at javax.baja.ui.BButton.doInvokeAction(BButton.java:148)
at javax.baja.ui.BAbstractButton.mouseReleased(BAbstractButton.java:541)
at javax.baja.ui.BWidget.fireMouseEvent(BWidget.java:1369)β
I solved the error with the help of claude ia, I only had to change the part of module.palette this was the change that was made:
{
Use the traducotr deepl, in case you find some incosistencia in the previous text.






