wasLastSpokenToDevice not updating

@mebejedi @sgnihttrams (adding you both to this, because my original piston was based off of some posts of yours… :))

First off, I am running HE, but I am not sure if that matters or not.

My issue is that my piston does not seem to be pulling back any data on “wasLastSpokenToDevice”. It did work at one time, however at some point it quit.

So, while my piston runs, if I don’t “pre-assign” an Echo device to the variable “WhichEcho”, then it does not speak from any echo, and if I do pre-assign one, it always speaks from that one only. In my debug logs (below), the device variables “LastEcho” and “WhichEcho” both come back as empty or null.

As a secondary question (and one that may help me troubleshoot this more on my own, too), is there a way to find out which echo was last spoken to other than getdeviceactivity for all devices you wish to poll and then evaluating “wasLastSpokenToDevice”?

Thank you in advance for any help - I appreciate it!!

Here is my piston - I know it’s not the “right” way to do it, but the normal capture came out all blurry for some reason… The code for this is owe0, if that helps…

and my logs:
10/12/2022, 1:48:32 PM +55ms
+4ms ╔Received event [9011Hub].:df07296575f5dbc1b2f7333da6ffc20c:.@dynLastEchoSpokeToPistonTrigger = @dynLastEchoSpokeToPistonTrigger with a delay of 45ms, canQueue: true, calledMyself: false
+57ms ║RunTime initialize > 56 LockT > 2ms > r9T > 44ms > pistonT > 42ms (first state access 10 6 50)
+59ms ║Runtime (7374 bytes) initialized in 44ms (v0.3.114.20220917_HE)
+62ms ║╔Execution stage started
+71ms ║║Comparison (dynamic) 1665607711921 changes = true (0ms)
+74ms ║║Condition #2 evaluated true (5ms)
+76ms ║║Condition group #1 evaluated true (condition changed) (8ms)
+152ms ║║Executed physical command [Echo - Basement Echo Dot].getDeviceActivity() (67ms)
+222ms ║║Executed physical command [Echo - Dining room echo].getDeviceActivity() (64ms)
+290ms ║║Executed physical command [Echo - MBR Echo].getDeviceActivity() (62ms)
+358ms ║║Executed physical command [Echo - Office Echo Dot].getDeviceActivity() (63ms)
+376ms ║║Comparison (string) false is (boolean) true = false (2ms)
+378ms ║║Comparison (string) false is (boolean) true = false (1ms)
+380ms ║║Comparison (string) false is (boolean) true = false (1ms)
+382ms ║║Comparison (string) false is (boolean) true = false (2ms)
+386ms ║║Condition #6 evaluated false (25ms)
+387ms ║║Condition group #5 evaluated false (condition did not change) (26ms)
+403ms ║║Empty device list
+406ms ║║Executed virtual command log (3ms)
+416ms ║║Device ‘’:null not found
+419ms ║║Executed virtual command log (6ms)
+425ms ║╚Execution stage complete. (364ms)
+429ms ╚Event processed successfully (426ms)
10/12/2022, 1:48:20 PM +591ms
+27ms ╔Subscribing to devices…
+257ms ║Device missing from piston. Loading all from parent (221ms)
+279ms ║Subscribing to 9011Hub.:df07296575f5dbc1b2f7333da6ffc20c:.@dynLastEchoSpokeToPistonTrigger
+303ms ║Piston utilizes Echo - Basement Echo Dot…
+305ms ║Piston utilizes Echo - Dining room echo…
+307ms ║Piston utilizes Echo - MBR Echo…
+309ms ║Piston utilizes Echo - Office Echo Dot…
+346ms ╚Finished subscribing (335ms)
+369ms ║Comparison (dynamic) 1665606890827 changes = false (0ms)
+392ms ║Comparison (string) false is (boolean) true = false (2ms)
+395ms ║Comparison (string) false is (boolean) true = false (1ms)
+397ms ║Comparison (string) false is (boolean) true = false (1ms)
+399ms ║Comparison (string) false is (boolean) true = false (1ms)
+432ms ╔Starting piston… (v0.3.114.20220917_HE)
+433ms ╚Piston started (426ms)

“wasLastSpokenToDevice” has been deactivated for a looooooong time now. Not sure why, but a lot of people were disappointed when this happened. Sorry :frowning:

Thanks, Eric - any replacement functionality that you know of?

Doubtful as groovy is going to be shutdown by the end of this year. That also includes webcore on the ST platform.

I am on Hubitat, tho…

You may want to post on the HE forums

1 Like

Looks like it is: