[ST Edge] SmartThings MyQ Edge (Obsolete)

When it initially failed, the container console showed that the server found the door and the gateway. After I fixed the network connection, there was an additional line where the IP of the opener was recognized.

My NAS has it as an option in the Docker GUI. It may be as simple as adding --network bridge to the run command?

The idea to try that came from here; @jc214809 may be able to explain how to do it in a command line environment.

Yeah for any eagle eyes out there… yes I noticed I was using the wrong door sensor for the Charger Door close routine, and have fixed it. :blush:

I am getting

Fatal error in , line 0

unreachable code

Not sure why. Any Ideas?
Running on a Pi via Docker

1 Like

I’m in the middle of pushing some updates. Haven’t had a chance to test on pi yet.

I had this and have been fighting it all day. I finally got the docker container to run. From my limited Docker knowledge and todays web education. I think it has something to do with the seccomp profile.

I was able to get past this error buy adding the following option to my run file.

–security-opt seccomp=unconfined

Don’t know why? and its probably not a smart thing to do? I’m just hacking along trying to get things to work.

I got the docker container to work but still not seeing it find any devices in smartthings app. Sooooo still hacking along.

No luck for me. :frowning:

@brbeaird nice work on this new driver
I installed it on my Ubuntu server (under Proxmox), using docker and it is running fine, but Smartthings doesn’t find anything and so driver is added.
Reading some of the comments, I think the problem is the port number. Does it need to be port 8125??
If so, then every time I restart the docker container, a new port is created for the HTTP listening (I can connect from a broswer to get details at the port published in the log files). Should I set the container to port 8125?

Sorry, in my experimenting throughout the day. This is the command that gets the container created and running for me.

docker run --security-opt seccomp=unconfined -d --name=‘smartthings-myq-edge’ --net=‘bridge’ -e ‘MYQ_EMAIL’=‘email address’ -e ‘MYQ_PASSWORD’=‘password’ ‘brbeaird/smartthings-myq-edge’

I have used this command twice now to get it running it reports in the logs it connects to MyQ and reports the devices. BUT still no luck in getting the devices discovered in smartthings. I am thinking its something to do with my network settings. I have tried pinging outside of the docker container and it see’s the rest of the world.

I’m now reinstalling again and gonna try to ping out to my garage door controller on my LAN and see what I learn.

Ok that fixed it I put the switch at the end, but when I moved it to the start of the command it worked. But like you I am not getting it to show in ST

So I went to ip:8125 on the raspberry Pi I am running the docker on and I get “Cannot GET /” Not sure what the means

So we appear to be at the same place.

My latest command line change was to change the --network from bridge to host.

Hoping that would allow the container to have access to the hose network connections.

It did change my result when I went to the web address to the same you got.

Still hacking away at it!

I pushed a few updates today, mostly on the server side. You should see new docker images and executables.

  • The server now spins up on a random port each time. This should avoid any port conflicts.
  • Added more logs to the server and timestamps to go with them
  • Pushed one small update to the Edge driver to better filter out non-MyQ bridge traffic during discovery.
  • Pushed out Linux-arm64 executable (untested)

I am still making a few tweaks to the driver to make sure it filters out unwanted ssdp traffic in periods other than discovery - not quite happy enough with it yet to fully push out.

I also have not yet made it to testing on the pi but hopefully should get time to focus on that soon. In theory, the Linux-arm64 executable should work for some, but I may need to generate a 32-bit one as well.

With the latest server code and images pushed, the port should be randomly generated each time.

I would suggest trying one of these:

  1. Make sure UDP port 1900 is open on the container. SSDP is a little tricky, but I think that’s what is tripping some people up
  2. Change the container to run in host mode
1 Like

I will look into that. Thank you for the reply.

Thank you for your help. I am 1 step closer.

I kept trying different run commands this is the one I used last
docker run --security-opt seccomp=unconfined -d --network host --name=‘smartthings-myq-edge’ -e ‘MYQ_EMAIL’=‘email’ -e ‘MYQ_PASSWORD’=‘password’ ‘brbeaird/smartthings-myq-edge’.

This enabled me to finally get a reply in the web browser when I went to the
“Pi IP address”:8125/details
It reports all the devices and the base IP address and port of the Pi.
unfortunately still no devices in smartthings.

Just to clarify I am supposed to select the MyQ Door driver not the MyQ DoorBeta?

I updated my docker container with the latest image and still Smartthings doesn’t find it to create the devices. Read up on ssdp and wrote a small client script in nodejs to test the server and it finds it perfectly on my network. I’m guessing something on the smartthings side is the issue at this point.

I updated to the latest stuff this morning. I also figured out how to setup and run CLI.

It appears from the logs it is all connecting and it looks like it thinks it’s creating the devices. They just don’t show up in the app??

I kept a copy of the log data from the CLI if you’re interested.

Yes, if you can share those logs, that would be super helpful. Can you also just verify they haven’t silently been created somewhere in the “No room assigned” group?

For @rtorch and anyone else able to get the server running but unable to get SmartThings to discover devices, could you try this?

  1. Download the SmartThings CLI (see assets here: Releases ¡ SmartThingsCommunity/smartthings-cli ¡ GitHub)
  2. Open a command line and run this (replacing 0.0.0.0 with your hub IP)

smartthings edge:drivers:logcat --hub-address=0.0.0.0

  1. Login to SmartThings when prompted
  2. Choose to log the MyQDoor driver
  3. You should see “connected.” Open the ST mobile app and scan for local devices
  4. Take note of what shows in the logs. You should see it scanning the network for the server and whether or not it finds any kind of traffic at all.

If you’re running the latest server code, it starts up with a random port, not necessarily 8125. You’ll need to check the logs to see the port it started up with, then go to http://serverIp:serverPort/details

1 Like

PM Sent
I have looked in every room, tried clearing app cach,

With this new version (non-Docker) the logs are confirming what I suspected:

10/4/2022, 12:33:25 PM | No environment variable found for MYQ_EMAIL
10/4/2022, 12:33:25 PM | No environment variable found for MYQ_PASSWORD
10/4/2022, 12:33:25 PM | Checking for config file ./config.json
10/4/2022, 12:33:25 PM | Error retrieving login information: ENOENT: no such file or directory, open './config.json'

The config.json file is in the same folder as the exec and permissions are good.

config.json			myQBridgeServer-macos-x64
myQBridgeServer-macos

Screen Shot 2022-10-04 at 12.37.14 PM
Screen Shot 2022-10-04 at 12.39.51 PM

Yes, I know I have the prior exec still in the folder for now.