home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.09k stars 30.18k forks source link

Ecowitt Integration - HTTPS requirements non functional #93000

Open JohnMcLear opened 1 year ago

JohnMcLear commented 1 year ago

The problem

Duplicate of https://github.com/garbled1/homeassistant_ecowitt/issues/154

I'm running HA Blue hardware w/ HASS and want to use HTTPS to make Ecowitt plugin (core) work.

Since the plugin went into core HA the TLS/SSL was dropped and the requirement is to use NGINX to reverse proxy HTTPS > HTTP.

Before I had port 4199 > 4199 forwarded(at the router) to the HA Blue box and it was working fine (using custom plugin). I modified the new path to match the path specified by the plugin at time of installation/configuration and I have no data coming through and no errors in the logs.

Given that I expose https for core without a plugin what are my options here?

Related to https://github.com/garbled1/homeassistant_ecowitt/issues/149 but I wanted to create a new issue to remove the noise

What version of Home Assistant Core has the issue?

core-2023.5.2

What was the last working version of Home Assistant Core?

n/a

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Ecowitt

Link to integration documentation on our website

https://www.home-assistant.io/integrations/ecowitt/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

adynis commented 4 months ago

@jimangel : Please share the replacement info ! :)

Momro commented 4 months ago

Yes, please do so

mikejmeier commented 4 months ago

Just bought some Ecowitt devices (Gateway GW2000B) and discovered they do not support TLS/SSL. I've been using the Nginx Proxy Manager from the default Add on store forever to manage my SSL certificates and proxy traffic for other services and devices on my network. I did not have a HTTP proxy set up so I did the following to get it to work

1) Set a static IP address on the gateway device, I chose to do this through my router but can be set on the device itself. 2) In Nginx Proxy Manager, go to Access lists and add a new one. Call it Ecowitt, go to Access tab, and put in the static IP with a /32 subnet mask. Hit save. 3) in Nginx Proxy Manager, go to Proxy hosts and Add Proxy Host. Domain name will be the IP address of your home assistant, assuming HA is already using SSL: Scheme will be https, forward hostname/IP will be the HA IP address again, and Forward port will be 8123 (assuming you didn't change ports in HA). Select Cache assets and Websockets support. From the Access list drop down, choose Ecowitt. Leave all other tabs untouched. Save. 4) In your ecowitt gateway, for the hostname/IP, use the HA IP, use the path the Ecowitt integration gave you to use, and use port 80. Leave the reporting interval at 60 seconds. Save.

You should then notice your HA Ecowitt integration come alive within a minute or two and start displaying any of the devices you have connected to the gateway. I tested that attempting to navigate to the HA IP address from my browser gave me a 403 Forbidden error, so the access list appears to be working.

I would also like to give a +1 to finding a better way to address this.

Coder84619 commented 4 months ago

@mikejmeier earlier in this thread I linked to a blog post I wrote that is much easier. It uses a third party (not mine) Ecowitt proxy add-on that is dead easy to setup.

richardsg307 commented 3 months ago

I'm running HA as a generic x86-64 system with Duckdns and https. I just bought the Wittboy system which i've got working on my phone and now find it won't connect to the Ecowitt integration because of the http vs https issue. I don't understand any of the above. Can someone tell me how to solve the connection problem in a simple way?

Momro commented 3 months ago

Install this:

https://github.com/ChrisRomp/addon-ecowitt-proxy

It contains 100% detailed description.

You need HACS for this. You will find all information on Google how to do that

richardsg307 commented 3 months ago

I've installed it manually (ie not the Add Add-on button as that didn't work for me), added the Webhook ID (/api/webhook/ce2e..........................7fb1) and default port (8081) to the Configuration options. I'm still not getting any entities. On checking the log, i can see something is being received every minute (the Upload interval) but I get the error message

2024-07-05 21:37:42 ERROR    HA API Error: 404: Not Found
2024-07-05 21:37:42 INFO     192.168.x.y - - [05/Jul/2024 21:37:42] "POST /log/ha HTTP/1.1" 200 -

The IP is definitely that of the Ecowitt hub. In the phone ap I have the settings 192.168.x.z for HA, i've tried both /log/ha and log/ha in Path (the /log/ha bit of the error message doesn't change!) and 8081 for the port. I have HACS installed already, but can't see how I've used it for this! Any more help appreciated.

ChrisRomp commented 3 months ago

@richardsg307 In the API key field, just put in the api key not the /api/webhook/ part. Just the ce2e...7fb1 part.

ChrisRomp commented 3 months ago

@Momro BTW it doesn't require HACS; it's using the HA add-on model. https://www.home-assistant.io/addons/

richardsg307 commented 3 months ago

@richardsg307 In the API key field, just put in the api key not the /api/webhook/ part. Just the ce2e...7fb1 part.

That did it. Thank you so much.

ChrisRomp commented 3 months ago

I've finally gotten around to updating the add-in to do some validation on that field, so hopefully that doesn't keep happening for folks. :shipit:

mircob85 commented 2 months ago

HI, I have tried several times to configure the add-on but I get this error, even when changing the port. What can I do? Thank you

`----------------------------------------------------------- Add-on: Ecowitt HTTP Proxy An HTTP proxy for Ecowitt weather stations to forward to the Ecowitt integration over HTTPS since Ecowitt does not support HTTPS.

Add-on version: 1.0.1 You are running the latest version of this add-on. System: Home Assistant OS 12.4 (aarch64 / raspberrypi4-64) Home Assistant Core: 2024.5.3 Home Assistant Supervisor: 2024.06.2

Please, share the above information when looking for help or support in, e.g., GitHub, forums or the Discord chat.

s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started [11:55:59] INFO: Using webhook ID **** [11:55:59] INFO: Using port 8082 Address in use Port 8082 is in use by another program. Either identify and stop that program, or start the server with a different port. s6-rc: info: service legacy-services: stopping s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service base-addon-log-level: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service base-addon-log-level successfully stopped s6-rc: info: service base-addon-banner: stopping s6-rc: info: service base-addon-banner successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped`

ChrisRomp commented 2 months ago

Try port 8083, 8084, etc.