Firmware bug README

pull/19/head
schizza 2024-05-01 11:37:09 +00:00
parent 5eeda36f6d
commit f49f77acd9
5 changed files with 76 additions and 6 deletions

View File

@ -1,4 +1,3 @@
# Integrates your SWS 12500 weather station seamlessly into Home Assistant # 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. 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 ## 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 ### 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`. 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: After adding this repository to HACS:
- Go to HACS -> Integrations - Go to HACS -> Integrations
- Search for the integration `Sencor SWS 12500 Weather station` and download the integration. - Search for the integration `Sencor SWS 12500 Weather station` and download the integration.
- Restart Home Assistant - 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 ### Manual installation
For manual installation you must have an access to your Home Assistant's `/config` folder. 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. - Copy the `custom_components/sws12500-custom-component` folder to your `config/custom_components` folder in Home Assistant.
- Restart Home Assistant. - Restart Home Assistant.
- Now go to `Integrations` and add new integration `Sencor SWS 12500 Weather station` - 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. - Tick `Enable` checkbox.
![enable windy](README/windy_cfg.png) ![enable windy](README/windy_cfg.png)
- You are done. - You are done.

BIN
README/addon_ssh_config.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

BIN
README/key.mp4 Normal file

Binary file not shown.

BIN
README/script_run.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

69
firmware_bug.md Normal file
View File

@ -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: