Is there a mechanism to locally send a command to a device

Yes you got it. How many devices are we talking about, roughly? If it’s a huge number it definitely would be a proliferation of devices on the SmartThings side.

Regarding a SmartApp: I’m not sure it could really address what you are trying to do. They are really geared towards interacting with SmartThings through their servers, which is something you’re trying to avoid. Although it is the case that you can implement a SmartApp on your own local LAN (just takes a computer with nodeJS and an internet-accessible IP address), it still does it’s thing through the SmartThings server, and not locally.

Outside of MQTT and my edgebridge application, if you want to communicate directly with an Edge driver from an application on your local network, then you will have to develop a custom Edge driver AND take care of all the discovery and communication between the two. The complicating factor is that Edge drivers cannot reserve specific ports. So the Edge driver always has to initiate the link up.

I have previously told the story in the forum of a time when we had to bridge two incompatible systems at work. We did it by having the first system create an event in the physical world that could be detected by the second system. (In that case, a remote control car activated by one system that was detected by a motion sensor on the other.)

You can use this kind of intermediary concept with smartthings. Turn on a virtual device from an external server and have that device coming on be the trigger for a smartthings routine.

I have also used the example in the forum of having HomeKit presence turn on a Meross smartplug which is also visible to smartthings. Same idea.

So you can do this simply or not so simply, but if you focus on the idea that your object is to turn on the proxy from an outside event and then use the smartthings routine to react to the proxy coming on, you have your local operation.

The main issue I see with this whole approach, besides having to design it, is that you are using up a lot of devices and a lot of automations of your relatively limited quota on smartthings.

That might be worth it for something specific like improving presence detection, but I don’t know that it’s worth it if you want to proxy every single state of every single device so you have local control.

That’s why I think the other two options may just make more sense. In particular, waiting to see what we get with Matter. But that’s just me. :sunglasses:

1 Like

So with the disclaimer of “I don’t know anything”, could a single device have like 200 various capabilities/components (e.g. switch, motion sensor) and just function as a virtual hub? I can’t seem to recall the rules on labels, but I thought they could be set in the settings.

I’m not sure if a single driver could be packaged in such a way, but it would be an interesting concept IMO and only take 1 device slot.

@Mariano_Colmenarejo 's work with the switchboard and virtual appliance sparked the idea.

Edit
Just saw @JDRoberts post – I think the concept above could ease some of the friction you outlined. I do agree though, either you get the out of the box API or you duct tape in your own.

1 Like

FWIW, in the past some people have taken a dimmer (real or virtual) and used the fact that it had 100 possible values (0 to 99) and used that as 100 proxy settings. All with one device. So setlevel 16 meant one thing and setlevel 42 meant something completely different. Just a way of handing 100 possible values over to the other system. Duct tape, but sometimes useful. :wink:

1 Like

I was thinking that it should be possible to add MQTT support to Mariano’s drivers, then you wouldn’t even need any kind of ‘go-between’ or extra automations. But that would mean you’d need this support added to each and every zwave and zigbee device driver that you’d want to support, which might be unrealistic. Not sure how many devices we’re talking about here, or the variety of device types.

1 Like

Hi, many thanks for all your comments and suggestions. I have wasted enough of your time on what appears to be an esoteric requirement.

I’ll continue to ponder this for a while and if I come up with anything useful (seems unlikely -:)), I will post it

2 Likes

Can a device be both zigbee and LAN at the same time? I always assumed not

A physical device can have both radios: the Hue bridge is a good example.

But a DTH can only handle one protocol. I don’t know if a single Edge Driver can do multiple messaging protocols: presumably someone else will know.

I should have been clearer - I was specifically speaking about edge drivers and @TAustin comment that you could add mqtt (lan) to a zigbee edge driver - I always assumed that a devices is 1 of zigbee,zwave or lan (configured by the permissions object in config.yml). I don’t think I have seen one so far that combines 2 of those - but I might be wrong.

1 Like

Good question; I’ve never tried it. @Mariano_Colmenarejo would probably know.

1 Like

Hi @TAustin

I have no idea if a driver can do that

Below was blending Zigbee and LAN device types to create child devices for Zigbee devices.

2 Likes