ECOWITT Weatherstation integration for Home Assistant

By definition (from Wikipedia):

A gust or wind gust is a brief increase in the speed of the wind, usually less than 20 seconds.

Otherwise look here:

I didn’t ask my question very well. I didn’t mean to ask the definition of a gust, what I really meant was how long does the value of the gust last within the HA sensor. The WS68 sensor might give the largest wind value (gust) since the last 16 second update but home assistant seems to hold onto the largest value for about 120 seconds.

The path of the data:

WS68 --> GW1002 --> ecowitt community integration --> HA sensor wind_gust sensor

Somewhere along the way the wind_gust in HA seems to be the largest wind value reported by the sensor in the last 2 minutes (this is me guessing based on historical sensor data from this sensor).

It depends how you set your Ecowitt reporting interval. HA just displays the gust value from the unit what was sent. (It might be 120 seconds what you set on your unit.)

I bought Froggit WH4000SE weather station (European label for Ecowitt), installed Ecowitt plugin via HACS and added Ecowitt integration as well. I got lots of sensors that started to work right away. I have chosen metric instead of imperial, so some of the sensors changed soon to “unavailable” (for example wind speed miles per hour, while kilometers per hour was still available), so I just removed those.

BUT my question is, I would like to have wind speed in meters per second instead of kilometers per hour. I know I chose that option from my weather station settings, and the indoors control panel shows it right, but is it the integration itself that is missing meters per second for wind (or, lux value for light)? Or is there some way I can just convert those sensor values on the fly?

All right, I just solved this by creating another sensor that I will be using instead of Ecowitt’s one (sensor.wind_speed_2). That will do the calculation:

    wind_speed:
      unit_of_measurement: m/s
      friendly_name: "Speed of wind"
      icon_template: mdi:weather-windy
      value_template: >
        {{ (states('sensor.wind_speed_2')|float * 0.277777778)|round(1) }}

So, then I’ll just display wind_speed sensor in UI and now I have wind speed in meters per second instead of kilometers per hour :slight_smile:

1 Like

I bought a GW1000 Gateway and managed to get it set up (figuring out their app was much trickier than it should have been). I did NOT buy any extra sensors (yet). The GW1000 comes with a pre-wired temp/humidity/pressure sensor. I’m able to see data from this on the WS View app on my phone.

I followed the setup instructions for the Ecowitt Weatherstation integration and everything went smoothly. However, the integration didn’t set up any devices and thus I’m not seeing any data. I’m wondering if this is because I don’t have any other sensors besides the built-in ones, or if there is something wrong.

Any ideas?

EDIT: I forgot to mention, there are no errors in the logs

When you loaded the integration how did you load it?
Did you load HACS and then load it from there?
Did you restart HA after you loaded HACS & Ecowitt?
If you did and followed the instructions you should see this in your integrations list
image
Note there is only 1 device and 44 entities.

Hi, @rontaylor, thanks for the quick reply.

I downloaded from HACS and loaded it from there. I did several restarts afterwards. Here’s what I see:

Screen Shot 01-09-21 at 08.28 PM

Perhaps I need to uninstall and reinstall…

I would check that your Ecowitt GW1000 has been configured correctly. I am using a HP2551 Display so I was able to configure the third upload for HACS on the display. Much easier than WSView in my opinion.

What are you running you HA on? RPI,? NUC? PC?

Make sure there are no Firewalls
Other than that ???

Yes, this is a bit strange. I uninstalled from Integrations, then uninstalled from HACS. Restarted. Then reinstalled from HACS and restarted. Then reinstalled from Integrations and restarted again. Still not showing any devices/entities.

I’ll double-check that things are set up correctly in WSView. I’m running Home Assistant on a LINUX PC. I’ve installed numerous other things from HACS without difficultly.

I don’t think there is any firewall, but I’ll run netstat and at least verify that there is traffic on port 4199. That will also confirm that the GW1000 has been set up correctly, I guess.

I am running Ecowitt on a NUC which is running Ubuntu 20.04 so I am in the Linux environment. Strange

I ran this command

sudo lsof -i -P -n | grep LISTEN

and got  (see last 2 lines)

systemd-r     918 systemd-resolve   13u  IPv4  33816      0t0  TCP 127.0.0.53:53 (LISTEN)
sshd         1121            root    3u  IPv4  39734      0t0  TCP *:22 (LISTEN)
sshd         1121            root    4u  IPv6  39736      0t0  TCP *:22 (LISTEN)
teamviewe    1146            root   11u  IPv4  38237      0t0  TCP 127.0.0.1:5941 (LISTEN)
docker-pr    1690            root    4u  IPv6  44471      0t0  TCP *:9000 (LISTEN)
docker-pr    1691            root    4u  IPv6  43531      0t0  TCP *:4357 (LISTEN)
smbd         5640            root   26u  IPv6  68790      0t0  TCP *:445 (LISTEN)
smbd         5640            root   27u  IPv6  68791      0t0  TCP *:139 (LISTEN)
smbd         5640            root   28u  IPv4  68792      0t0  TCP *:445 (LISTEN)
smbd         5640            root   29u  IPv4  68793      0t0  TCP *:139 (LISTEN)
cupsd      929757            root    6u  IPv6 323162      0t0  TCP [::1]:631 (LISTEN)
cupsd      929757            root    7u  IPv4 323163      0t0  TCP 127.0.0.1:631 (LISTEN)
python3   1772860            root   10u  IPv6 457123      0t0  TCP *:8123 (LISTEN)
python3   1772860            root   11u  IPv4 457124      0t0  TCP *:8123 (LISTEN)
python3   1772860            root   32u  IPv4 457175      0t0  TCP 127.0.0.1:38199 (LISTEN)
python3   1772860            root   43u  IPv4 457188      0t0  TCP *:4199 (LISTEN)
python3   1772860            root   44u  IPv6 457189      0t0  TCP *:4199 (LISTEN)

How did you get on?

Hi, @rontaylor,

Sorry for a few days’ delay in getting back on this issue. Family stuff and then trying to do some troubleshooting before writing back. Here’s where I am at on this.

  1. First, I ran nmap localhost -p 4199 to make sure that port 4199 was open on the machine. It is:
    Screen Shot 01-14-21 at 04.28 PM

  2. verified that the port is open for listening by netstat -tulpm | grep LISTEN:

So, I think I can conclude that the port is open and being listened-to. However the Ecowitt integration is still not setting up a device nor entities.

I have set up another server and I’m going to run wireshark on it and point my WS-1000 to this server to verify that it is for sure sending packets. I can ping the WS1000 and it responds, and I can see it sending out UDP packets every 2 seconds. Also, it is able to update the Ecowitt server. So, I know that it is connected to the network correctly. Still, I would like to verify that it is sending data to a custom server.

Assuming that the WS-1000 is working as expected, then I am really lost as to why the data appears not to be making it to the Ecowitt Integration in HA.

That is really weird.
The only thing that I can think of and it’s caught me before is a typo in the IP address on the WS1000.
I chased a similar issue once on another device and when I finally found it it was a comma instead of a full stop in an IP4 ip address. Silly, you would think the input checking would have caught it but …

Anyway it’s worth a look.

Tonight I set up another Rpi running tcpdump, listening on port 4199. I went to the WS View APP and set the “custom” server to point to this new RPI, and I am receiving POST messages every 16 seconds (which matches the config in WS View) from the correct IP address for the WS1000. So, I conclude that the WS1000 is sending messages correctly.

I guess this means that there is some issue with the messages getting from my Home Assistant external port to the Integration. I’m going to have to think about this a bit. But at least the problem doesn’t appear to be with WS View/WS1000.

And as a further test, I SSH’ed into Home Assistant and ran a small web server with:
python3 -m http.server 4199

And no traffic is coming through. So, it seems that somehow the packets from the WS1000 are not getting to the correct docker container for Home Assistant. I need to do some more research to try to figure this out…

Now this is a real grasp at straws but in order to get my ZWave USB stick to work I had to make root and my HA user a member of the dialout group. This is some hangup from days of old.

When I was building mine @Harry13 sent me this

Running the deCONZ Container

Pre-requisite

Before running the command that creates the deconz Docker container, you may need to add your Linux user to the dialout group, which allows the user access to serial devices (i.e. Conbee/Conbee II/RaspBee):

sudo usermod -a -G dialout $USER

Worth a try

Thanks for this idea. I’ve decided to delay troubleshooting on this for now. The reason is that I’ve been running Home Assistant in an “unsupported installation.” It was supported in 2017 when I first installed it, but since last year it has been “unsupported.” Anyway, I’ve been thinking about upgrading to a new NUC to run HA. Yesterday a Security Bulletin was issued which strongly recommends upgrading to the new Core, but I can’t do this because my system is unsupported. So, bottom line is I finally ordered a new NUC and will install HassOS instead of running in Linux. My suspicion is that once I’m running in this environment the Ecowitt integration will work (since it seems to have worked for everyone else). I’ll report back if this is not the case!

Unsupported installation…
This is an interesting "statement.
I am running mine on a NUC-i3 with UBUNTU 20.04 which is an unsupported installation according to the supervisor panel and mine works but I think you are probably going down the right path.
image
If mine fails then I will have to do a rebuild but that’s a lot of work.

I upgraded to new core 2021.1.3 this morning

Right. For me, it won’t let me update the Core. I thought it was because I was “unsupported” but maybe it is because I am “unhealthy” as well:

Screen Shot 01-15-21 at 04.52 PM

It seems that I am unhealthy because my Supervisor is not privileged. I tried to run the convenience script to reinstall upgrade the Supervisor and some of the dependencies failed to load correctly.

At that point (into the wee hours of the morning) I decided that this was all too much work to try to band-aid a system that clearly has some installation issues going back many years. The solution is to do a fresh install, but I’m running on an ancient (ca 2008) laptop with a hard drive of unknown provenance. This was fine when HA was something I was just “playing around with”, but at this point it’s really become a valuable asset to our home and worthy of some additional investment.

So, I ordered a new NUC i5 with a 512 GB hard SSD drive and 16 GB of RAM. I’m going to dedicate this unit just to HA, so I plan to install HassOS to hopefully provide a more resilient solution in the future. Hopefully it will work for many years to come.

We’ll see…

Glad to know from you that the NUC works well. I’m looking forward to getting mine.