|
5 | 5 |
|
6 | 6 | from aiorun import run |
7 | 7 |
|
8 | | -from emulated_hue import HueEmulator |
| 8 | +from emulated_hue import HueEmulator, const |
9 | 9 |
|
10 | 10 | IS_SUPERVISOR = os.path.isfile("/data/options.json") and os.environ.get("HASSIO_TOKEN") |
11 | 11 |
|
|
56 | 56 | "--http-port", |
57 | 57 | type=int, |
58 | 58 | help="Port to run the HTTP server (for use with reverse proxy, use with care)", |
59 | | - default=os.getenv("HTTP_PORT", 80), |
| 59 | + default=os.getenv("HTTP_PORT", const.HUE_HTTP_PORT), |
60 | 60 | ) |
61 | 61 | parser.add_argument( |
62 | 62 | "--https-port", |
63 | 63 | type=int, |
64 | 64 | help="Port to run the HTTPS server (for use with reverse proxy, use with care)", |
65 | | - default=os.getenv("HTTPS_PORT", 443), |
| 65 | + default=os.getenv("HTTPS_PORT", const.HUE_HTTPS_PORT), |
| 66 | + ) |
| 67 | + parser.add_argument( |
| 68 | + "--use-default-ports-for-discovery", |
| 69 | + action="store_true", |
| 70 | + help=f"Always use HTTP port {const.HUE_HTTP_PORT} and HTTPS port {const.HUE_HTTPS_PORT} for discovery " |
| 71 | + f"regardless of actual exposed ports. Useful with reverse proxy.", |
66 | 72 | ) |
67 | 73 |
|
68 | 74 | args = parser.parse_args() |
|
71 | 77 | token = args.token |
72 | 78 | if args.verbose or os.getenv("VERBOSE", "").strip() == "true": |
73 | 79 | logger.setLevel(logging.DEBUG) |
| 80 | + use_default_ports = False |
| 81 | + if ( |
| 82 | + args.use_default_ports_for_discovery |
| 83 | + or os.getenv("USE_DEFAULT_PORTS", "").strip() == "true" |
| 84 | + ): |
| 85 | + use_default_ports = True |
74 | 86 | # turn down logging for hass-client |
75 | 87 | logging.getLogger("hass_client").setLevel(logging.INFO) |
76 | 88 |
|
77 | | - hue = HueEmulator(datapath, url, token, args.http_port, args.https_port) |
| 89 | + hue = HueEmulator( |
| 90 | + datapath, url, token, args.http_port, args.https_port, use_default_ports |
| 91 | + ) |
78 | 92 |
|
79 | 93 | def on_shutdown(loop): |
80 | 94 | """Call on loop shutdown.""" |
|
0 commit comments