Problem with Exec Binding cat /sys/class/hwmon/hwmon2/temp3_input

I used to have a exec thing setup to track CPU/MOBO temperatures, it worked fine for more than a year until the recent updates.

Thing exec:command:core1temp “System” @ “Exec” [ command="/bin/cat /sys/class/hwmon/hwmon2/temp3_input", transform=“JS(milli.js)”, interval=10, autorun=true ]

I have tired multiple combinations for the command (below) and none of the work, i have updated the misc/exec.whitelist every time, the error I get is shown below.
/bin/cat /sys/class/hwmon/hwmon2/temp3_input
cat /sys/class/hwmon/hwmon2/temp3_input
sudo /bin/cat /sys/class/hwmon/hwmon2/temp3_input

2020-06-23 11:55:47.099 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: null
at org.openhab.transform.javascript.internal.JavaScriptEngineManager.getScript(JavaScriptEngineManager.java:68) ~[?:?]
at org.openhab.transform.javascript.internal.JavaScriptTransformationService.transform(JavaScriptTransformationService.java:74) ~[?:?]
at org.openhab.binding.exec.internal.handler.ExecHandler.transformResponse(ExecHandler.java:314) ~[?:?]
at org.openhab.binding.exec.internal.handler.ExecHandler.execute(ExecHandler.java:293) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_252]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:1.8.0_252]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_252]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]

Search for “JavaScriptTransformationService” and you will fine several posts about this error. The fix was released in OH 2.5.6-2 which has been live for a couple days.

1 Like

Thanks - OH 2.5.6-2 is snapshot?

I’m running - 2.5.6 (Build)

Version: 2.5.6 (Build)

User: openhab (Active Process 1187780)
User Groups: openhab tty dialout audio bluetooth

Directories: Folder Name | Path | User:Group
----------- | ---- | ----------
OPENHAB_HOME | /usr/share/openhab2 | openhab:openhab
OPENHAB_RUNTIME | /usr/share/openhab2/runtime | openhab:openhab
OPENHAB_USERDATA | /var/lib/openhab2 | openhab:openhab
OPENHAB_CONF | /etc/openhab2 | openhab:openhab
OPENHAB_LOGDIR | /var/log/openhab2 | openhab:openhab
OPENHAB_BACKUPS | /mnt/backup/OpenHab/Boriquen | root:root

No, it’s a patch release to 2.5.6.

Thanks - I removed the JS transform and made the conversion in the rule that change from string to number.

I would like to OH software release not to break items that have worked for years.

Any upgrade to any software runs the risk of breaking something. If you don’t want anything to change, never upgrade anything. Of course that comes with it’s own problems.

You do not need to remove the JS transformation, all you have to do is upgrade openHAB to the latest release. It’s not a snapshot release or a testing release. The error was discovered, filed, fixed, and added to the OH release in a matter of days. You just happened to upgrade to 2.5.6-1. Had you waited less than a day you would have upgraded to 2.5.6-2 instead where the problem is fixed.

1 Like

Yes, I know the associated risks with any software upgrade, and I should not complain much about software I’m not paying for. Upgrading now, I will try the JS transformation again in few days. Overall I’ve been pretty happy with OH, have been using for years and my installation continue to grow with the addition of more bindings.

Thanks for the quick reply