ECOWITT Weatherstation integration for Home Assistant

Das ist ausreichend. Mehr ist nicht nötig. Es kommt nur darauf an, dass ein / am Ende steht.
Gruß

That’s enough. Nothing more is needed. It only matters that there is a / at the end.
greeting

OK, so I was caught out with the whole issue of ECOWITT not supporting HTTPS and using DuckDNS / SSH on the HA side. I installed NGINX and got ECOWITT to work but that broke my Alexa integration (I’m not using Nabu Casa) so by now I’m getting somewhat frustrated, so I said screw this and hacked together a " http forwarder" for Node-Red which appears to work just fine for what I need and might simplify things for others.

Import the flow attached below. (it’s not pretty, but it works)
Set the TCP port to whatever you want it to listen to (avoid the common 80, 443, etc.)
Add your path to HA-Integration (the webhook) in the HTTP request.
Set your EcoWitt device path to / and your port to whatever you set the TCP port to.

I cant say if this works for all devices, but it works for my GW Wireless gateways and moisture sensors.

[{"id":"3a6f175d89e51c30","type":"http request","z":"e590c7563594faae","name":"","method":"POST","ret":"txt","paytoqs":"ignore","url":"https://yourdomain:8123/api/webhook/youraddressfromintegration","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"credentials":{},"x":1390,"y":400,"wires":[["bd4dd6c3cb3d351c"]]},{"id":"354c19eb9e151dd8","type":"tcp in","z":"e590c7563594faae","name":"","server":"server","host":"","port":"34905","datamode":"stream","datatype":"buffer","newline":"","topic":"","trim":false,"base64":false,"tls":"","x":800,"y":280,"wires":[["b7a1d03cf83d91a5","afbfe30aca0ba765"]]},{"id":"b7a1d03cf83d91a5","type":"debug","z":"e590c7563594faae","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1070,"y":240,"wires":[]},{"id":"bd4dd6c3cb3d351c","type":"debug","z":"e590c7563594faae","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1610,"y":400,"wires":[]},{"id":"afbfe30aca0ba765","type":"function","z":"e590c7563594faae","name":"function 1","func":"const newMSG={};\n\nconst paragraph = msg.payload.toString()\nconst regex = /PASSKEY+\\S*/g;\nconst found = paragraph.match(regex);\n\nnewMSG.payload = found[0];\n\n\nnewMSG.headers = {};\nnewMSG.headers['Connection'] = 'Close';\nnewMSG.headers['Content-Type'] = 'application/x-www-form-urlencoded';\nnewMSG.headers['Content-Length'] = found[0].length.toString();\nreturn newMSG;\n\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1000,"y":320,"wires":[["3a6f175d89e51c30","6be099706297585d"]]},{"id":"6be099706297585d","type":"debug","z":"e590c7563594faae","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1230,"y":300,"wires":[]}]

I have the EcoWitt wittboy WS90 installed working fine with ithe Ecowitt ntergration of HA

I noticed 2 times now after a HA update the rain values get unavailable.
restart, reload nothing seems to help.
When I delete the integration and install it again all values are correct again.

More people have this problem of solution?

1 Like

I would suggest to submit a bug report (Issue) on GitHub. Might be some problem with the logic.

How can i add leaf wet sensor to homeassistant?

2023-06-25 17:28:12.221 WARNING (MainThread) [custom_components.ecowitt] Unhandled sensor type leafwetness_ch1
2023-06-25 17:28:12.224 WARNING (MainThread) [custom_components.ecowitt] Unhandled sensor type leaf_batt1

Hi everyone.
I figured out how to retain HTTPS browser access using DuckDNS with Let’s Encrypt support as well as simultaneously allow HTTP access for the native ecowitt integration to recieve HTTP webhook data from my ecowitt gateway.

Ive written a lengthy guide of how I solved it here.

Hope this helps someone else.

1 Like

Hi Weather Geeks! I’ve been trying for two days now to get this integration to work. However, I am getting this error:

Logger: homeassistant.config_entries
Source: config_entries.py:874
First occurred: 10:08:00 AM (1 occurrences)
Last logged: 10:08:00 AM

Error occurred loading flow for integration ecowitt: cannot import name ‘async_get_registry’ from ‘homeassistant.helpers.entity_registry’ (/usr/src/homeassistant/homeassistant/helpers/entity_registry.py)

I am by no means a pro. Just a hobbiest learning my way through this. Can anyone point me in the right direction?

Edit: Forgot to mention, i tried removing the integration and reinstalling it but it will not remove itself or load the integration.

image

This error happens when i try to reload it:

image

Are you trying to load the native Ecowitt integration or the HACS one? I’ve moved to the native one now and it is working fine.

3 Likes

Hey @mostlychris thanks for the reply. I originally tried the HACS version, couldn’t get my devices to appear so I have the native version a try. However, now I cannot get the native nor the HACS version to uninstall/restart.

Which integration is now best to use with GS2001/WS90 to get all sensors?
I see there is official one in HA, HACS one (not updated for long time) and some HACS forks which added GS2001/WS90 support.

So which one is future proof ? :smiley:

I recently purchased the Ecowitt Wittboy and used the official integration with no issues. Installed integration in HA and set up a custom server in the WS90 interface to point to my HA install. All sensors showed up immediately and I’ve added some of the additional temp/hydro sensors which have also been detected and worked flawlessly.

4 Likes

Cool. Can you drop discovered sensors screen from integration?
Also if possible share code for your view - looks nice

1 Like

Sure thing and sorry for the multiple images but the amount of sensors makes it hard to grab a single screenshot unless I zoom way out which affects readability.


Screen Shot 2023-07-10 at 9.11.11 AM

Subview yaml (it was too large to post here directly):

6 Likes

Very nice!

1 Like

@afxefx You might want to take a look at this screenshot Chrome extension: https://gofullpage.com/

It scrolls down the page, take screenshots at full resolution and merges all the screenshots, when it arrives at the bottom…

1 Like

Appreciate that! It did work on my normal views within HA but it still wasn’t able to handle the device page for Ecowitt where the sensors are listed. I assume because the content is within a container div and that extension doesn’t delve far enough into the page to compensate. Regardless, thanks again as I will definitely get some use out of it.

1 Like

Have you resolved this? I’m having the exact same issue.

I do have ssl but I’ve tried adding nginx with no difference.

Did you figure out a way to do this? I’m facing the same issue.

Hi there, I was looking for some quick answers, but after reading this topic I am still not sure.
I have already some devices in my Home Assistant (GW1100A and soil sensors) via the Ecowitt integration.

image

Now I would like to add the watertimer and hub (GW2000).
Because the watertimer does not work without this cloud hub, I need both. Apparentyl the timer does not work without connection with Ecowitt cloud…

But…is this GW2000 hub compatible with the standard Ecowitt integration?
And if I add the watertimer to the hub, will I have this also in HA (to switch the watertimer on/off)?

I’ve seen some posts of @Antonio_di and @nils35 , but those do not answer my question(s).

Can anyone help?

All,

I have just bought the ecowitt weatherstation and noticed they now also sell the “wittflow”. Basically a waterflow meter linked to the ecowitt gateway. Does anybody has experience with this and if/how the integration works? Can I control the waterflow via the gateway with home assistant?

Thanks!