Author Topic: GW1000 Windows 10 Dashboard  (Read 620 times)

0 Members and 1 Guest are viewing this topic.

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
GW1000 Windows 10 Dashboard
« on: April 22, 2021, 11:37:46 AM »
Release Candidate available  in the Windows Store:

https://www.microsoft.com/store/apps/9MWXH1RGGWJB

ms-windows-store://pdp/?productid=9MWXH1RGGWJB

Not sure if I should marketing it as gateway for Ambient Weather stations or or not.
I'm still a bit confuse by how ecowitt/ambient weather fineOffset works around each other.


----------------------------------------

I Started the developing of the GW1000 dashboard application for Windows 10 (Windows Store).
I'm not 100% sure which sensors/values to show/use.
Any suggestions is welcome.
How the rain stats are supposed to be collected? the GW1000 don't have any memory.

I'll start with what I know and get from my own needs (GW1000 + AW2902B).
The 1st version should be on the store before the end of April if anybody will like to start beta testing it. 

« Last Edit: May 07, 2021, 06:11:21 PM by cheeroip »

Offline kd7eir

  • Contributor
  • ***
  • Posts: 128
    • KD7EIR Weather
Re: GW1000 Windows 10 Dashboard
« Reply #1 on: May 05, 2021, 02:25:07 PM »
Have you released this yet? I cannot find it on the Windows store.
Ecowitt GW1002 | Meteobridge on Raspberry Pi 4


Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #2 on: May 06, 2021, 09:18:34 AM »
Have you released this yet? I cannot find it on the Windows store.

I pushed out a couple of versions but since they are not supposed to be public they don't show up on the searches.
I'll deploy an "almost final" version later and PM you the direct link.


Offline kd7eir

  • Contributor
  • ***
  • Posts: 128
    • KD7EIR Weather
Re: GW1000 Windows 10 Dashboard
« Reply #3 on: May 06, 2021, 09:19:42 AM »
Thank you.
Ecowitt GW1002 | Meteobridge on Raspberry Pi 4


Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #4 on: May 07, 2021, 06:11:10 PM »
Release Candidate available  in the Windows Store:

https://www.microsoft.com/store/apps/9MWXH1RGGWJB

ms-windows-store://pdp/?productid=9MWXH1RGGWJB
 [ You are not allowed to view attachments ]

Offline kd7eir

  • Contributor
  • ***
  • Posts: 128
    • KD7EIR Weather
Re: GW1000 Windows 10 Dashboard
« Reply #5 on: May 07, 2021, 07:29:40 PM »
Working fine for me.
Ecowitt GW1002 | Meteobridge on Raspberry Pi 4


Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #6 on: May 08, 2021, 04:51:42 PM »
Now it appears on the store, you can find it by search GW1000
I got it from there.

@cheeroip
you can add the IP autodiscovery as it's done by Wsview and CumulusMX.
 you send this packet
packet = '\xff\xff\x12\x03\x15'
broadcast on LAN on port 46000 all GW-1000 (and others Ecowitt consoles) will reply
see here
https://github.com/pjpeartree/rainmachine-gw1000/blob/fe00fb02e43307e108d05883354b3a0e47973e90/gw1000-parser.py#L129

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #7 on: May 08, 2021, 06:04:08 PM »

you can add the IP autodiscovery as it's done by Wsview and CumulusMX.
...
Yes, I was thinking to add the UDP autodiscovery to the mix.
I definitely don't want to make anything automatic or subordinate the use of the whole application on that (like the WSView application seem to do eewwww)

I'll play with the thing a bit:
I'll have to check how the GW1000 answer and populate a list with filtered IP. (without being able to really test it since I just have one device...).
I really hate half baked "github/web level" implementations.

I'll test the application myself for a bit to see how often the GW1000 renegotiate the IP.
For what I saw this little rascal really love to grab different random address every few days.

Technically the discoverability is a 5 minutes implementation but with a 5 days of super boring UI overhead stuff  :roll:
Ever wonder why nobody write desktop apps anymore?  :lol:

it's in the queue.

I like the idea that nerd people would use the app as troubleshooting tool and monitoring what it's going on with the GW1000
that's why I introduced the countdown and  I'm thinking I could make the update rates/timeout configurable if the app have some (unlikely) traction.



I'm more curios to see if the application can manage all the sensors and different configurations that people have.
I'll probably buy and focus on the air quality sensors for a bit or check how the GW1000 manage different PWS.
I very arbitrary decided which value show on the main screen just based on my very limited setup here.

It's always super hard to get people feedback.

 Thanks for trying the app and for the suggestion


Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #8 on: May 09, 2021, 06:06:30 AM »
The answer contain the Device type, for example GW1000A for 868MHz, GW1000 for 433MHz, and the MAC address.
You have to wait some seconds (3-4) until all devices reply. But if you choose a device and the device change IP you can ask again and wait for the reply with the right MAC address.

WSview send discovery packets all the time, if you use Wireshark you can catch them easily on Wifi but if your wifi drivers doesn't support promiscuous mode you can't catch the reply.

I have 4 devices so I can test it. Take in account that this protocol work with other Ecowitt consoles, maybe you can see it on CumulusMX sources.
https://github.com/cumulusmx/CumulusMX/blob/master/CumulusMX/GW1000Station.cs
on line 446.

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #9 on: May 09, 2021, 11:42:56 AM »
Thanks Zoomx,
I worked with UDP broadcast discovery thingy before. As we know the technical mplementation is very simple.
I'll probably throw a command in the setting; return whatever in a textfield and let the users do their math mostly as a small aid/feature more than a full fleshed function.

Having said that:
I'm not comfortable using this forum to discuss any low level/protocol/reverse engineering or refer to code that isn't explicitly authorized by the companies that provide hardware/software or services.

It is a public forum and I saw that company representative are on the platform and they explicitly ask me to not discuss those topics.
It put everybody in an awkward position and create a lot of unnecessary frictions and  confusions.
I tried before to move these low level discussions somewhere else since I don't really agree/approve how these discussions are managed here but seem isn't an issue for anybody else but me.


I am mostly curios about how the GW1000 manage different sensors/pws and if the app can offer something useful that no other app/service cover.



The answer contain the Device type, for example GW1000A for 868MHz, GW1000 for 433MHz, and the MAC address.
You have to wait some seconds (3-4) until all devices reply. But if you choose a device and the device change IP you can ask again and wait for the reply with the right MAC address.

WSview send discovery packets all the time, if you use Wireshark you can catch them easily on Wifi but if your wifi drivers doesn't support promiscuous mode you can't catch the reply.

I have 4 devices so I can test it. Take in account that this protocol work with other Ecowitt consoles, maybe you can see it on CumulusMX sources.
https://github.com/cumulusmx/CumulusMX/blob/master/CumulusMX/GW1000Station.cs
on line 446.

Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #10 on: May 10, 2021, 06:09:55 AM »
No need to reverse engineering! I found that CumulusMX works with WN1900 (but in reply there is WS1900 and then a letter A if 868MHz or B for 915MHz, nothing for 433MHz).
But it takes long for communicating, it happens the same with WSview, maybe because power saving since it can works only on batteries.

What do you mean for  manage different sensors?

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #11 on: May 10, 2021, 10:23:18 AM »
No need to reverse engineering! I found that CumulusMX works with WN1900 (but in reply there is WS1900 and then a letter A if 868MHz or B for 915MHz, nothing for 433MHz).
But it takes long for communicating, it happens the same with WSview, maybe because power saving since it can works only on batteries.


Ecowitt/fineoffset explicitly requested to not discuss or disclose their protocol on this very forum.
You do what you think is right.

What do you mean for  manage different sensors?
I mean which fields are populated by different hardware. How often they refresh their data, any other behavior I'm not aware of.
The whole point of the app is to prettify the data and make the access to the GW1000 as painless as possible.
No servers/clients running on raspberry pi, no passwords, no api, no dll, no dependencies, no linux, no python scripts, no github downloads, minimal installation/configuration hassle.

If I know which hardware  populate which field I can design something ad hoc for each specific use case/ device.
(thinking: rain/humidity sensor in a specific dashboard or air quality and pollen forecast to analyze each room in an household)

Nothing new but the added value here is simplification and reliability.
IT nerds aren't very good at being pragmatical; these dashboards are aimed to regular smart people.
Think about them as a cheap replacement for an hardware LCD console.



Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #12 on: May 10, 2021, 11:08:33 AM »
Talking about letter added at the end is not a secret because you can view them in WSview in Device list.

