TypeError: Cannot read property 'toLowerCase' of undefined


I am getting this error when clicking on any of my pistons in order to edit. Nothing loads, but the error pops up. I just updated to v0.3.110.20191009 but it was doing this before it. I’ve never ran into this before, and the pistons are still working. Any ideas?

  1. go to your instance of webcore in the ST Classic app > Automation > SmartApps > your webcore instance > settings > clean up and rebuild data cache. (or in new app… menu (three bars in upper left of screen), choose smartapps and your instance of webcore). if that does not resolve it… 2) check that all smartapps are saved and published in IDE


Thanks for the help. For anyone else:

I did step 1, which didn’t immediately work until I accessed the dashboard on my phone. After an initial error message about not being able to connect to the devices, I got a notification that the database had been updated. I accessed the dashboard on my laptop and received the same database update notification. Solved!


I am getting this same error after updating. However, for whatever reason, I can access my pistons if I go to the Dashboard through the “new” Smartthings App. But I get the error if try to access my pistons from the Smartthings “Classic” app or if I try to use the web-based Dashboard.

I have tried both the suggestions above. However, I will point out that when I initially updated to, I neglected to check the “publish” box, so I had to “manually” publish each of the updates and I did try to access the Dashboard before I learned of my error. So that is where the problem may have started, but I can’t seem to fix it at this point.

Any thoughts. Do I need to “roll-back” the update and try to do it correctly? If so, how would I go about doing that? Thank you in advance for any suggestions?


can you post a screenshot of the 4 smartapps for webcore in IDE?


JKP, Thanks for you reply. Any help is greatly appreciated!


Try going to Classic app > webCoRE > Settings > Available devices > Available devices > back. That should cause your dashboard to refresh the database on the next page load. Reload the dashboard and see if anything has changed.


That seems to have corrected the issue. Thank you.
Also, thank you to JKP for your assistance as well!


Thanks for following up! I don’t know exactly what would have caused this but from the code it looked like the dashboard could have received invalid data for a device at some point (in this case, most likely missing the device name).


Learn something new every day here…

Thanks for sharing, @ipaterson!