[RE-RELEASE] EcoWitt and Wittboy Weather Stations And Sensors (Local)

I'm not sure exactly what you're doing; however, if you are trying to add more sensors than a single ecowitt gateway will support, then the only way to do it is to add another gateway that uses a different frequency with additional sensors that use that alternate frequency.

For example, the ecowitt gateway supports 8 soil moisture sensors. If you need more than 8 soil moisture sensors, then add a gateway meant for a different region (eg. Europe or Asia), and add sensors meant for that region as well.

I have large area to cover. I cannot hit all the sensors with just one gateway so I need to add another one. Is that possible? The gateway sees the sensors but Hubitat can only see the one Gateway. Hubitat can see it but it is in Pending sync status

Yes it will be possible. The data-feed from each Gateway will have a different MAC address tied to the HTTP call to HE, which HE uses to identify which device to send the data to using the Device Network Identifier (from memory...).

I'll need to lookup the meaning behind the sync pending, but I expect it is that no data has been received by the HE device, which could be one of a couple of things:

  • The data feed from the gateway is either not configured, not configured with the correct settings, or just hasn't happened yet. If you have it set to every 10 minutes, say, then it may just be that time hasn't come for the data to be sent.
  • The HE device has not been configured correctly to allow it to receive the data
  • There is some kind of communication issue between the two hubs (less likely, but not impossible)

Check the custom data feed configuration for the second Gateway through the WS View App on your mobile / tablet and make sure the HE IP address and other settings are correct. Note the frequency of the feed and make sure you allow this amount of time to pass in order to be sure it will have at least attempted to send the data.

Check the "Current Logs" on HE to see if you have any system logs indicating a message was received that could not be parsed, that would indicate issue #2 above. If this is the case check the configuration of the Gateway, referring to the setup steps on the Readme in the Git Repository.

If you don't see any of these system logs but see any other errors in the logs relating to EcoWitt, post them here or in a PM and I can take a look.

If none of this helps, then we may need to dig a little deeper.

1 Like

I got a promotional email recently for WittFlow, EcoWitt's water flow device. Looks interesting... Not really something I need at the moment, but nice to see the range is being expanded and starting to automate things using the collection of devices they are starting provide.

They also mentioned in the email they are planning to release a smart switch.

2 Likes

@sburke781 @aaiyar I also need to add an additional gateway if possible, to cover a large property with multiple buildings. I'm confused by your two answers in this thread, which seem to me to conflict. I get that each gateway has a unique ID that a HE device can discern, so that seems easy enough to manage. But @aaiyar seems to suggest (as I interpret it) that a second gateway designed for the same region (e.g., US, on same frequency as the original gateway) cannot be aded, presumably because at least some sensors might see both gateways and that would cause problems. Can either or both of you shed light on this? I can likely live with a limit of 8 total sensors for the property (although a few more would be great) but I definitely need a second gateway, which could connect to a different HE hub than the first gateway. Thanks!

The Gateways communicate over 2.4G back to your router, and this is the same wherever you are in the world. The frequency @aaiyar was referring to is the frequency that is used by the sensors to communicate back to the Gateway, this differs between regions, in much the same way that Z-Wave has different frequencies between regions.

@marktheknife also posted a very brief comment on this earlier in a separate conversation, explaining that sensors simply broadcast their readings and the Gateway receives it.

This is then limited to X sensors on each channel (sensor types). So if you had two Gateways that were for the same region, both would receive the readings, but would only be able to pair up to X sensors. From what @marktheknife and @aaiyar have explained, you would need a Gateway that operates on a different frequency and sensors to match that second frequency.

I haven't researched this myself, but this is what they were describing.

EDIT - See my post below linking to an EcoWitt forum post explaining some options / considerations for those wanting to run multiple Gateways / sensors that use the same frequency.

My post was putting that part of the situation to one side and commenting on the ability for two Gateways to still communicate with HE at the same time, a separate consideration to the issue of Gateway / sensor frequencies and sensor limits.

1 Like

Let’s say you have two gateways, A and B, and you have two groups of sensors, also A and B.

If the gateways and sensors use the same frequency, then it’s possible you’ll have one (or more) sensors in group A that reach gateway B. And vice versa.

This is a problem if you want to max out the number of sensors for each gateway, but maintain a strict gateway A/sensor group A and gateway B/sensor group B distinction.

If you’re certain that none of the group A sensors can reach gateway B (and vice versa), then you wouldn’t run into this issue, and you could use all the same frequency devices.

The alternative is to use one gateway and group of sensors on 915MHz, and another gateway/sensor group on 433 MHz. That also solves the potential issue off crosstalk between two gateways and two sensor groups.