Afaik in the reply payload there are all the sensors that GW1000 receive. If a new sensor is found it is simply added to the payload you receive.

I tested you app with the WN1900. I get timeout. Maybe because of power saving, anyway WN1900 is still in beta.

In you app maybe you have to disable the resize in only one direction because you get an incomplete view or there will be empty space at the bottom.

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #13 on: May 10, 2021, 01:56:04 PM »
Talking about letter added at the end is not a secret because you can view them in WSview in Device list.
Sure, it's not a secret.
I was just pointing out that ecowitt/fineoffet asked to not disclose their protocol.

Afaik in the reply payload there are all the sensors that GW1000 receive. If a new sensor is found it is simply added to the payload you receive.

I tested you app with the WN1900. I get timeout. Maybe because of power saving, anyway WN1900 is still in beta.

In you app maybe you have to disable the resize in only one direction because you get an incomplete view or there will be empty space at the bottom.

The app show all the value it can get in the setting "? live data" command.
I don't know how different sensors/pws populate those fields.
why the absolute/relative pressure is always the same?
are the rain stats stored on the Gw1000( I assume they do)? Is is a good idea keep those values visible on the main interface? should I limit to just the "event"?

I played a bit with different resizing and that is the compromise I choose. It's not ideal and I'm sure will not make everybody happy.
I definitely don't want modify the ratio.
One alternative is  the approach used for the AW Widget:
https://www.microsoft.com/store/apps/9MXZ2L5S4ZJN


So far 300 users installed the various dashboards and nobody really had anything to say about it.
Happy to receive any feedback.

I don't know anything about the WN1900. If its connection is based on the same protocol it shouldn't "timeout".


NERD NOTE:
Since the Windows Store log the application crash for me  I left the protocol parsing pretty raw and not try to avoid crash to see if I can spot problems without bothering too much for technical feedback but I would love to know how and when the crash happen...



Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #14 on: May 10, 2021, 02:59:01 PM »
I definitely don't want modify the ratio.
Ratio is good but not fixed, if you pull the bottom you alter the ratio but you only add an empty space. I am talking that if you pull the bottom the others border should move to mantain the ratio. It happens on the app when running I am not talking about design time.

I will check if there will be pressure change but i don't see any anomaly.

WN1900 seems to replay late, often my display smartphone goes off while I am waiting to connect to the station. I don't know why I believe is that because of battery life, so WiFi is not on all the time.
 

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #15 on: May 10, 2021, 05:30:30 PM »
I definitely don't want modify the ratio.
Ratio is good but not fixed, if you pull the bottom you alter the ratio but you only add an empty space. I am talking that if you pull the bottom the others border should move to mantain the ratio. It happens on the app when running I am not talking about design time.
Nope, sorry, not possible :) I could eventually recalculate the window and resize it based on what the user does. That would end up being choppy as hell. 
An alternative could be to deform the graphics to always fill the windows but I still prefer the actual behavior.
If is such a deal breaker I could just deploy a Zoomx version that resize the way you like it :)

I will check if there will be pressure change but i don't see any anomaly.

WN1900 seems to replay late, often my display smartphone goes off while I am waiting to connect to the station. I don't know why I believe is that because of battery life, so WiFi is not on all the time.

on my setup the 2 pressure value are always the same. I get my "external" data from an AmbientWeather WPS. No idea how the GW1000 decide to assign those variables.

 [ You are not allowed to view attachments ]


The WN1900 is a battery device? It would be a very odd decision to have a TCP server running of a battery device. I noticed that even the GW1000 go "idle" and need a connection "nudge" to wake it up.
For my application I decided to go 30 seconds update and 5 seconds retry if the connection fail.
If I'll get more people complain about timeouts I could make those parameters configurable since it's a local device and I'm not very worried about DDOS an internet server...
To troubleshoot your setup you can trigger the command manually from the settings and check how your network answer.
Keep in mind that I artificially slowed down the connection just to make things feel a bit more relaxed. I hate when random applications are just too aggressive on my network (many many many IOT devices have terrible terrible terrible software)

 

Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #16 on: May 11, 2021, 02:56:36 AM »

