Skip to content

Commit

Permalink
updated grammer + added global variables to docs
Browse files Browse the repository at this point in the history
  • Loading branch information
caronc committed Nov 28, 2020
1 parent 8b51404 commit f806f88
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,28 +21,28 @@ Compatible with both NX-595E [Hills](https://www.hills.com.au/) ComNav and [Inte
```

2. Create a configuration file that identifies:
1. The location the ComNav/ZeroWire hub can be found on some network.
1. Your ComNav/ZeroWire login User ID
1. Your ComNav/ZeroWire login pin
1. The hostname or IP address of the ComNav/ZeroWire hub you've got setup on some the network.
1. Your ComNav/ZeroWire login User ID.
1. Your ComNav/ZeroWire login pin.

**Note**: You can only be logged into the ComNav/ZeroWire hub with the same user *once*; a subsequent login with the same user logs out the other. Since this tool/software actively polls and maintains a login session to your Hub, it can prevent you from being able to log into at the same time elsewhere (via it's website). It is strongly recommended you create a second user account on your Hub dedicated to just this service.
**Note**: You can only be logged into the ComNav/ZeroWire hub with the same user *once*; a subsequent login with the same user logs out the other. Since this tool/software actively polls and maintains a login session to your Hub, it can prevent you from being able to log into at the same time elsewhere (via it's website). **It is strongly recommended that you create a second user account on your Hub dedicated to just this service.**

```yaml
# An example of what would be found in your configuration file:
# Use hashtags/pound symbols (#) to optionally add comments
# Syntax is simply <key>: <value>
#
# You must specify hostname, user, and pin
# You must specify a ip/hostname, user, and pin
#
host: 192.168.0.30
user: My Username
pin: 1234
```
3. Use the **--scene** (*-s*) to set your security system's alarm scene. The possible options are: `disarm`, `away`, and `stay`.
3. Use the **--scene** (**-s**) to set your security system's alarm scene. The possible options are: `disarm`, `away`, and `stay`.

```bash
# By default if no --config= (-c) is specified; one will be automatically
# By default if no --config= (-c) is specified, one will be automatically
# loaded from the following location (if present):
# ~/.ultrasync
# ~/.config/ultrasync
Expand Down Expand Up @@ -79,40 +79,54 @@ Compatible with both NX-595E [Hills](https://www.hills.com.au/) ComNav and [Inte
ultrasync --details
```

- You can perform a dump of all of the web based files (*that I've found to be useful so far*) to disk. This makes troubleshooting incredibly much easier.
- You can perform a dump of all of the web based files (*that I've found to be useful so far*) to disk. This makes troubleshooting much easier.

```bash
# Extracts information from your UltraSync Hub that can be
# incredibly useful in debugging and/or adding enhancements
# later on:
ultrasync --debug-dump
```

The debug content gets written to a zip file (residing in the same folder you ran this command from) in the form of: `YYYYmmddHHMMSS.ultrasync-dump.zip`.

## Reverse Proxy

If you've exposed your panel to the internet, you can access it by setting your `host` to the full URL to it. For example:
If you've exposed your panel to the internet, you can access it by setting your `host` to the full URL to it (instead of just the hosthame/ip). For example:

```yaml
# A sample ultrasync configuration that requires you to pass through
# A sample UltraSync configuration that requires you to pass through
# a proxy in order to get to your destination:
host: https://your.security.panel/
user: My Username
pin: 1234
```

If you've also protected your panel behind an additional user/pass combo using Basic Auth at the reverse proxy, you can pass through it like so:
If you've also protected your panel behind an additional user/pass combo using *Basic Auth* at the reverse proxy level, you can pass through it like so:

```yaml
# A sample ultrasync configuration that requires you to pass through
# a proxy expecting authentication in order to get to your destination:
host: https://user:[email protected]/
user: My Username
pin: 1234
# You can also optionally turn off the secure hostname verification
# by using the verify switch. But default this is set to yes if not
# specified:
verify: no
```

## Disclaimer
## Global Variables

You can also (optionally) set the following global variables to provide the equivalent of what the configuration file could have. If a configuration file is also loaded, it's settings will always prevail. If an entry is missing, then the environment variable is used instead (if it's defined):

This software was created by reverse engineering my own personal security system. All of this code was generated through trial and error since there is no documentation that I could find that explains the registers. If you can help out by filling in some of the blanks throughout the code base, I would be greatly appreciative of it! Alternatively [buying me a coffee](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MHANV39UZNQ5E) greatly inspires me to continue improving the application.
| Global Variable | Description |
| --- | --- |
| **ULTRASYNC_PIN** | Provides the `pin` variable to the library
| **ULTRASYNC_USER** | Provides the `user` variable to the library
| **ULTRASYNC_HOST** | Provides the `host` variable to the library
| **ULTRASYNC_SSL_VERIFY** | Provides the `verify` variable to the library

## Disclaimer

Otherwise, please feel free to file bugs and use this at your sole discretion as I have no control over how your own security system might have been set up. But what has been written here *should* work for all owners.
This software was created by reverse engineering my own personal security system. All of this code was generated through trial and error since there is no documentation that I could find that explains the registers. If you can help out by filling in some of the blanks throughout the code base, I would be greatly appreciative of it! Alternatively [buying me a coffee](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MHANV39UZNQ5E) greatly inspires me to continue improving the application.

0 comments on commit f806f88

Please sign in to comment.