3 Likes

Sorry, wrong finger emoji, hard to see on the phone. I'll just say that @marktheknife explained it perfectly :slightly_smiling_face:

2 Likes

I have two gateways set up with the same regional frequency (Asia) and both connected to Hubitat. I have 8 soil moisture sensors on each Gateway and it works fine. Bit tricky pairing additional sensors but I found if I manually entered the sensor ID (ie. the hex code on the sticker attached to each physical device) when placed in pairing mode it would pick up the intended new sensor just fine. If I left the Gateway to identify the new sensor itself it would inevitably pick up an existing paired sensor from the other Gateway and I would therefore end up with a duplicate sensor paired to both gateways.

5 Likes

Hmm... That is interesting...

I have a Gateway for the front yard and another Gateway for the back yard (8 sensors paired with each Gateway). The sensors from the front yard can ‘see’ the back yard Gateway and vise versa. However I have no duplicate sensor’s between the front and back yard gateways. I didn’t have to force any RE sync of the sensors in the Hubitat driver. As I added additional unique sensors to each gateway they automatically appeared as new child device sensors sensors.

All good. Put on my glasses and the B in the MAC I thought was an 8. Dohhhh

1 Like

Glad you got it working now.

I found this conversation on the EcoWitt forum and while they also talk about it being technically possible, there may be some things to be aware of around battery changes in sensors and Gateway reboots.

Thanks Simon for the heads-up on the potential problem. I am using the GW1100 gateways and coincidentally just changed batteries in all my soil moisture sensors this week after running them for 18 months. The sensors seems to retain their unique ID fine which happens to match the ID physically printed on each device so I don’t think the ID is dynamically allocated as that forum suggests.
BTW, thanks for the excellent work and continued efforts in maintaining this Ecowitt integration. I rely on it heaps for conveniently maintaining a healthy garden and the integration has proven rock solid.

3 Likes

Thanks, everyone! Given all this info, I ordered an additional 1100 gateway. The biggest problem is that I have one sensor in the basement of another building that has trouble staying connected to the gateway. I can always have that gateway connect to the HE hub in that building, and tie things together with hub mesh. Will keep you posted!

1 Like

Thanks for taking the plunge @Madcodger (and others who have done this previously) . I am thinking I will setup an FAQ / How-To for some of the processes people are likely to face after having an existing EcoWitt.

3 Likes

I'm already using the 1100's custom weather service feature to drive one tablet with a weather display... I'd have to undo that to get the data into the Hubitat. (Or, set up multicast, I guess.)

But the 1100 just gives you all the current weather data if you ask, as a JSON file. Is there any way to poll this data with a Hubitat driver instead of listening for a push from the 1100?

http://192.168.1.27/get_livedata_info?

