Re: Ecowitt GW-1000 suggestion
Posted: Tue 10 Mar 2020 9:59 am
Yesterday I seached in CumulusMX and tested some modification in order to copy chosen external sensor data into main channel. No interface, only cumulus.ini modification
In GW1000Station.cs
In Cumulus.cs
Numbers are line numbers in code just to reach easily the right place.
On first launch nothing happens, just close CumulusMX and you will find the new key in cumulus.ini
MainChannel=0
Just change the zero with other channel. No check for channel >8 (or negative) but simply they will not work. Maybe negative will raise an error.
In GW1000Station.cs
Code: Select all
case 0x1A: //Temperature 1(?)
case 0x1B: //Temperature 2(?)
case 0x1C: //Temperature 3(?)
case 0x1D: //Temperature 4(?)
case 0x1E: //Temperature 5(?)
case 0x1F: //Temperature 6(?)
case 0x20: //Temperature 7(?)
case 0x21: //Temperature 8(?)
chan = data[idx - 1] - 0x1A + 1;
tempInt16 = ConvertBigEndianInt16(data, idx);
DoExtraTemp(ConvertTempCToUser(tempInt16 / 10.0), chan);
if (chan == cumulus.Gw1000MainChannel) {
DoOutdoorTemp(ConvertTempCToUser(tempInt16 / 10.0), dateTime); //zoomx
}
idx += 2;
break;
case 0x22: //Humidity 1, 0-100%
case 0x23: //Humidity 2, 0-100%
case 0x24: //Humidity 3, 0-100%
case 0x25: //Humidity 4, 0-100%
case 0x26: //Humidity 5, 0-100%
case 0x27: //Humidity 6, 0-100%
case 0x28: //Humidity 7, 0-100%
case 0x29: //Humidity 9, 0-100%
chan = data[idx - 1] - 0x22 + 1;
DoExtraHum(data[idx], chan);
if (chan == cumulus.Gw1000MainChannel) {
DoOutdoorHumidity(data[idx], dateTime); //zoomx
}
idx += 1;
break;
Code: Select all
3210
// GW1000 setiings
Gw1000IpAddress = ini.GetValue("GW1000", "IPAddress", "0.0.0.0");
Gw1000AutoUpdateIpAddress = ini.GetValue("GW1000", "AutoUpdateIpAddress", true);
Gw1000MainChannel = (byte)ini.GetValue("GW1000", "MainChannel", 0);
3775
// GW1000 settings
ini.SetValue("GW1000", "IPAddress", Gw1000IpAddress);
ini.SetValue("GW1000", "AutoUpdateIpAddress", Gw1000AutoUpdateIpAddress);
ini.SetValue("GW1000", "MainChannel", Gw1000MainChannel);
4849
public string Gw1000IpAddress;
public bool Gw1000AutoUpdateIpAddress = true;
public byte Gw1000MainChannel = 3On first launch nothing happens, just close CumulusMX and you will find the new key in cumulus.ini
MainChannel=0
Just change the zero with other channel. No check for channel >8 (or negative) but simply they will not work. Maybe negative will raise an error.