diff --git a/README.md b/README.md index 0ae28f2..cf998ce 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # Integrates your SWS 12500 weather station seamlessly into Home Assistant This integration will listen for data from your station and passes them to respective sensors. It also provides the ability to push data to Windy API. @@ -13,22 +12,24 @@ This integration will listen for data from your station and passes them to respe ## Installation +### If your station's firmware is 1.0 or your station is configured as described in this README and you still can not see any data incoming to Home Assistant please [read here](https://github.com/schizza/SWS-12500-custom-component/issues/17) and [here](firmware_bug.md) + ### HACS installation -For installation with HACS, you have to first add a [custom repository](https://hacs.xyz/docs/faq/custom_repositories/). +For installation with HACS, you have to first add a [custom repository](https://hacs.xyz/docs/faq/custom_repositories/). You will need to enter the URL of this repository when prompted: `https://github.com/schizza/SWS-12500-custom-component`. After adding this repository to HACS: - Go to HACS -> Integrations - Search for the integration `Sencor SWS 12500 Weather station` and download the integration. - Restart Home Assistant -- Now go to `Integrations` and add new integration. Search for `Sencor SWS 12500 Weather station` and select it. +- Now go to `Integrations` and add new integration. Search for `Sencor SWS 12500 Weather station` and select it. ### Manual installation For manual installation you must have an access to your Home Assistant's `/config` folder. -- Clone this repository or download [latest release here](https://github.com/schizza/SWS-12500-custom-component/releases/latest). - +- Clone this repository or download [latest release here](https://github.com/schizza/SWS-12500-custom-component/releases/latest). + - Copy the `custom_components/sws12500-custom-component` folder to your `config/custom_components` folder in Home Assistant. - Restart Home Assistant. - Now go to `Integrations` and add new integration `Sencor SWS 12500 Weather station` @@ -75,4 +76,4 @@ As soon as the integration is added into Home Assistant it will listen for incom - Tick `Enable` checkbox. ![enable windy](README/windy_cfg.png) -- You are done. +- You are done. \ No newline at end of file diff --git a/README/addon_ssh_config.png b/README/addon_ssh_config.png new file mode 100644 index 0000000..34f3d3b Binary files /dev/null and b/README/addon_ssh_config.png differ diff --git a/README/key.mp4 b/README/key.mp4 new file mode 100644 index 0000000..e1491fa Binary files /dev/null and b/README/key.mp4 differ diff --git a/README/script_run.png b/README/script_run.png new file mode 100644 index 0000000..b2941c7 Binary files /dev/null and b/README/script_run.png differ diff --git a/firmware_bug.md b/firmware_bug.md new file mode 100644 index 0000000..e94180e --- /dev/null +++ b/firmware_bug.md @@ -0,0 +1,69 @@ +# :bug: Firmware version 1.0 bug + +In station's `firmware 1.0` is a bug preventing data to be sent to Home Assistant. + +This might be a problem even on firmwares > 1.0. + + +## :thinking: The issue + +Once you have set an URL in station with port as `url:port`, the bug will cause that data will not be sent to the Home Station at all. + +![station port](README/station_hint.png) + +If you ommit the `:port`, station will send data to designated port `:80` of your URL. + +## :adhesive_bandage: Workaround + +[!TIP] +There is a solution to this! :bulb: + +You have to redirect incoming data on `port 80` from station's IP address to `port 8123` or what ever port your instance of Home Assistant is running. To achive this, you have to run `iptables` to redirect ports. + +Eg. `192.168.1.2.:any (station) -> 192.168:1.1:80 ---> 192.168.1.1:8123 (HA)` + +So I provide a script that will handle this bug. But you must run this script every time you restarted Home Assistant, because `iptables` will not remain on reboot. + +Ok, now how to do it? + +### Step one + +Install [`Advanced SSH & Web Terminal`](https://github.com/hassio-addons/addon-ssh/blob/main/ssh/DOCS.md) from add-ons. Yes, it **has to be** `Advanced SSH & Web Terminal` not regular `Terminal & SSH`, as regular `Terminal & SSH` do not have such functions, capabilities and privileges. + +### Step two + +After you have installed `Advanced SSH & Web Terminal` [configure ](https://github.com/hassio-addons/addon-ssh/blob/main/ssh/DOCS.md) it to run on some free port (eg. 23). Make sure you have configured `username` and `authorized_keys`. Please be advised, that this script will not work with `password`. + +![ssh_addon_setup](README/addon_ssh_config.png) + +### Step three + +Open `Web Terminal`. Copy and paste this command: + +``` +bash <(wget -q -O - https://raw.githubusercontent.com/schizza/SWS-12500-custom-component/main/install_iptables.sh) +``` + +This will download and run installation script of this workaround. +Follow the instructions in the script. + +You will be asked for: + + * your station's IP + * Home Assistant IP + * Home Assistatn port + * username in SSH addon (this is one you setup upon installation of the addon) + * SSH port (also one you setup with the addon) + +![ssh_run](README/script_run.png) + +The scritp will set all you need to modify iptables on every Home Assistant start. + +## :warning: Scrip will modify `configuration.yaml` so, please look at it and check that it does not contain any error. + +### Step four + +Script files are stored in your `config/iptables_redirect` directory. +There is also your public key for your SSH server configuration in `ssh` directory. It is important to add public key to your SSH server configuration. + +So you are no all set! :tada: