ratgdo / esphome-ratgdo

ratgdo for ESPHome
GNU General Public License v2.0
310 stars 79 forks source link

[Request] Remote Management / Detecting how door is open #84

Open YBonline opened 7 months ago

YBonline commented 7 months ago

I just switched my garage door from MyQ to ratgdo due to all the MyQ issues, working great so far! I'd like to get my door disconnected from MyQ, but one feature appears to be missing, remote management:

The MyQ app allows you to name your remotes, and see which remote triggered door movement. You can also add and delete the remotes individually. You can also see how many keypads are programmed to the door. Also, if the event is unlabeled, that also allow you to know the wall button caused the movement. Is this possible to add?

PaulWieland commented 7 months ago

This is a duplicate of https://github.com/PaulWieland/ratgdo/issues/130

bdraco commented 7 months ago

We do get the remote id back, we could make a sensor to show the last remote id used

bdraco commented 7 months ago

Maybe better to fire an event though...

mariusmuja commented 7 months ago

We do get the remote id back, we could make a sensor to show the last remote id used

I think we only get the remote_id for the devices transmitting on the wire (the GDO and the wall button), the RF devices (remotes/keypads) are essentially invisible to us, we only see the status messages sent by the GDO for the actions triggered by those devices.

So other that the wall button (for which we already have a sensor), we don't have any way of knowing who triggered the door open/close (other than knowing it wasn't us or the wall button).

YBonline commented 7 months ago

So other that the wall button (for which we already have a sensor), we don't have any way of knowing who triggered the door open/close (other than knowing it wasn't us or the wall button).

I haven't spent much time looking into this yet, but I have spoken to a Chamberlain engineer in the past, and my understanding was the protocol for the wired and wireless Security+ 2.0 is the same (the same MyQ/Security+ 2.0 is used on a ton of Chamberlain products, including gate systems, access control, telephone entries, dock management systems, etc), and since its a feature with the MyQ internet gateway, it seems like there should be a way to get it over the wireline as well if its rebroadcasting it wirelessly.

I did recently watch Paul's interview where he asked why they used rolling codes/encryption over wireline, and my understanding is in theory, the wire can be run outside (or otherwise in unprotected areas, such as perhaps to an outdoor keypad), and the sec+2.0 operators can be required to press the learn button instead of auto accepting to keep the wire secure while being outside (well, as secure as sec+ 2.0 is anyways). I don't know if thats implemented on any product.

Anyways, I'm curious, is there an easy way for me to see what is being broadcasted over the wireline with esphome-ratgdo? I didn't see any getting started guide for developers, but I do have a very wide variety of Chamberlain products, including their Passport version of the remotes where the ID numbers are labeled on them to make entering them into gate openers easier, along with other non-GDO products, and would like to help decode some of the more complicated features of MyQ as I did use MyQ's more complicated/business features.

mulcmu commented 7 months ago

If you set the logger level to verbose in the esphome configuration for the ratgdo you will get the decoded messages in the logs.

logger:
  level: VERBOSE
mariusmuja commented 7 months ago

Alternatively for less (unrelated) logging output you can changed the ESP_LOG1 and ESP_LOG2 in https://github.com/ratgdo/esphome-ratgdo/blob/main/components/ratgdo/ratgdo.cpp#L19 from ESP_LOGV to ESP_LOGD.

YBonline commented 6 months ago

Alright, so I played around with this last night, and I had a couple questions... first off, I seem to have 3 "fixed" codes in rotation on the one GDO I tried this out on.... One appears to be the ratgdo, one appears to be the wall control panel, and is the third MyQ? My opener has MyQ built in, so I'm curious if that is on the wireline interface and if thats of any help?

Also, is there any documentation on what the status codes mean so far other then the ones that are labeled? As an example, I tried to use the MyQ app to add a labeled remote. I seemed to get this in the logs: [21:56:00][V][ratgdo:108]: [5005021] received rolling=000324f fixed=8087ded0d6 data=22600181 (enters learning mode on MyQ app) [21:56:00][V][ratgdo:116]: cmd=081 (STATUS) byte2=22 byte1=60 nibble=1 [21:56:12][V][ratgdo:404]: Baud: 9615 [21:56:12][V][ratgdo:108]: [5016572] received rolling=0003250 fixed=8087ded0d6 data=12600181 (successfully learned remote) [21:56:12][V][ratgdo:116]: cmd=081 (STATUS) byte2=12 byte1=60 nibble=1

Also, is there an easy way to tell ratgdo to send a data command to the GDO?