webCoRE for Hubitat Updates

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

Thanks for the quick fix attempt :wink:
Still getting this after repair, did see it load new DB upon edit.
I cleared the cache and browser as before.

07/01/2022, 14:40:03 +802ms
+139ms ╔Subscribing to devices...
+142ms ║Attempting Attribute pushed value [1] subscription
+303ms ║Device missing from piston. Loading all from parent (160ms)
+309ms ║Subscribing to Master Bedroom Button.pushed.1...
app:9632022-01-07 14:35:24.360 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)

app:122022-01-07 14:34:35.742 debugregister resp: 200 using api-us-4.webcore.co:9247

app:122022-01-07 14:34:18.097 debugregister resp: 200 using api-us-4.webcore.co:9247

app:2232022-01-07 14:34:12.231 infoReinstalling webCoRE Weather

app:2232022-01-07 14:33:00.296 infoReinstalling webCoRE Piston

app:2232022-01-07 14:32:43.021 infoReinstalling webCoRE

app:2232022-01-07 14:32:42.712 infoDownloading webCoRE Weather

app:2232022-01-07 14:32:42.350 infoDownloading webCoRE Piston

app:2232022-01-07 14:32:42.009 infoDownloading webCoRE

Please try the hpm repair again. It looks like it did not pickup the file.

image
image

Still same thing. Maybe I'm not getting the update with a repair?
07/01/2022, 14:55:48 +652ms
+137ms ╔Subscribing to devices...
+139ms ║Attempting Attribute pushed value [1] subscription
+298ms ║Device missing from piston. Loading all from parent (157ms)
+304ms ║Subscribing to Master Bedroom Button.pushed.1...
+372ms ║Piston utilizes Mode Night...
+373ms ║Piston utilizes Master Bedroom Group...
+381ms ╚Finished subscribing (307ms)
+396ms ║Comparison (string) :7c76bcf13f4437d56396ddf04776b595: is_any_of (string) :32e164a2e42f34f83c6d5126248c9a8d: = false (2ms)
+405ms ╔Starting piston... (v0.3.113.20220105_HE)
+407ms ╚Piston successfully started (339ms)

app:122022-01-07 14:56:54.190 debugCheck size found 17KB response requireDb: (false) caller: dashLoad

app:122022-01-07 14:56:39.217 debugDashboard: Request received to clear piston logs

app:122022-01-07 14:56:34.574 debugCheck size found 17KB response requireDb: (false) caller: dashLoad

app:122022-01-07 14:56:34.061 debugCheck size found 9KB response requireDb: (false) caller: get piston

app:122022-01-07 14:56:34.019 debugDashboard: Request received to get piston :6512607cb7d016c3386b2fe6e098498e: Master Bedroom Button

Show me the date in the piston file

I was going to try the update manually but it seems the WC link in the header of the thread only shows Jan 05*

  • Last update January 7, 2022 for Hubitat
    */

//file:noinspection GroovySillyAssignment
//file:noinspection GrDeprecatedAPIUsage
//file:noinspection GroovyDoubleNegation
//file:noinspection GroovyUnusedAssignment
//file:noinspection unused

@Field static final String sVER='v0.3.113.20210203'
@Field static final String sHVER='v0.3.113.20220105_HE'

While I was able to validate the other user's witnessed behavior, I have unexpectedly abandoned HE and subsequently Webcore in the last week and I won't be able to further troubleshoot this. I have immensely enjoyed webcore for over 4 years; thank you for your hard work in keeping it running!

@nh.schottfam
This has been fixed with the latest hot patch.
Thanks for all your help.

Hi all.

Apparently a stack of my pistons have screwed up. A lot of my stuff relies on times, in various forms.

This dash used to show a simple xx mins ago.

Now I've got some odd decimal

On the positive side, now you know EXACTLY what the temperature is to the hundredth-thousandths place, lol.

That's weird that it says minutes for the temp, though. How does your piston format the info?

Hi @nh.schottfam
Just having a little play to try and make some pistons as efficient as possible.
While looking at the logs I see the following statement in all of the rules I have.
I don't suppose it is a problem but was just wondering if this is this expected or have I missed something.
image

That is a full debug logs on message.

It is a debug statement just saying it has to reload the devices from the parent. Not an issue.

It may happen time to time while editing pistons.