webCoRE for Hubitat Updates

I don’t know when they were created, maybe during an update but I have 3 global variables with @@. I edit them and click on DELETE but it’s impossible to delete them. Is there a way to delete these variables ?

I even created that variable as a hub variable in HE with the same name. If I modify the value in HE I see the change in Webcore.
But I’m still unable to delete that variable in Webcore. Even after I delete it in HE it still exists in Webcore. It is impossible to delete it in webcore.

I believe, and I may be wrong, that webCoRE can now 'see' hub variables. It shows them as @@hub_variable.
This way you can now control hub variables through WC.
If you delete them from the hub they should disappear from WC.

They do not exist on my hub. To make a test I created one hub variable with the same name. When modifying the value on the hub I see the change in Webcore. But even after I deleted it in HE it still exists in Webcore.

I just created a hub variable and can see it in WC.
image

Deleted it from the hub and it has gone.
Not sure what to suggest.
Are these old variables in RM4 or RM5?
Just making suggestions.

I only use Webcore, never rule machine.

I also made the test. When creating a hub variable I also see it in Webcore and when deleting it in HE it disappears everywhere. I don't know what is the problem with these 3 variables.

I will have a fix in next release to cleanup the old webcore @@ variables.

Once the release is out you will go into webcore and 'Clear piston caches' to have it run.

1 Like

That's GOOD !!!! Thank you very much.

1 Like

I created a pull request to fix the labels for Raise Volume and Lower Volume, which are inverted.

image

I don't see the the PR, and frankly, I don't know simply changing the labels to swap Raise/Lower fixes the issue entirely. As it stands, I have a user of my Roku Connect app that has written a piston using these commands, and he must use raise to lower and lower and raise the volume of their TV.

As for my inability to install WC via HPM, I really have no interest in WC, I was just trying to add the tool to troubleshoot the user's reported issue of the logic being inverted.

1 Like

It doesn't. :frowning:

I think I am experiencing similar problems. I have a somewhat complex piston that controls all my lighting. It has been running unchanged for over a year and since the last update part of it is no longer working. I am trying to duplicate the issue in a much smaller piston so I can present it

ensure you have the latest version.

Also for the piston that has a problem, pause / resume it after you are on the latest so subscriptions are correct.

I just pushed an updated version. (HPM repair to get it for now)

Changes

  • optimizes [properly] 'if' operations with multiple triggers
  • improves operation of 'followed by' operations
  • adds new HE events for zwaveCrash, zigbeeUp, zigbeeDown, severeLoad
  • fixes labeling issue for volumeUp and volumeDown commands in IDE
  • cleans up (removes) obsolete @@ local/old webCoRE variables (@@ now is HE hub variables)
  • optimizes memory and execution of pistons

This will update the webCoRE IDE db, what this means is clear your browser caches after you install, and open a small piston first for editing in the IDE so the db loads into your browser cleanly.

4 Likes

Woohoo...It works! Thanks! :smiley:

1 Like

This is great! Only question is do we have any idea what "values" we should use to compare to in order to write rules against them? (ie: detected)

if zwaveCrash == :poop:

:wink:

3 Likes

You might want:

Screen Shot 2022-01-06 at 12.25.47 PM

trigger event occurs

For those of you how grabbed the kit from yesterday, there has been a bug fix today.

Please HPM repair if you grabbed a kit in last 24 hours.

3 Likes

Okay....I think there's a problem. I've been using this Door Lock Status Tile from Webcore Wiki Device Tiles unchanged for a long time now. After I did the Webcore repair last night, my door locks have been going nuts. If I change a lock, manual or digitally, it keeps locking and unlocking every 3 seconds. When I edit the piston and replace the locks with something else, they stop. It's weird because this piston should only notify status...not actually control the locks.