{
  "common_list": [
    {
      "id": "0x02",
      "val": "64.4",
      "unit": "F"
    },
    {
      "id": "0x07",
      "val": "63%"
    },
    {
      "id": "3",
      "val": "64.4",
      "unit": "F"
    },
    {
      "id": "0x05",
      "val": "66.2",
      "unit": "F"
    },
    {
      "id": "0x03",
      "val": "51.6",
      "unit": "F",
      "battery": "0"
    },
    {
      "id": "0x04",
      "val": "64.4",
      "unit": "F"
    },
    {
      "id": "0x0B",
      "val": "0.00 mph"
    },
    {
      "id": "0x0C",
      "val": "0.00 mph"
    },
    {
      "id": "0x19",
      "val": "13.87 mph"
    },
    {
      "id": "0x15",
      "val": "0.00 W/m2"
    },
    {
      "id": "0x17",
      "val": "0"
    },
    {
      "id": "0x0A",
      "val": "341",
      "battery": "5"
    }
  ],
  "rain": [
    {
      "id": "0x0D",
      "val": "0.00 in"
    },
    {
      "id": "0x0E",
      "val": "0.00 in/Hr"
    },
    {
      "id": "0x10",
      "val": "0.00 in"
    },
    {
      "id": "0x11",
      "val": "0.30 in"
    },
    {
      "id": "0x12",
      "val": "0.32 in"
    },
    {
      "id": "0x13",
      "val": "19.39 in",
      "battery": "0"
    }
  ],
  "wh25": [
    {
      "intemp": "74.7",
      "unit": "F",
      "inhumi": "48%",
      "abs": "1010.3 hPa",
      "rel": "1019.9 hPa"
    }
  ],
  "lightning": [
    {
      "distance": "8.7 mi",
      "timestamp": "06/19/2023 08:53:37",
      "count": "0",
      "battery": "4"
    }
  ],
  "co2": [
    {
      "temp": "73.2",
      "unit": "F",
      "humidity": "55%",
      "PM25": "2.7",
      "PM25_RealAQI": "11",
      "PM25_24HAQI": "7",
      "PM10": "3.6",
      "PM10_RealAQI": "3",
      "PM10_24HAQI": "2",
      "CO2": "557",
      "CO2_24H": "717",
      "battery": "6"
    }
  ],
  "ch_pm25": [
    {
      "channel": "1",
      "PM25": "3.0",
      "PM25_RealAQI": "13",
      "PM25_24HAQI": "11",
      "battery": "1"
    }
  ],
  "ch_aisle": [
    {
      "channel": "1",
      "name": "Garage (1)",
      "battery": "0",
      "temp": "81.0",
      "unit": "F",
      "humidity": "38%"
    },
    {
      "channel": "2",
      "name": "Attic (2)",
      "battery": "0",
      "temp": "77.9",
      "unit": "F",
      "humidity": "33%"
    },
    {
      "channel": "3",
      "name": "Game Room (3)",
      "battery": "0",
      "temp": "76.5",
      "unit": "F",
      "humidity": "45%"
    },
    {
      "channel": "4",
      "name": "Fridge (4)",
      "battery": "0",
      "temp": "34.2",
      "unit": "F",
      "humidity": "35%"
    },
    {
      "channel": "5",
      "name": "Freezer (5)",
      "battery": "0",
      "temp": "0.0",
      "unit": "F",
      "humidity": "69%"
    },
    {
      "channel": "6",
      "name": "Gar. Fridge (6)",
      "battery": "0",
      "temp": "41.9",
      "unit": "F",
      "humidity": "7%"
    },
    {
      "channel": "7",
      "name": "Gar. Freeze (7)",
      "battery": "0",
      "temp": "-11.7",
      "unit": "F",
      "humidity": "52%"
    },
    {
      "channel": "8",
      "name": "Deep Freeze (8)",
      "battery": "0",
      "temp": "-6.5",
      "unit": "F",
      "humidity": "62%"
    }
  ],
  "ch_soil": [
    {
      "channel": "1",
      "name": "Raised Bed (1)",
      "battery": "0",
      "humidity": "31%"
    },
    {
      "channel": "2",
      "name": "Bay Laurel (2)",
      "battery": "0",
      "humidity": "33%"
    },
    {
      "channel": "3",
      "name": "Flytrap Pot (3)",
      "battery": "0",
      "humidity": "48%"
    },
    {
      "channel": "4",
      "name": "Clematis (4)",
      "battery": "0",
      "humidity": "42%"
    }
  ],
  "ch_temp": [
    {
      "channel": "1",
      "name": "Aquarium (P1)",
      "temp": "79.9",
      "unit": "F",
      "battery": "3"
    }
  ],
  "ch_leaf": [
    {
      "channel": "1",
      "name": "Leaf (1)",
      "humidity": "8%",
      "battery": "4"
    }
  ]
}

Sorry for being a little slow to respond @Horseflesh , well at least for me... :slight_smile:

Interesting that you ask this... A while ago I played around with the EcoWitt integration in HA and had the same issue. I was only playing so temporarily switched the feed from HE to HA, then once I saw it worked, switched it back to HE.

Afterwards I did think it would be nice to have more than one destination for the data, which I don't believe is possible from the gateway, aside from the other destination types such as WeatherUnderground.

I didn't know about the polling option, that's good to know. I may take a look at it at some point. But my preference is the ability to have the data pushed from EcoWitt, for a couple of reasons... But mainly due to the options I prefer below.

The two main options that I have had bouncing around in my head would be:

  • When the data is received / parsed by the HE driver, send it on as-is to another designated destination, so a simple HTTP POST (?) to send the data on based on a configuration URL + Port. This is likely to be the quickest and easiest to setup, and probably what I would try first.
  • Setup a Node RED solution to do something similar to above, receive the data and send it on to a list of destinations, including HE. This would be more of a platform agnostic option, though would require an NR instance, which may not be something everyone would entertain.

I'd be interested in peoples thoughts. Of course there are likely about 10 other options in terms of setting a proxy like this... But I think the two options above should be relatively easy to setup and support.

There is an existing proxy project that I think does what you describe in your first bullet... But IMHO it would be much nicer to have this ability in your Hubitat driver than needing to set up another device.

https://wiki.loxberry.de/plugins/foshkplugin/foshkplugin_generic_version

1 Like