homebridge-ratgdo 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratgdo-api.js","sourceRoot":"","sources":["../src/ratgdo-api.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,+DAA+D;AAC/D,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,0CAA0C;AAC1C,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;GAEG;AACH,IAAK,WAuCJ;AAvCD,WAAK,WAAW;IAEd,+DAA0C,CAAA;IAC1C,iEAA0C,CAAA;IAC1C,mEAA0C,CAAA;IAC1C,qEAA0C,CAAA;IAC1C,yEAA0C,CAAA;IAC1C,2EAA0C,CAAA;IAC1C,6DAA0C,CAAA;IAC1C,+DAA0C,CAAA;IAC1C,2EAA0C,CAAA;IAC1C,8EAA2C,CAAA;IAC3C,gFAA2C,CAAA;IAC3C,8GAA2C,CAAA;IAC3C,8FAA2C,CAAA;IAC3C,8FAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,0GAA2C,CAAA;IAC3C,4FAA2C,CAAA;IAC3C,sFAA2C,CAAA;IAC3C,4EAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAC3C,wEAA2C,CAAA;IAC3C,gFAA2C,CAAA;IAC3C,4EAA2C,CAAA;IAC3C,gFAA2C,CAAA;IAC3C,kFAA2C,CAAA;IAC3C,oGAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAC3C,4FAA2C,CAAA;IAC3C,0DAA2C,CAAA;IAC3C,8EAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,kFAA2C,CAAA;AAC7C,CAAC,EAvCI,WAAW,KAAX,WAAW,QAuCf;AAOD;;GAEG;AACH,IAAK,QAMJ;AAND,WAAK,QAAQ;IAEX,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+DAAoB,CAAA;IACpB,6CAAW,CAAA;AACb,CAAC,EANI,QAAQ,KAAR,QAAQ,QAMZ;AA8DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAE7C,mDAAmD;IAC3C,YAAY,CAAmB;IAEvC,0DAA0D;IAClD,YAAY,CAAoC;IAExD,oDAAoD;IAC5C,IAAI,CAAS;IAErB,WAAW;IACH,GAAG,CAA0B;IAErC,kDAAkD;IAC1C,IAAI,CAAS;IAErB,8EAA8E;IACtE,UAAU,CAAC;IAEnB,uDAAuD;IAC/C,gBAAgB,CAAuB;IAE/C,yDAAyD;IACjD,kBAAkB,CAAW;IAErC,4DAA4D;IACpD,UAAU,CAAC;IAEnB,sDAAsD;IAC9C,WAAW,CAAC;IAEpB,6CAA6C;IACrC,WAAW,CAAC;IAEpB;;;;;;OAMG;IACH,YAAY,GAA4B,EAAE,IAAY,EAAE,IAAI,GAAG,IAAI;QAEjE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,OAAO;QAEZ,4EAA4E;QAC5E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,qDAAqD;QACrD,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,oEAAoE;QACpE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAE5D,iDAAiD;QACjD,IAAI,CAAC,YAAY,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhD,mDAAmD;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7E,oDAAoD;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,UAAU;QAEf,8BAA8B;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,iCAAiC;QACjC,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,aAAa;QAEnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEpE,yDAAyD;QACzD,+DAA+D;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAE5D,kCAAkC;QAClC,MAAM,MAAM,GAAiB;YAE3B,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,EAAE;YAC1E,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;YACvD,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;SACzD,CAAC;QAEF,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,GAAU;QAElC,QAAQ,GAA6B,CAAC,IAAI,EAAE,CAAC;YAE3C,KAAK,YAAY;gBAEf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAEpC,MAAM;YAER,KAAK,WAAW,CAAC;YACjB,KAAK,cAAc;gBAEjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAEtC,MAAM;YAER,KAAK,WAAW;gBAEd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAExC,MAAM;YAER;gBAEE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAG,GAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAElF,MAAM;QACV,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,iBAAiB;QAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,mBAAmB;QAEzB,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,KAAa;QAE9B,mDAAmD;QACnD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAE1D,6CAA6C;QAC7C,OAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YAE/C,2DAA2D;YAC3D,IAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAElC,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAE/D,qCAAqC;YACrC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;YAEzE,mCAAmC;YACnC,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;YAE5C,0DAA0D;YAC1D,IAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;gBAElD,MAAM;YACR,CAAC;YAED,+BAA+B;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;YAE1E,gCAAgC;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElC,wDAAwD;YACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,OAAe;QAEjD,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExC,iCAAiC;QACjC,QAAO,IAAI,EAAE,CAAC;YAEZ,KAAK,WAAW,CAAC,cAAc;gBAE7B,sDAAsD;gBACtD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhE,MAAM;YAER,KAAK,WAAW,CAAC,gBAAgB;gBAE/B,iDAAiD;gBACjD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,wDAAwD;gBACxD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtE,MAAM;YAER,KAAK,WAAW,CAAC,kBAAkB;gBAEjC,wDAAwD;gBACxD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,MAAM;YAER,KAAK,WAAW,CAAC,mBAAmB;gBAElC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,MAAM;YAGR,KAAK,WAAW,CAAC,oBAAoB;gBAEnC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBAEvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAE5C,MAAM;YAER,KAAK,WAAW,CAAC,2BAA2B;gBAE1C,iDAAiD;gBACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAE/C,mFAAmF;gBACnF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,wBAAwB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzE,MAAM;YAER,KAAK,WAAW,CAAC,YAAY;gBAE3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAEjD,yDAAyD;gBACzD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9D,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvB,MAAM;YAER,KAAK,WAAW,CAAC,aAAa;gBAE5B,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvB,MAAM;YAER;gBAEE,6CAA6C;gBAC7C,IAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAErC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAErC,OAAO;gBACT,CAAC;gBAED,mCAAmC;gBACnC,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAE5B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAEpC,OAAO;gBACT,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,GAAG,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE5F,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,OAAe;QAE9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE9C,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,kDAAkD;QAClD,MAAM,IAAI,GAAe,EAAE,CAAC;QAE5B,mCAAmC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7D,0BAA0B;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE/C,iCAAiC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAErD,qCAAqC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzD,sCAAsC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE1D,2BAA2B;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,oCAAoC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7D,kCAAkC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtD,qCAAqC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzD,qCAAqC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEzD,qDAAqD;QACrD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEvE,oDAAoD;QACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtE,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,UAAU;QAEf,gEAAgE;QAChE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAY;QAEzC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,oCAAoC,IAAI,IAAI,IAAI,WAAW,CAAC,kCAAkC,CAAC;YAC3H,CAAE,WAAW,CAAC,+BAA+B,EAAE,WAAW,CAAC,6BAA6B,EAAE,WAAW,CAAC,2BAA2B;gBAC/H,WAAW,CAAC,6BAA6B,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY;QAEhC,OAAO,CAAE,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY;YAC5I,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,sBAAsB,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzI,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAiB;QAE1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAY,EAAE,OAAe;QAEpD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAG,GAAG,KAAK,SAAS,EAAE,CAAC;YAErB,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAG,IAAI,KAAK,SAAS,EAAE,CAAC;YAEtB,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,mDAAmD;QACnD,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjC,sEAAsE;QACtE,MAAM,GAAG,GAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElC,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY,EAAE,OAAe;QAEnD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE7C,IAAG,GAAG,KAAK,SAAS,EAAE,CAAC;YAErB,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE1C,wEAAwE;QACxE,IAAG,IAAI,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;YAEpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpD,mCAAmC;QACnC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAEtD,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAoC,EAAE,SAAiB,EAAE,IAAY;QAE5F,qCAAqC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpD,iDAAiD;QACjD,MAAM,IAAI,GAAG;YAEX,gBAAgB;YAChB,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,WAAW;YACX,QAAQ;YACR,IAAI;YACJ,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAoC,EAAE,QAAgB;QAE7E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,MAAM,EAAE,CAAC;YAEX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,uCAAuC;QACvC,IAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE3B,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAG,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAoC,EAAE,QAAgB;QAEhF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAE9D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAoC,EAAE,QAAgB;QAE/E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAoC,EAAE,QAAgB;QAE/E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAoC,EAAE,QAAgB;QAElF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE3B,gEAAgE;YAChE,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAiB,EAAE,OAAe;QAErD,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QAElH,mDAAmD;QACnD,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAoB;QAE5C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,GAAW,CAAC;QAEhB,KAAI,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAE1B,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEzE,6CAA6C;YAC7C,QAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAEtB,KAAK,QAAQ,CAAC,MAAM;oBAElB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC;oBAErD,MAAM;gBAER,KAAK,QAAQ,CAAC,gBAAgB;oBAE5B,GAAG,GAAG,KAAK,CAAC,KAAe,CAAC;oBAE5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhB,MAAM;gBAER,KAAK,QAAQ,CAAC,OAAO;oBAEnB,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAEjC,IAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAEnC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBAEL,KAAK,CAAC,KAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhB,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,GAAW;QAE/B,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,EAAU;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,eAAe;QAEpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAExC,KAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAEtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;YAEjC,KAAI,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAEtC,IAAG,MAAM,EAAE,CAAC;oBAEV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAC,EAAU;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACI,SAAS,CAAC,EAAU;QAEzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QAE1B,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,KAAI,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAEvC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,kBAAkB;QAEvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAE1C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAE9E,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,QAAQ;QAEb,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,EAAU,EAAE,KAAc;QAEjD,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC;QAE1F,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,CAAC;QAE9H,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,EAAU;QAEjC,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;QAEnE,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAC;QAEzD,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,gBAAgB,CAAC,EAAU,EAAE,OAAkF;QAEpH,iDAAiD;QACjD,IAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEhG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;YAE3F,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7G,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAC;QAEzD,uDAAuD;QACvD,IAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAEnB,oDAAoD;YACpD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAE9C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAG,qBAAqB;YAC/E,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,iBAAiB;aACjG,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,IAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAExC,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,eAAe;aACzE,CAAC;YAEF,qCAAqC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE/C,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAE,WAAW;aAChF,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,WAAW;aACrE,CAAC;YAEF,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE3C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAE,OAAO;aACxE,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACI,gBAAgB,CAAC,EAAU,EAAE,OAAiD;QAEnF,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7G,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAC;QAEzD,4CAA4C;QAC5C,IAAG,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAE/B,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAG,YAAY;YACtE,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,QAAQ;aACtF,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,IAAG,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAE1C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,iBAAiB;aAC3E,CAAC;YAEF,4BAA4B;YAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEjD,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAE,aAAa;aACpF,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,EAAU,EAAE,OAA0B,EAAE,IAAa;QAE1E,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;QAE5F,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAEtC,6BAA6B;QAC7B,MAAM,MAAM,GAAiB;YAE3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YACvB,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,UAAU;SAClF,CAAC;QAEF,2CAA2C;QAC3C,IAAG,IAAI,KAAK,SAAS,EAAE,CAAC;YAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAE,OAAO;aACjF,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAGD;;OAEG;IACK,YAAY,CAAC,KAAa;QAEhC,uDAAuD;QACvD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,6EAA6E;QAC7E,KAAI,IAAI,CAAC,GAAG,KAAK,GAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAE9B,wDAAwD;YACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC;YAE1B,2DAA2D;YAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAEhC,sFAAsF;YACtF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEpD,0CAA0C;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,6DAA6D;YAC7D,IAAG,CAAC,OAAO,EAAE,CAAC;gBAEZ,MAAM;YACR,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc,EAAE,MAAc;QAE/C,8CAA8C;QAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,6CAA6C;QAC7C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,sFAAsF;QACtF,KAAI,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAEhC,2CAA2C;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;YAExC,mFAAmF;YACnF,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YAEjC,4BAA4B;YAC5B,SAAS,EAAE,CAAC;YAEZ,yDAAyD;YACzD,IAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAEvB,MAAM;YACR,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,MAAc;QAEnC,qEAAqE;QACrE,MAAM,MAAM,GAAiC,EAAE,CAAC;QAEhD,+DAA+D;QAC/D,KAAI,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,6BAA6B,EAAE,CAAC;YAE1E,IAAI,GAAW,CAAC;YAChB,IAAI,MAAc,CAAC;YACnB,IAAI,CAAS,CAAC;YACd,IAAI,KAAiB,CAAC;YACtB,IAAI,IAAY,CAAC;YAEjB,yEAAyE;YACzE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEtD,8BAA8B;YAC9B,MAAM,IAAI,MAAM,CAAC;YAEjB,gDAAgD;YAChD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC;YAE3B,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC;YAE5B,6CAA6C;YAC7C,QAAO,QAAQ,EAAE,CAAC;gBAEhB,KAAK,QAAQ,CAAC,MAAM;oBAElB,yBAAyB;oBACzB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAE5C,6BAA6B;oBAC7B,KAAK,GAAG,CAAC,CAAC;oBAEV,iCAAiC;oBACjC,MAAM,IAAI,IAAI,CAAC;oBAEf,MAAM;gBAER,KAAK,QAAQ,CAAC,OAAO;oBAEnB,sCAAsC;oBACtC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAEpC,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,CAAC;oBAEZ,MAAM;gBAER,KAAK,QAAQ,CAAC,gBAAgB;oBAE5B,sCAAsC;oBACtC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAEhD,kCAAkC;oBAClC,MAAM,IAAI,MAAM,CAAC;oBAEjB,4CAA4C;oBAC5C,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;oBAE9C,6CAA6C;oBAC7C,MAAM,IAAI,GAAG,CAAC;oBAEd,MAAM;gBAER,KAAK,QAAQ,CAAC,OAAO;oBAEnB,qEAAqE;oBACrE,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;oBAE5C,yBAAyB;oBACzB,MAAM,IAAI,CAAC,CAAC;oBAEZ,MAAM;gBAER;oBAEE,sEAAsE;oBACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;oBAEzD,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,wDAAwD;YACxD,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAErB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YAED,2CAA2C;YAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,6DAA6D;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -2,7 +2,7 @@ import type { PlatformAccessory } from "homebridge";
2
2
  import { type HomebridgePluginLogging } from "homebridge-plugin-utils";