Hubitat Log
app:4702022-01-06 02:23:04.436 pm debugReleased Lock and exiting
app:4702022-01-06 02:23:04.115 pm errorwebCoRE exception: java.lang.NullPointerException: Cannot invoke method minus() on null object on line 7825
java.lang.NullPointerException: Cannot invoke method minus() on null object
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7825)
at user_app_ady624_webCoRE_Piston_66.func_arrayitem(user_app_ady624_webCoRE_Piston_66.groovy:8869)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7489)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy:5469)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.getVariable(user_app_ady624_webCoRE_Piston_66.groovy:7102)
at user_app_ady624_webCoRE_Piston_66.expandDeviceList(user_app_ady624_webCoRE_Piston_66.groovy:6559)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure72.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6189)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure74.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6347)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6072)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6068)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure76.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6395)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6047)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6040)
at user_app_ady624_webCoRE_Piston_66.subscribeAll(user_app_ady624_webCoRE_Piston_66.groovy:6415)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy:1791)
at user_app_ady624_webCoRE_Piston_66.handleEvents(user_app_ady624_webCoRE_Piston_66.groovy:1953)
at user_app_ady624_webCoRE_Piston_66.handleEvents(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.timeHelper(user_app_ady624_webCoRE_Piston_66.groovy:1858)
at user_app_ady624_webCoRE_Piston_66.timeHandler(user_app_ady624_webCoRE_Piston_66.groovy:1854)
app:4702022-01-06 02:23:03.996 pm error░║ Error executing func_arrayitem: java.lang.NullPointerException: Cannot invoke method minus() on null object
app:4702022-01-06 02:13:04.704 pm errorwebCoRE exception: java.lang.NullPointerException: Cannot invoke method minus() on null object on line 7825
java.lang.NullPointerException: Cannot invoke method minus() on null object
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7825)
at user_app_ady624_webCoRE_Piston_66.func_arrayitem(user_app_ady624_webCoRE_Piston_66.groovy:8869)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7489)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy:5469)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.getVariable(user_app_ady624_webCoRE_Piston_66.groovy:7102)
at user_app_ady624_webCoRE_Piston_66.expandDeviceList(user_app_ady624_webCoRE_Piston_66.groovy:6559)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure72.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6189)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure74.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6347)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6072)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6068)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure76.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6395)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6047)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6040)
at user_app_ady624_webCoRE_Piston_66.subscribeAll(user_app_ady624_webCoRE_Piston_66.groovy:6415)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy:1791)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.get(user_app_ady624_webCoRE_Piston_66.groovy:641)
at user_app_ady624_webCoRE_Piston_66.get(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_65.api_intf_dashboard_piston_get(user_app_ady624_webCoRE_65.groovy:1341)
app:4702022-01-06 02:13:04.666 pm error░║ Error executing func_arrayitem: java.lang.NullPointerException: Cannot invoke method minus() on null object
app:4702022-01-06 02:13:03.809 pm errorwebCoRE exception: java.lang.NullPointerException: Cannot invoke method minus() on null object on line 7825
java.lang.NullPointerException: Cannot invoke method minus() on null object
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7825)
at user_app_ady624_webCoRE_Piston_66.func_arrayitem(user_app_ady624_webCoRE_Piston_66.groovy:8869)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7489)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy:5469)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.getVariable(user_app_ady624_webCoRE_Piston_66.groovy:7102)
at user_app_ady624_webCoRE_Piston_66.expandDeviceList(user_app_ady624_webCoRE_Piston_66.groovy:6559)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure72.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6189)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure74.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6347)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6072)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6068)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure76.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6395)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6047)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6040)
at user_app_ady624_webCoRE_Piston_66.subscribeAll(user_app_ady624_webCoRE_Piston_66.groovy:6415)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy:1791)
at user_app_ady624_webCoRE_Piston_66.resume(user_app_ady624_webCoRE_Piston_66.groovy:1196)
at user_app_ady624_webCoRE_Piston_66.setup(user_app_ady624_webCoRE_Piston_66.groovy:839)
at user_app_ady624_webCoRE_65.api_intf_dashboard_piston_set_save(user_app_ady624_webCoRE_65.groovy:1470)
at user_app_ady624_webCoRE_65.api_intf_dashboard_piston_set_end(user_app_ady624_webCoRE_65.groovy:1571)
app:4702022-01-06 02:13:03.769 pm error░║ Error executing func_arrayitem: java.lang.NullPointerException: Cannot invoke method minus() on null object
app:4702022-01-06 02:13:01.586 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:57.910 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:44.937 pm errorwebCoRE exception: java.lang.NullPointerException: Cannot invoke method minus() on null object on line 7825
java.lang.NullPointerException: Cannot invoke method minus() on null object
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7825)
at user_app_ady624_webCoRE_Piston_66.func_arrayitem(user_app_ady624_webCoRE_Piston_66.groovy:8869)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7489)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy:5469)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.getVariable(user_app_ady624_webCoRE_Piston_66.groovy:7102)
at user_app_ady624_webCoRE_Piston_66.expandDeviceList(user_app_ady624_webCoRE_Piston_66.groovy:6559)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure72.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6189)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure74.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6347)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6072)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6068)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure76.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6395)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6047)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6040)
at user_app_ady624_webCoRE_Piston_66.subscribeAll(user_app_ady624_webCoRE_Piston_66.groovy:6415)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy:1791)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.get(user_app_ady624_webCoRE_Piston_66.groovy:641)
at user_app_ady624_webCoRE_Piston_66.get(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_65.api_intf_dashboard_piston_get(user_app_ady624_webCoRE_65.groovy:1341)
app:4702022-01-06 02:12:44.849 pm error░║ Error executing func_arrayitem: java.lang.NullPointerException: Cannot invoke method minus() on null object
app:4702022-01-06 02:12:43.118 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:39.341 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:32.526 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:28.686 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:24.622 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:20.044 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:15.898 pm debugReleased Lock and exiting
app:4702022-01-06 02:12:15.294 pm errorwebCoRE exception: java.lang.NullPointerException: Cannot invoke method minus() on null object on line 7825
java.lang.NullPointerException: Cannot invoke method minus() on null object
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7825)
at user_app_ady624_webCoRE_Piston_66.func_arrayitem(user_app_ady624_webCoRE_Piston_66.groovy:8869)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy:7489)
at user_app_ady624_webCoRE_Piston_66.evaluateExpression(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy:5469)
at user_app_ady624_webCoRE_Piston_66.evaluateOperand(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.getVariable(user_app_ady624_webCoRE_Piston_66.groovy:7102)
at user_app_ady624_webCoRE_Piston_66.expandDeviceList(user_app_ady624_webCoRE_Piston_66.groovy:6559)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure72.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6189)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure74.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6347)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6072)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy:6068)
at user_app_ady624_webCoRE_Piston_66.traverseConditions(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66$_subscribeAll_closure76.doCall(user_app_ady624_webCoRE_Piston_66.groovy:6395)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6047)
at user_app_ady624_webCoRE_Piston_66.traverseStatements(user_app_ady624_webCoRE_Piston_66.groovy:6040)
at user_app_ady624_webCoRE_Piston_66.subscribeAll(user_app_ady624_webCoRE_Piston_66.groovy:6415)
at user_app_ady624_webCoRE_Piston_66.getRunTimeData(user_app_ady624_webCoRE_Piston_66.groovy:1791)
at user_app_ady624_webCoRE_Piston_66.handleEvents(user_app_ady624_webCoRE_Piston_66.groovy:1953)
at user_app_ady624_webCoRE_Piston_66.handleEvents(user_app_ady624_webCoRE_Piston_66.groovy)
at user_app_ady624_webCoRE_Piston_66.deviceHandler(user_app_ady624_webCoRE_Piston_66.groovy:1850)
app:4702022-01-06 02:12:15.252 pm error░║ Error executing func_arrayitem: java.lang.NullPointerException: Cannot invoke method minus() on null object

