ECOWITT Weatherstation integration for Home Assistant

No. My HomeAssistant is only available via HTTPS.

https://192.168.1.xxx:8123/ → works (with certificate warning because the SSL is not issued to the internal IP but to the external URL)

http://192.168.1.xxx:8123/ → does not work

Understood.
So far I would say without https support from the ecowitt gateway you seem to be blocked. NGINX Plugin doesnt help.
From my point of view I would say the usual way to do it is setting up HA locally without https (at least I read some comments about that due to incompatibilities of several integrated devices) and if you wanna access it from the outside u can use something NGINX.
I guess you are using the direct HA cloud option and therefore need the HA instance to be https internally.
I am out of options and ideas regarding your problem

I’m not using HA Cloud. I’m using DuckDNS and Let’s Encrypt.
Let me check if there’s a way to have HA with HTTP ONLY on the internal network.

I had the same problem, Ecowitt need to access http locally, I used “NGINX Home Assistant SSL proxy” add-on to have both https and http. You need to also configure your router to port forward 443.
Once you configure it correctly, you can go to your external ssl site without the port https://example.duckdns.org and your internal with the port http://192.168.1.111:8123. Once done you can start with the Ecowitt installation.

1 Like

Hi @randomsnack

My weather station is on my internal network. It should not need any changes on the router to access Home Assistant.

I’m forwarding port 8123 on the router, so my external URL is https://example.duckdns.org:8123 and my internal URL is https://192.168.1.252:8123/ or https://homeassistant.local:8123/ (tho I actually use the external one on the browser even when I’m at home, for the sake of having a valid certificate and bookmarking only one URL).

The problem is that I can’t access HA without HTTPS on the internal network, so Ecowitt fails and that’s what I need to fix. I already set this up o configuration.yaml without success:

That’s why you need to setup a reverse proxy, it will let you access the local network without SSL. Ecowitt will only work with local http.
By default, if you setup duckdns without a reverse proxy, Ecowitt add-on will not work.

2 Likes

So to make it more clear.
If he sets up the reverse proxy correctly he should be able to access his HA by just using http instead of https? (local access only) Am I right.
To get more into details. This can be done by using NGINX or is there a different plugin needed or even something oustside of HA?

Thanks a lot for ur answers

Correct, if he setup the reverse proxy properly, you would not need the port for the https, since the reverse proxy take care of this, and he would also be able to use local http.
You can use the other remote method, I have not tried it. But a reverse proxy is require for Duckdns if you want to access locally without ssl.


  external_url: "https://homeassistant.duckdns.org"
  internal_url: "http://192.168.1.99:8123"

duckdns and reverse proxy

remote access

Awesome summary! Thank you very much.

Hello all

I am running Homme assistant on a virtual machine (synology ). After the official ecowitt integration on port 4199, I cannot manage to have any device / entities showing up.

My Home Assistant is accessible through http, so I should not have to load the nginx addon.

It seems the problem would be that home assistant is not listening through the port 4199, as this is what I get when I run (netstat -pltn) :

I am no geek, have searched quite a lot on how to moove on from here but I can not find my way through it.

Any help would be greatly appreciated !

Ahaha I’m answering to myself after a good night’s rest : I stupidly entered the gw2000 ip adress instead of my HA VM’s adress.
Problem solved

Hello I saw in the ecowit app that there is Solar radiation in LUX.
Could it be possible to have the Solar Radiation in lux instead of W/m^2 ?
it would be very useful for creating automations.

You can do it with a template sensor.

CONVERSION LUX TO W/M2

685 Lux= 1W/m2 or 1 Lux = 0,0079 W/m2

This is for the solar light spectrum.

Source: https://www.domat-int.com/en/conversion-lux-to-w-m2

I am not able to create this template.
I really don’t know how to write it

I used this calculation with 126.7, because this has a better explanation, the 685 is for green light only, according this text.

template:
  - sensor:
      - name: "Illuminance"
        unit_of_measurement: "lx"
        device_class: illuminance
        state: "{{ states('sensor.solar_radiation')|float * 126.7 }}"

It should be something like this. I haven’t tested fully, just in the developer tools.

Thanks, it works great.
however strange that the have not already integrated that value into the component.

Has anyone else had and error after updating home assistant to 2023.5

‘Setup failed for custom integration ecowitt: Unable to import component: cannot import name ‘async_get_registry’ from ‘homeassistant.helpers.entity_registry’ (/usr/src/homeassistant/homeassistant/helpers/entity_registry’

1 Like

Yes, same here.

1 Like

Yep ! Same here

Another one here