I am trying to install the garage door controller for my ST system. I used this person’s device type, but all i am seeing is an unknown for the current status. I can’t really tell but it seems like potentially i am unable to send commands to the device. I moved the hub right below the garage door controller so i assume it isn’t a distance problem.
The GDC1 is pretty much a MIMOLite, so let’s try 2 options?
Assuming you have the hardwired open/close sensor installed, try setting the device type in the IDE to “MimoLite Garage Door Controller”, or
(my choice) Use my device type for the Mimolite: https://raw.githubusercontent.com/constjs/SmartThings-Devices/master/mimolite_garage_door_v4.device.groovy
If you use mine, you probably will not see or get a power failure notification, unless it’s supported. I’m looking into that right now. You probably don’t need to tap on the Configure tile either because it’s probably already set up as a momentary switch. It won’t hurt though.
EDIT: Their zwave compliance documentation was useless, but I’d still try my device type. I bet it works.
configure button doesn’t do anything on either device type
edit: odd thing, I hit the actuate button and a blue flashign siren started
edit2: I have a feeling i am not hooked the the right screws on the garage door. I have a chamberlain model # 1255LM
Yep, true. Although, you don’t really know because the app doesn’t reply with anything to confirm any change took place. You only know if the “power on/off” tile works when you loose power. Also, it adjusts the duration of the momentary setting, which I bet they hardcoded in the firmware.
Oh that’s good! That means the right commands are being sent and it thinks the door should be opening. So yes, double check your wiring to the actual door motor controller and the GDC1.
You are making progress.
Make sure you have the GDC1 connected to terminals 1 and 2 (assuming I found the right user manual for the 1255):
Door opened, doesn’t seem to want to close.
Edit: sitting there flashing blue.
That is right, once i moved from 2 & 3 to 1 & 2 i got an open command to work.
Excellent. I think I know what the GDC1 is sending for commands. Give me just a few minutes to tweak that device type for you. I’ll create one just for the GDC1 so I don;t mess up the MIMOLite.
I’ll be right back!
Quick question? Does the power on/off tile show up, or is it blank? If the GDC1 doesn’t support power failure notifications, I might as well remove that from the code to keep it simple.
I might not need a new device type. I didn’t have my sensor (magnet) on the door because i was just trying to test opening and closing. But it seems like that may have been important for the device to determine sending the command or not. Now as I am typing this my fear, just ahppened the door just automatically re-opened for some reason.
It is showing Power On, i haven’t seen it change to power off when it is open? Should it or is that saying the device has power?
Edit: Description of what i am seeing (using the mimolite device (not the my mimolite device)
- Door is closed. App shows Actuate on the big button and power on on small tile. If i press the actuate button the door sometimes opens after a blue siren.
- While door is closed, sometimes it shows orange and says closing on large tile.
- After it is done closing, the blue light flashes for a while.
- Two times after closing it re-opened after 5-10 seconds. Not sure if relevant, but i pulled the device app down (refreshing it) then the door opens itself. Is the refresh sending an open command?
Maybe, depending upon the command being sent. It does check for sensor status for certain commands, but what I’m changing will make it behave more like the button on your wall. All that other logic is there for automation and routines, and we can deal with that a little later. I’d rather dedicate a device type for the GDC1.
For right now, let’s assume the device perhaps had something pending, or something was odd with ST. If I read the GDC1 documentation correctly, I believe it “suspends unattended operation after two consecutive failed closed attempts.”, so maybe something was waiting depending upon how many times you hit the button, and if it really needed the sensor there (I believe it does)
You can test and see if the power tile turns OFF by unplugging the GDC1. If Telguard implemented that feature from the Mimolite, that tile will turn red and say “power off”. Please let me know.
Please do me a favor and create a new device type from the following new code for the GDC1 and start using this:
I really think the open/close sensor needs to be installed. Any way you can do that?
That is definitely not sending a command, but I think it must be related to the controller not seeing the sensor state correctly since it’s not installed.
Alright, here is my new information. I have had the sensor installed at this point for a while (last 20 minutes). My list of observations were taken with the sensor installed.
Your new type allowed me to open the garage, but then wouldn’t let me close. Whenever I refreshed the app, it still shows the door is closed.
Finally, I unplugged the device and it didn’t seem to change to Power Off.
Excellent, that will help debugging, thanks!
Ok, let’s capture some live logging. I’ve updated the file to include more logging, so please download the latest GDC1 code from the link above (you may need to hit refresh in your browser).
Once updated and published, and before using the app, please launch Live Logging in the IDE. Now open and try closing the door. Once you start using the device type it will log events. Can you capture those for me and let me know everything that is shows? I want to see what raw data is being sent so I can make changes in code for you.
Thanks for working through this! We’ll get it working.
BTW - since you’re not able to benefit from the power failure notices, I went ahead and removed them.
4:45:17 PM: debug Parse returned null
4:45:17 PM: debug command value is: 2503
4:45:17 PM: debug description is: zw device: 06, command: 2503, payload: FF
4:45:16 PM: debug Executing ACTUATE for garage car door per user request
That is the log i am seeing the most, usually followed by
4:45:22 PM: debug Parse returned null
4:45:22 PM: debug command value is: 2503
4:45:22 PM: debug description is: zw device: 06, command: 2503, payload: FF
4:45:21 PM: debug Executing Refresh/Poll for garage car door per user request
The door is still not closing, only opening.
Just as an FYI, I am actually a software developer, so i am going through this at the same time as you and trying to debug and figure out what is going. The only thing i really dont have much information on is the API for the GDC1 device or much knowledge on the available functions in a device type (although that is becoming more clear).
I am noticing two things from these messages. One (and I confirmed this by looking at the code) the button action is only ever hooked up to the push(), which from what i can tell means it is never looking at the device .currentValue(“contact”) because it isn’t calling the specific open()/close() funcitons. Two, we are returnign a null in the parse method. I don’t 100% know what it is trying to do, but it looks like it is trying to find a z-wave command taht is supported and not finding anything? But I can tell trying to create an event that is returning a null result potentially is a bad thing, but not sure.
One final consideration, have you looked at the original device type i linked. This was from someone who specifically linked it when talking about gdc1. It looks like it has a lot of functionality in it, but it is also having issues (mostly seems to be related to the Unknown state). If i can figure out how to get it to inspect state and see the close open, I think i can get that device type working.
Yep, correct. That’s used for when Routines are calling the Open/Close commands. Technically all we need to open/close the door is push and/or on/off.
When you try to close the door, do you see the same message “payload: FF”, or do you see “payload: 00”?
I believe the null is fine since I removed the logic for power failure. It should have been removed as well.
Excellent, 2 pairs of eyes are always good! Once you get the hang of Groovy and device types, you will do very well in making your own. I’m still learnign a lot as well.
I did, but since I didn’t find any documentation on what classes this device was really using, I felt that including all that for now was a lot of overhead, and a lot I didn’t understand yet.
Here are the for sure messages I get when I try to open/close. I had set up a pollster smartapp to call the switch earlier when i was unsure if the hub could connect to the device.
open (this succeeds)
5:17:12 PM: debug Parse returned null
5:17:12 PM: debug command value is: 2503
5:17:12 PM: debug description is: zw device: 06, command: 2503, payload: FF
5:17:12 PM: debug Parse returned null
5:17:12 PM: debug command value is: 2503
5:17:12 PM: debug description is: zw device: 06, command: 2503, payload: 00
5:17:12 PM: debug Executing ACTUATE for garage car door per user request
5:18:22 PM: debug Parse returned null
5:18:22 PM: debug command value is: 2503
5:18:22 PM: debug description is: zw device: 06, command: 2503, payload: FF
5:18:22 PM: debug Executing ACTUATE for garage car door per user request
I’m really thinking the device is sending 00 as a payload, if that’s the case, then you can try this updated code:
(refresh your browser again)