Piston Log

+3ms ╔Received event [Back Door Lock 2].lock = unlocked with a delay of 32ms, canQueue: true, calledMyself: false
+69ms ║Error executing func_arrayitem: java.lang.NullPointerException: Cannot invoke method minus() on null object
+205ms ║RunTime initialize > 205 LockT > 1ms > rtDT > 195ms > pistonT > 194ms (first state access 9 4 201)
+209ms ║Runtime (14995 bytes) successfully initialized in 195ms (v0.3.113.20220105_HE)
+210ms ║╔Execution stage started
+213ms ║║Cancelling statement #2's schedules...
+219ms ║║Calculating (string)unlocked == (string)locked >> (boolean)false
+222ms ║║Executed virtual command setVariable (1ms)
+229ms ║║Calculating (integer)0 + (integer)1 >> (integer)1
+233ms ║║Executed virtual command setVariable (1ms)
+239ms ║║Executed virtual command setVariable (3ms)
+244ms ║║Calculating (integer)1 - (integer)1 >> (integer)0
+248ms ║║Executed virtual command setVariable (2ms)
+254ms ║║Executed virtual command setVariable (2ms)
+269ms ║║Calculating (boolean)false == (boolean)true >> (boolean)false
+274ms ║║Calculating (boolean)false == (boolean)true >> (boolean)false
+276ms ║║Calculating (boolean)false == (boolean)true >> (boolean)false
+288ms ║║Executed virtual command setTile (1ms)
+289ms ║║Cancelling statement #9's schedules...
+293ms ║║Executed virtual command setVariable (2ms)
+300ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+304ms ║║Cancelling statement #12's schedules...
+307ms ║║Executed virtual command clearTile (1ms)
+314ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+316ms ║║Cancelling statement #12's schedules...
+320ms ║║Executed virtual command clearTile (1ms)
+328ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+330ms ║║Cancelling statement #12's schedules...
+335ms ║║Executed virtual command clearTile (1ms)
+342ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+344ms ║║Cancelling statement #12's schedules...
+349ms ║║Executed virtual command clearTile (1ms)
+357ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+360ms ║║Cancelling statement #12's schedules...
+364ms ║║Executed virtual command clearTile (0ms)
+371ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+374ms ║║Cancelling statement #12's schedules...
+378ms ║║Executed virtual command clearTile (1ms)
+385ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+390ms ║║Cancelling statement #12's schedules...
+395ms ║║Executed virtual command clearTile (1ms)
+403ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+406ms ║║Cancelling statement #12's schedules...
+410ms ║║Executed virtual command clearTile (0ms)
+417ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+420ms ║║Cancelling statement #12's schedules...
+425ms ║║Executed virtual command clearTile (1ms)
+434ms ║║Calculating (integer)2 + (integer)1 >> (integer)3
+437ms ║║Cancelling statement #12's schedules...
+442ms ║║Executed virtual command clearTile (1ms)