3
3
  import { type RatgdoDevice } from "./ratgdo-types.js";
4
4
  import type { RatgdoPlatform } from "./ratgdo-platform.js";
5
- interface EspHomeEvent {
5
+ export interface EspHomeEvent {
6
6
  current_operation?: string;
7
7
  id: string;
8
8
  name?: string;
@@ -10,6 +10,33 @@ interface EspHomeEvent {
10
10
  state: string;
11
11
  value?: string;
12
12
  }
13
+ interface RatgdoHints {
14
+ automationDimmer: boolean;
15
+ automationSwitch: boolean;
16
+ discoBattery: boolean;
17
+ discoLaserSwitch: boolean;
18
+ discoLedSwitch: boolean;
19
+ discoVehicleArriving: boolean;
20
+ discoVehicleLeaving: boolean;
21
+ discoVehiclePresence: boolean;
22
+ doorOpenOccupancyDuration: number;
23
+ doorOpenOccupancySensor: boolean;
24
+ konnectedPcwSwitch: boolean;
25
+ konnectedStrobeSwitch: boolean;
26
+ light: boolean;
27
+ lock: boolean;
28
+ lockoutSwitch: boolean;
29
+ logLight: boolean;
30
+ logMotion: boolean;
31
+ logObstruction: boolean;
32
+ logOpener: boolean;
33
+ logVehiclePresence: boolean;
34
+ motionOccupancyDuration: number;
35
+ motionOccupancySensor: boolean;
36
+ motionSensor: boolean;
37
+ readOnly: boolean;
38
+ showBatteryInfo: boolean;
39
+ }
13
40
  export declare class RatgdoAccessory {
14
41
  private readonly accessory;
15
42
  private readonly api;
@@ -17,7 +44,7 @@ export declare class RatgdoAccessory {
17
44
  readonly device: RatgdoDevice;
18
45
  private doorOccupancyTimer;
19
46
  private readonly hap;
20
- private readonly hints;
47
+ readonly hints: RatgdoHints;
21
48
  readonly log: HomebridgePluginLogging;
22
49
  private motionOccupancyTimer;
23
50
  private motionTimer;
@@ -46,6 +73,7 @@ export declare class RatgdoAccessory {
46
73
  private configureDoorOpenOccupancySensor;
47
74
  private configureMotionOccupancySensor;
48
75
  private setDoorState;
76
+ refresh(): void;
49
77
  updateState(event: EspHomeEvent): void;
50
78
  private command;
51
79
  private translateCurrentDoorState;
@@ -1,4 +1,4 @@
1
- import { acquireService, validService, validateName } from "homebridge-plugin-utils";
1
+ import { acquireService, sanitizeName, validService } from "homebridge-plugin-utils";
2
2
  import { RATGDO_MOTION_DURATION, RATGDO_OCCUPANCY_DURATION } from "./settings.js";
3
3
  import { RatgdoReservedNames, RatgdoVariant } from "./ratgdo-types.js";
4
4
  import util from "node:util";
@@ -193,7 +193,7 @@ export class RatgdoAccessory {
193
193
  // Configure the garage door service for HomeKit.
194
194
  configureGarageDoor() {
195
195
  // Acquire the service.
196
- const service = acquireService(this.hap, this.accessory, this.hap.Service.GarageDoorOpener, this.name);
196
+ const service = acquireService(this.accessory, this.hap.Service.GarageDoorOpener, this.name);
197
197
  if (!service) {
198
198
  this.log.error("Unable to add the garage door.");
199
199
  return false;
@@ -211,8 +211,8 @@ export class RatgdoAccessory {
211
211
  service.getCharacteristic(this.hap.Characteristic.ObstructionDetected).onGet(() => this.status.obstruction === true);
212
212
  // Configure the lock garage door lock current and target state characteristics if the user has enabled it.
213
213
  if (this.hints.lock) {
214
- service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet(async (value) => {
215
- if (!(await this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock"))) {
214
+ service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet((value) => {
215
+ if (!this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock")) {
216
216
  // Something went wrong. Let's make sure we revert the lock to it's prior state.
217
217
  setTimeout(() => {
218
218
  service?.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
@@ -239,7 +239,7 @@ export class RatgdoAccessory {
239
239
  return false;
240
240
  }
241
241
  // Acquire the service.
242
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
242
+ const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
243
243
  if (!service) {
244
244
  this.log.error("Unable to add the light.");
245
245
  return false;
@@ -248,7 +248,7 @@ export class RatgdoAccessory {
248
248
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
249
249
  // Turn the light on or off.
250
250
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.light);
251
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("light", value === true ? "on" : "off"));
251
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("light", value === true ? "on" : "off"));
252
252
  return true;
253
253
  }
254
254
  // Configure the motion sensor for HomeKit.
@@ -258,7 +258,7 @@ export class RatgdoAccessory {
258
258
  return false;
259
259
  }
260
260
  // Acquire the service.
261
- const service = acquireService(this.hap, this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
261
+ const service = acquireService(this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
262
262
  if (!service) {
263
263
  this.log.error("Unable to add the motion sensor.");
264
264
  return false;
@@ -276,7 +276,7 @@ export class RatgdoAccessory {
276
276
  return false;
277
277
  }
278
278
  // Acquire the service.
279
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
279
+ const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
280
280
  if (!service) {
281
281
  this.log.error("Unable to add the automation door position dimmer.");
282
282
  return false;
@@ -322,7 +322,7 @@ export class RatgdoAccessory {
322
322
  return false;
323
323
  }
324
324
  // Acquire the service.
325
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
325
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
326
326
  if (!service) {
327
327
  this.log.error("Unable to add the automation door opener switch.");
328
328
  return false;
@@ -353,7 +353,7 @@ export class RatgdoAccessory {
353
353
  return false;
354
354
  }
355
355
  // Acquire the service.
356
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Battery, this.name);
356
+ const service = acquireService(this.accessory, this.hap.Service.Battery, this.name);
357
357
  if (!service) {
358
358
  this.log.error("Unable to add the Ratgdo (ESP32) Disco backup battery status.");
359
359
  return false;
@@ -372,7 +372,7 @@ export class RatgdoAccessory {
372
372
  return false;
373
373
  }
374
374
  // Acquire the service.
375
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Laser", RatgdoReservedNames.SWITCH_DISCO_LASER);
375
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Laser", RatgdoReservedNames.SWITCH_DISCO_LASER);
376
376
  if (!service) {
377
377
  this.log.error("Unable to add the Ratgdo (ESP32) Disco laser switch.");
378
378
  return false;
@@ -380,7 +380,7 @@ export class RatgdoAccessory {
380
380
  // Return the current state of the switch.
381
381
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.discoLaser);
382
382
  // Open or close the switch.
383
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("disco-laser", value === true ? "on" : "off"));
383
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("disco-laser", value === true ? "on" : "off"));
384
384
  // Initialize the switch.
385
385
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLaser);
386
386
  this.log.info("Enabling the Ratgdo (ESP32) Disco parking assistance laser switch.");
@@ -393,7 +393,7 @@ export class RatgdoAccessory {
393
393
  return false;
394
394
  }
395
395
  // Acquire the service.
396
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " LED", RatgdoReservedNames.SWITCH_DISCO_LED);
396
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " LED", RatgdoReservedNames.SWITCH_DISCO_LED);
397
397
  if (!service) {
398
398
  this.log.error("Unable to add the Ratgdo (ESP32) Disco LED switch.");
399
399
  return false;
@@ -401,7 +401,7 @@ export class RatgdoAccessory {
401
401
  // Return the current state of the switch.
402
402
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.discoLed);
403
403
  // Open or close the switch.
404
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("disco-led", value === true ? "on" : "off"));
404
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("disco-led", value === true ? "on" : "off"));
405
405
  // Initialize the switch.
406
406
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLed);
407
407
  this.log.info("Enabling the Ratgdo (ESP32) Disco LED switch.");
@@ -414,7 +414,7 @@ export class RatgdoAccessory {
414
414
  return false;
415
415
  }
416
416
  // Acquire the service.
417
- const service = acquireService(this.hap, this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Arriving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_ARRIVING);
417
+ const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Arriving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_ARRIVING);
418
418
  if (!service) {
419
419
  this.log.error("Unable to add the vehicle arriving contact sensor.");
420
420
  return false;
@@ -433,7 +433,7 @@ export class RatgdoAccessory {
433
433
  return false;
434
434
  }
435
435
  // Acquire the service.
436
- const service = acquireService(this.hap, this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Leaving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_LEAVING);
436
+ const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Leaving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_LEAVING);
437
437
  if (!service) {
438
438
  this.log.error("Unable to add the vehicle leaving contact sensor.");
439
439
  return false;
@@ -452,7 +452,7 @@ export class RatgdoAccessory {
452
452
  return false;
453
453
  }
454
454
  // Acquire the service.
455
- const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name + " Vehicle Presence", RatgdoReservedNames.OCCUPANCY_DISCO_VEHICLE_PRESENCE);
455
+ const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Vehicle Presence", RatgdoReservedNames.OCCUPANCY_DISCO_VEHICLE_PRESENCE);
456
456
  if (!service) {
457
457
  this.log.error("Unable to add the vehicle presence occupancy sensor.");
458
458
  return false;
@@ -471,7 +471,7 @@ export class RatgdoAccessory {
471
471
  return false;
472
472
  }
473
473
  // Acquire the service.
474
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Pre Close Warning", RatgdoReservedNames.SWITCH_KONNECTED_PCW);
474
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Pre Close Warning", RatgdoReservedNames.SWITCH_KONNECTED_PCW);
475
475
  if (!service) {
476
476
  this.log.error("Unable to add the Konnected pre-close warning switch.");
477
477
  return false;
@@ -479,11 +479,11 @@ export class RatgdoAccessory {
479
479
  // Return the current state of the switch.
480
480
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => false);
481
481
  // Open or close the switch.
482
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
482
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
483
483
  // Default to reseting our switch state after the pre-close warning has completed playing.
484
484
  let resetTimer = 5000;
485
485
  // Send the command.
486
- if (!(await this.command("konnected-pcw"))) {
486
+ if (!this.command("konnected-pcw")) {
487
487
  // Something went wrong. Let's make sure we revert the switch to it's prior state immediately.
488
488
  resetTimer = 50;
489
489
  }
@@ -502,7 +502,7 @@ export class RatgdoAccessory {
502
502
  return false;
503
503
  }
504
504
  // Acquire the service.
505
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Strobe", RatgdoReservedNames.SWITCH_KONNECTED_STROBE);
505
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Strobe", RatgdoReservedNames.SWITCH_KONNECTED_STROBE);
506
506
  if (!service) {
507
507
  this.log.error("Unable to add the Konnected strobe switch.");
508
508
  return false;
@@ -510,7 +510,7 @@ export class RatgdoAccessory {
510
510
  // Return the current state of the switch.
511
511
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.konnectedStrobe);
512
512
  // Open or close the switch.
513
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("konnected-strobe", value === true ? "on" : "off"));
513
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("konnected-strobe", value === true ? "on" : "off"));
514
514
  // Initialize the switch.
515
515
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.konnectedStrobe);
516
516
  this.log.info("Enabling the Konnected strobe switch.");
@@ -523,7 +523,7 @@ export class RatgdoAccessory {
523
523
  return false;
524
524
  }
525
525
  // Acquire the service.
526
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
526
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
527
527
  if (!service) {
528
528
  this.log.error("Unable to add the automation wireless remote lockout switch.");
529
529
  return false;
@@ -531,11 +531,11 @@ export class RatgdoAccessory {
531
531
  // Return the current state of the opener. We're on if we are in any state other than locked.
532
532
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
533
533
  // Lock or unlock the wireless remotes.
534
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
534
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
535
535
  // Inform the user.
536
536
  this.log.info("Automation wireless remote lockout switch: remotes are %s.", value ? "locked out" : "permitted");
537
537
  // Send the command.
538
- if (!(await this.command("lock", value ? "lock" : "unlock"))) {
538
+ if (!this.command("lock", value ? "lock" : "unlock")) {
539
539
  // Something went wrong. Let's make sure we revert the switch to it's prior state.
540
540
  setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
541
541
  }
@@ -552,7 +552,7 @@ export class RatgdoAccessory {
552
552
  return false;
553
553
  }
554
554
  // Acquire the service.
555
- const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
555
+ const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
556
556
  if (!service) {
557
557
  this.log.error("Unable to add the door open occupancy sensor.");
558
558
  return false;
@@ -571,7 +571,7 @@ export class RatgdoAccessory {
571
571
  return false;
572
572
  }
573
573
  // Acquire the service.
574
- const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
574
+ const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
575
575
  if (!service) {
576
576
  this.log.error("Unable to add the occupancy sensor.");
577
577
  return false;
@@ -606,17 +606,21 @@ export class RatgdoAccessory {
606
606
  if ((this.status.door === this.hap.Characteristic.CurrentDoorState.OPENING) || (this.status.door === this.hap.Characteristic.CurrentDoorState.CLOSING)) {
607
607
  this.log.debug("User-initiated stop requested while transitioning between open and close states.");
608
608
  // Execute the stop command.
609
- void this.command("door", "stop");
609
+ this.command("door", "stop");
610
610
  return true;
611
611
  }
612
612
  // Set the door state, assuming we're not already there.
613
613
  if (this.status.door !== value) {
614
614
  this.log.debug("User-initiated door state change: %s%s.", this.translateTargetDoorState(value), (position !== undefined) ? " (" + position.toString() + "%)" : "");
615
615
  // Execute the command.
616
- void this.command("door", targetAction, position);
616
+ this.command("door", targetAction, position);
617
617
  }
618
618
  return true;
619
619
  }
620
+ // Refresh our state.
621
+ refresh() {
622
+ this.command("refresh");
623
+ }
620
624
  // Update the state of the accessory.
621
625
  updateState(event) {
622
626
  const camelCase = (text) => text.charAt(0).toUpperCase() + text.slice(1);
@@ -938,21 +942,17 @@ export class RatgdoAccessory {
938
942
  }
939
943
  }
940
944
  // Utility function to transmit a command to Ratgdo.
941
- async command(topic, payload = "", position) {
945
+ command(topic, payload = "", position) {
942
946
  // Now we handle ESPHome firmware commands.
943
- let endpoint;
944
947
  let action;
945
948
  switch (topic) {
946
949
  case "disco-laser":
947
- endpoint = "switch/laser";
948
- action = (payload === "on") ? "turn_on" : "turn_off";
950
+ this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-laser", payload === "on");
949
951
  break;
950
952
  case "disco-led":
951
- endpoint = "switch/led";
952
- action = (payload === "on") ? "turn_on" : "turn_off";
953
+ this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-led", payload === "on");
953
954
  break;
954
955
  case "door":
955
- endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "cover/garage_door" : "cover/door";
956
956
  switch (payload) {
957
957
  case "closed":
958
958
  action = "close";
@@ -966,70 +966,39 @@ export class RatgdoAccessory {
966
966
  this.log.error("Invalid door set command received: no position specified.");
967
967
  return false;
968
968
  }
969
- action = "set?position=" + (position / 100).toString();
969
+ action = "set";
970
970
  break;
971
971
  default:
972
972
  this.log.error("Unknown door command received: %s.", payload);
973
973
  return false;
974
974
  }
975
+ // Set the door position to the requested percentage.
976
+ if (position !== undefined) {
977
+ this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { position: position / 100 });
978
+ return true;
979
+ }
980
+ // Execute the command.
981
+ this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { command: action });
975
982
  break;
976
983
  case "konnected-pcw":
977
- endpoint = "button/pre-close_warning";
978
- action = "press";
984
+ this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-pre-close_warning");
979
985
  break;
980
986
  case "konnected-strobe":
981
- endpoint = "switch/str_output";
982
- action = (payload === "on") ? "turn_on" : "turn_off";
987
+ this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-str_output", payload === "on");
983
988
  break;
984
989
  case "light":
985
- endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "light/garage_light" : "light/light";
986
- action = (payload === "on") ? "turn_on" : "turn_off";
990
+ this.platform.espHomeApi[this.device.mac].sendLightCommand("light-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_light" : "light"), { state: payload === "on" });
987
991
  break;
988
992
  case "lock":
989
- endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "lock/lock" : "lock/lock_remotes";
990
- action = (payload === "lock") ? "lock" : "unlock";
993
+ this.platform.espHomeApi[this.device.mac].sendLockCommand("lock-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "lock" : "lock_remotes"), (payload === "lock") ? "lock" : "unlock");
991
994
  break;
992
995
  case "refresh":
993
- endpoint = "button/query_status";
994
- action = "press";
996
+ this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-query_status");
995
997
  break;
996
998
  default:
997
999
  this.log.error("Unknown command received: %s - %s.", topic, payload);
998
1000
  return false;
999
1001
  }
1000
- try {
1001
- // Execute the action.
1002
- const response = await fetch("http://" + this.device.address + "/" + endpoint + "/" + action, { body: JSON.stringify({}), method: "POST" });
1003
- if (!response?.ok) {
1004
- this.log.error("Unable to execute command: %s - %s.", topic, action);
1005
- return false;
1006
- }
1007
- }
1008
- catch (error) {
1009
- let errorMessage = "\n" + util.inspect(error, { colors: true, depth: null, sorted: true });
1010
- if (error instanceof TypeError) {
1011
- switch (error.cause?.code) {
1012
- case "ECONNRESET":
1013
- errorMessage = "Connection to the Ratgdo controller has been reset";
1014
- break;
1015
- case "EHOSTDOWN":
1016
- errorMessage = "Connection to the Ratgdo controller has been reset";
1017
- break;
1018
- case "ETIMEDOUT":
1019
- case "UND_ERR_BODY_TIMEOUT":
1020
- case "UND_ERR_CONNECT_TIMEOUT":
1021
- case "UND_ERR_HEADERS_TIMEOUT":
1022
- errorMessage = "Connection to the Ratgdo controller has timed out";
1023
- break;
1024
- default:
1025
- errorMessage = " " + error.cause?.code + " (errno: " + error.cause?.errno?.toString() + ")\n" +
1026
- util.inspect(error.cause, { depth: null, sorted: true });
1027
- break;
1028
- }
1029
- }
1030
- this.log.error("Ratgdo API error sending command:%s", errorMessage);
1031
- return false;
1032
- }
1033
1002
  return true;
1034
1003
  }
1035
1004
  // Utility function to translate HomeKit's current door state values into human-readable form.
@@ -1138,7 +1107,7 @@ export class RatgdoAccessory {
1138
1107
  }
1139
1108
  // Utility function to set the current accessory name of this device.
1140
1109
  set accessoryName(name) {
1141
- const cleanedName = validateName(name);
1110
+ const cleanedName = sanitizeName(name);
1142
1111
  // Set all the internally managed names within Homebridge to the new accessory name.
1143
1112
  this.accessory.displayName = cleanedName;
1144
1113
  this.accessory._associatedHAPAccessory.displayName = cleanedName;