A post was split to a new topic: [SmartThings Edge] Issue with the Z-Wave Switch driver
A post was split to a new topic: [SmartThings Edge] Socket port binding limitation
I think I have found a bug in the code for injecting a capability command. I am seeing args being lost for the command. I am creating events using
Driver.inject_capability_command. It has already been split out in this thread
This is another issue I am seeing where
init is not called for devices when they are created in quick succession. It was previously reported by @rossetyler and @TAustin in this thread. I don’t see it listed above. This may not be a bug, but there is nothing documented that explains this behavior.
Hi! I’ll check this with the team and let you know their feedback.
A post was split to a new topic: [SmartThings Edge] Issue with the Refresh capability in a custom presentation
A post was split to a new topic: [SmartThings Edge] Issue with the device Fibaro FGS-213 (Z-Wave Switch driver)
gh repo clone SmartThingsDevelopers/SampleDrivers
Hi, @Tommy_Pollyblank. Do you need help with the sample drivers?
Let us know if we can guide you in any way
A post was merged into an existing topic: [ST Edge] How to create child devices with edge?
Do we know if the bug that causes the following error after a driver update or hub restart is going to be resolved?
cosock tried to call socket.select with no sockets and no timeout. this is a bug, please report it
I have code to re-establish a websockets connection after a reboot in my device_init method, but i always get that error, the same code from device_info_changed method (by faking a config change) re-establishes the connection properly
It may not be related, but are you tried calling with delay to the function with code that performs the reconnection.?
device.thread:call_with_delay(5, function() call your function end)
I had a similar problem, which affected the execution of the a necessary configuration on the device when the hub was restarted and calling the function with a 5 second delay solved it.
It seems that the execution of the drivers began without being 100% hub operative
@Mariano_Colmenarejo Yes, that is what my code does
local function device_init(driver, device) log.info("[" .. device.id .. "] Initializing Harmony device") -- mark device as online so it can be controlled from the app if (device.preferences.deviceaddr ~= "192.168.1.n") then ipAddress = device.preferences.deviceaddr getHarmonyHubId(device,ipAddress) --this line works fine connect_ws_harmony(device) --this line does not end device:online() end
function connect_ws_harmony(device) log.info("connecting over websockets ip: "..ipAddress.."HubId: "..hubId) hello_world_driver:call_with_delay(1, function () ws_connect(device) end, 'WS START TIMER') end
hubId is printed in log.info? just the
hubId is what was not available when i call to configure in my driver
Yes - that is the harmony hubid, retrieved by this line which calls a function, that does a http post
The code is here, if you wanted a look SampleDrivers/init.lua at main · lrmulli/SampleDrivers · GitHub
Adding an additional delay (using your syntax) inside the device_init method seems to have solved it
I replaced the commented line with the following
--connect_ws_harmony(device) device.thread:call_with_delay(5, function() connect_ws_harmony(device) end)
I have no idea if this is possible and if it is the same type of problem, but as I commented in this thread when I got the errors with the restart of the hub, I think that if they put a delay for the start of the execution of the drivers after a restart of the hub, to give time for everything to be 100% operational, these problems could be solved
Well it worked, thank you
Not sure if it was the additional delay, or the syntax or the position that helped as I already tried my original code at 5s delay and that didn’t work
Thanks for the supports
I also ended up doing this. You can’t connect within the first few seconds of driver init
4 posts were split to a new topic: [Custom capabilites] Issue with enum commands