I cleared the caches, did a repair, opened a small piston etc.
Background pistons seem well but none of my buttons work anymore. They have events but the piston logs show no events arriving and don't subscibe to them on a Save or fail and default to this:
07/01/2022, 13:16:26 +37ms
+137ms ╔Subscribing to devices...
+139ms ║Attempting Attribute pushed value [1] subscription
+462ms ║Device missing from piston. Loading all from parent (321ms)
+467ms ║Subscribing to Master Bedroom Button.pushed.1...
+787ms ║Piston utilizes Mode Night...
+788ms ║Piston utilizes Master Bedroom Group...
+800ms ╚Finished subscribing (730ms)
+815ms ║Comparison (string) :7c76bcf13f4437d56396ddf04776b595: is_any_of (string) :32e164a2e42f34f83c6d5126248c9a8d: = false (1ms)
+821ms ╔Starting piston... (v0.3.113.20220105_HE)
+822ms ╚Piston successfully started (755ms)

I have changed the device, saved and returned to the button but that didn't help.
Removed the device from WC and re-added no change.
If I Pause and Resume I get the same log dump.
I get this in the WC logs:
app:9632022-01-07 13:34:41.696 errororg.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '1' with class 'java.lang.String' to class 'java.util.Map' on line 1033 (method deviceHandler)

Suggestions?
Pistons aren't fancy:

Latest has this fixed. Sorry for the trouble. hpm repair...

piston file dated today is has the change

1 Like