on my setup the 2 pressure value are always the same. I get my "external" data from an AmbientWeather WPS. No idea how the GW1000 decide to assign those variables.
Now I understand. No, my values are different because I use a correction based on height. In WSview Live data go in More and then Calibration. In Abs Offset goes values if the absolute measure differ from a calibrated barometer, in Rel Offset goes the pressure difference due to height, positive if up, negative if down like in the Dead Sea.
This because all pressure values are corrected to sea levels otherwise if you live in a mountain you will have always low pressure.

The WN1900 is a battery device? It would be a very odd decision to have a TCP server running of a battery device. I noticed that even the GW1000 go "idle" and need a connection "nudge" to wake it up.
For my application I decided to go 30 seconds update and 5 seconds retry if the connection fail.
If I'll get more people complain about timeouts I could make those parameters configurable since it's a local device and I'm not very worried about DDOS an internet server...
To troubleshoot your setup you can trigger the command manually from the settings and check how your network answer.
Keep in mind that I artificially slowed down the connection just to make things feel a bit more relaxed. I hate when random applications are just too aggressive on my network (many many many IOT devices have terrible terrible terrible software)

LOL!!!
Anyway yes WN1900 has batteries, two AA,  but also a power adapter, I am going only on batteries to test the battery life. I installed it on April 26 and it seems still good. Unfortunately by design it will not log data like others console.
GW1000 doesn't need tu turn off but it depends on firmware, inside there is an ESP8266 that is very common among Arduino users. I have many ESP8266 with many sensors or even clocks since they update time using NTP. So I know that it is possible to turn Wifi on and off briefly to save power.

Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #17 on: May 14, 2021, 05:18:41 PM »
Ok, Im seeing a bunch of crash :)
Deployed a new version with a bit more feedback of what go wrong and a bit more aggressive in trying to not crash.
 [ You are not allowed to view attachments ]
It's mostly one user in Germany but I definitely want know whats wrong there :)

Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #18 on: May 15, 2021, 03:04:28 AM »
Updated, thanks.

Maybe there is a little bug in the gui.
This is the main window, it's normal.
 [ You are not allowed to view attachments ]
Then I go to Setting and GW1000
 [ You are not allowed to view attachments ]
As you can see there is a writing that cannot be read and there is not a scrollbar.
Then I pull down so I can read it. Now there is a scrollbar.
 [ You are not allowed to view attachments ]
but when I return to the main windows this happens
 [ You are not allowed to view attachments ]
But I can easily push up.


Offline cheeroip

  • Holocene human / dev / tinkerer
  • Senior Member
  • **
  • Posts: 55
  • Grumpy old italian
    • DTVRC
Re: GW1000 Windows 10 Dashboard
« Reply #19 on: May 15, 2021, 11:53:46 AM »
 :grin: Welcome to the magical world of multi billion dollar companies UI paradigms.

The scrollbars are there but Microsoft just decided that were too ugly and not "modern and hip" enough.
UWP apps (windows store metrosexual apps) hide them by default. (scroll with the mouse wheel of hover somehow around the area and windows will eventually show them.
note to myself: I think I can force them to be always visible and that should make things a bit better.

It's like UI designers never used a computer before, make everything more awkward, counterintuitive dumber and developers are just too shy, insecure or tired to fight :).


That Setting panel is still a bit of a work in progress and I'll eventually fix it a bit before removing the free download but I'm telling you; it is a constant source of frustration for me too.

Another user though that the way the mains screen interface behave is a bit awkward.
I still didn't find any better solution so far: there is going to be some empty space around the app and  the user will have to make their own decision.
I like the idea that people could just decide to show a section of the interface if they want

 [ You are not allowed to view attachments ]

I need to figure out a design that show other  sensors but I have no clue how people actually use them, what are their use case.
 [ You are not allowed to view attachments ]
Once confident about the protocol and network management I'll eventually dump every sensor there.



Offline zoomx

  • Member
  • *
  • Posts: 46
Re: GW1000 Windows 10 Dashboard
« Reply #20 on: May 15, 2021, 03:10:45 PM »
:grin: Welcome to the magical world of multi billion dollar companies UI paradigms.
LOL!!!!

Anyway I have not problem with this app, but I am testing it so I write what I found that can be confusing to others.

For use case I am not a useful tester, I have some weather stations of different brand and some sensors built myself so I am using InfluxDb and Grafana/Chronograph for visualisation. It is my main tools for these data.