Live weather on iOS

223 views
Skip to first unread message

Constantine Samaklis

unread,
Dec 6, 2020, 11:29:59 AM12/6/20
to weewx-user
I have been using WeeWX for seven years or so and I have been inspired by the work that Tom and others have put into making this software better and also expandable.

Ever since I added the MQTT extension to WeeWX I was able to incorporate live weather data from my Vantage Pro weather station, which I think it is very cool.

I wanted to give back something to the community, so I spent some time writing a GUI in Pythonista on my iPad, and I have ported it over to the Apple store as a free application, in hopes that it can be useful to others. 

I am always mesmerized by moving dials and I also find that the application, apart from giving you quick access to your weather station's data, it looks quite good as a make shift screen, especially on larger iPad screens. :-)

You can fetch the application from the app store from the below link or look for "weather mqtt" 



PS The application is a port from Python to Objective C, so you may experience a crash from time to time as it is not OS native. I am in the process of looking into SWIFT and in time, based on community interest, I will try and put some work on porting the application to it. so it is iOS native.

Thanks again to all the weather enthusiasts out there that make applications like WeeWX possible.

IMG_0727.PNG

Tom Keffer

unread,
Dec 6, 2020, 11:47:58 AM12/6/20
to weewx-user
Very cool, Constantine! 

You don't mention it, but I assume your app needs some sort of WeeWX extension to push MQTT updates to the MQTT broker? 

--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/0084e413-3fac-446d-a8c1-7158db8ebb72n%40googlegroups.com.

Constantine Samaklis

unread,
Dec 6, 2020, 12:36:52 PM12/6/20
to weewx-user
Indeed, you do need the MQTT extension for WeeWX running. I am using: https://github.com/weewx/weewx/wiki/mqtt (may have gotten missed in my excitement) :-)

Christopher Joseph Alemany

unread,
Dec 6, 2020, 3:42:24 PM12/6/20
to weewx...@googlegroups.com
Very cool! Thank you Constantine and great work!  I’ll install the mqtt extension just for this. Consider this friendly and appreciative encouragement to port it to Swift! 

Cheers
Chris
www.Alberniweather.ca
“They always tell me it takes time. How much more time do you want...for your progress?”
James Baldwin

Chris Alemany
V9Y4M2

On Dec 6, 2020, at 08:30, Constantine Samaklis <sama...@gmail.com> wrote:

I have been using WeeWX for seven years or so and I have been inspired by the work that Tom and others have put into making this software better and also expandable.
<IMG_0727.PNG>

--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/0084e413-3fac-446d-a8c1-7158db8ebb72n%40googlegroups.com.
<IMG_0727.PNG>

Kevin Davis

unread,
Dec 6, 2020, 6:15:19 PM12/6/20
to weewx...@googlegroups.com
I love this!  Is there a way to change the topic name to look for? 

On Dec 6, 2020, at 12:42 PM, Christopher Joseph Alemany <chri...@gmail.com> wrote:

Very cool! Thank you Constantine and great work!  I’ll install the mqtt extension just for this. Consider this friendly and appreciative encouragement to port it to Swift! 

Constantine Samaklis

unread,
Dec 6, 2020, 6:27:17 PM12/6/20
to weewx-user
Currently no. It defaults to weather/#. The gauges are also limited to the topics published by the MQTT extension so for example if you have configured the extension to run in metric, you will have weather/windchill_C for windchill and if you have it configured for imperial units, then it will listen for weather/windchill_F.

The pattern is similar across all the available gauges. 

I have also left some topics as soil alarm and other alarm ones out, as they are present only in professional weather stations such as Vantage Pro, and have not seen them used, outside of farming applications. (On my todo list at some point though.)

Kevin Davis

unread,
Dec 6, 2020, 6:37:04 PM12/6/20
to weewx...@googlegroups.com
Ok understood; my topics are published as weather/corbett and weather/williams for different locations.  I look forward to that enhancement!  This looks like a cool app.  

On Dec 6, 2020, at 3:27 PM, Constantine Samaklis <sama...@gmail.com> wrote:

Currently no. It defaults to weather/#. The gauges are also limited to the topics published by the MQTT extension so for example if you have configured the extension to run in metric, you will have weather/windchill_C for windchill and if you have it configured for imperial units, then it will listen for weather/windchill_F.

bell...@gmail.com

unread,
Dec 6, 2020, 7:42:20 PM12/6/20
to weewx-user
This looks really cool. I too am anxiously awaiting to be able to specify the topic.  In my case, I am publishing json loop data to weather/loop, json archive data to weather/archive, both to weather/looparchive.  So if I could specify something like weather/loop-individual/#... but I could easily publish to almost anything but weather/#. 
Again, thanks for sharing! If I can help in any way, let me know.
rich

Constantine Samaklis

unread,
Dec 7, 2020, 5:26:12 PM12/7/20
to weewx-user
I have submitted a new build where the topic can be specified. As soon as it gets approved, I will post a link where you can use testflight for you to test it and see if it works as expected.

Constantine Samaklis

unread,
Dec 8, 2020, 5:14:52 PM12/8/20
to weewx...@googlegroups.com
TestFlight link for testing the build: 

Let me know if that works for you with the custom topic name and I will push to the Apple store if it does. 

You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/Vp4-lsjcDko/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/c2ccd9cc-d929-40cc-a851-cc0d839d98ben%40googlegroups.com.

bell...@gmail.com

unread,
Dec 8, 2020, 7:20:46 PM12/8/20
to weewx-user
OK, I’m new to this. I’ve installed TestFlight, but it seems like I need a link or something to your app...
rich

Constantine Samaklis

unread,
Dec 8, 2020, 7:23:48 PM12/8/20
to weewx-user
https://testflight.apple.com/join/EPwi6NBP  <-- This is the link. (also in the previous post) you can visit it from your iOS device and it will open testflight and ask you to open the application, etc.

bell...@gmail.com

unread,
Dec 8, 2020, 7:44:15 PM12/8/20
to weewx-user

Interesting. The first time I clicked on the link it only installed TestFlight.  But I digress. I must be doing something wrong. I get the green dot, so I think I am connected. I entered weather/individual as my topic.
Here is some output from some test code
Connected with result code 0
Connected flags {'session present': 0}
Subscribing to weather/individual/# has a mid 1 and rc 0
Subscribed to topic mid: 1 is size 1 has a QOS of 0
topic: weather/individual/monthET
payload: b'"0.11"'
topic: weather/individual/heatindex_F
payload: b'"22.5"'
topic: weather/individual/outHumidity
payload: b'"86.0"'
topic: weather/individual/dayET
payload: b'"0.006"'
topic: weather/individual/maxSolarRad_Wpm2
payload: b'"0.0"'
topic: weather/individual/consBatteryVoltage_volt
payload: b'"4.54"'
topic: weather/individual/monthRain_in
payload: b'"0.14"'
topic: weather/individual/insideAlarm
payload: b'"0.0"'
topic: weather/individual/barometer_inHg
payload: b'"29.282"'
topic: weather/individual/dayRain_in
payload: b'"0.0"'
topic: weather/individual/stormRain_in
payload: b'"0.0"'
topic: weather/individual/sunrise
payload: b'"1607429520.0"'
topic: weather/individual/windchill_F
payload: b'"22.5"'
topic: weather/individual/dewpoint_F
payload: b'"18.9577377882"'
topic: weather/individual/outsideAlarm1
payload: b'"0.0"'
topic: weather/individual/soilLeafAlarm2
payload: b'"0.0"'
topic: weather/individual/outsideAlarm2
payload: b'"0.0"'
topic: weather/individual/radiation_Wpm2
payload: b'"0.0"'
topic: weather/individual/forecastRule
payload: b'"192.0"'
topic: weather/individual/rainAlarm
payload: b'"0.0"'
topic: weather/individual/inTemp_F
payload: b'"67.4"'
topic: weather/individual/inHumidity
payload: b'"38.0"'
topic: weather/individual/windSpeed10_mph
payload: b'"0.0"'
topic: weather/individual/yearRain_in
payload: b'"23.37"'
topic: weather/individual/inDewpoint_F
payload: b'"40.9048059523"'
topic: weather/individual/extraAlarm1
payload: b'"0.0"'
topic: weather/individual/extraAlarm2
payload: b'"0.0"'
topic: weather/individual/extraAlarm3
payload: b'"0.0"'
topic: weather/individual/extraAlarm4
payload: b'"0.0"'
topic: weather/individual/extraAlarm5
payload: b'"0.0"'
topic: weather/individual/extraAlarm6
payload: b'"0.0"'
topic: weather/individual/extraAlarm7
payload: b'"0.0"'
topic: weather/individual/extraAlarm8
payload: b'"0.0"'
topic: weather/individual/rainRate_inch_per_hour
payload: b'"0.0"'
topic: weather/individual/rain_in
payload: b'"0.0"'
topic: weather/individual/humidex_F
payload: b'"22.5"'
topic: weather/individual/forecastIcon
payload: b'"18.0"'
topic: weather/individual/pressure_inHg
payload: b'"28.7311013367"'
topic: weather/individual/soilLeafAlarm4
payload: b'"0.0"'
topic: weather/individual/trendIcon
payload: b'"0.0"'
topic: weather/individual/altimeter_inHg
payload: b'"29.2387383925"'
topic: weather/individual/soilLeafAlarm3
payload: b'"0.0"'
topic: weather/individual/usUnits
payload: b'"1.0"'
topic: weather/individual/soilLeafAlarm1
payload: b'"0.0"'
topic: weather/individual/leafWet4
payload: b'"0.0"'
topic: weather/individual/yearET
payload: b'"25.01"'
topic: weather/individual/txBatteryStatus
payload: b'"0.0"'
topic: weather/individual/appTemp_F
payload: b'"17.4069618021"'
topic: weather/individual/UV
payload: b'"0.0"'
topic: weather/individual/dateTime
payload: b'"1607474098.0"'
topic: weather/individual/outTemp_F
payload: b'"22.5"'
topic: weather/individual/windSpeed_mph
payload: b'"0.0"'
topic: weather/individual/sunset
payload: b'"1607464200.0"'
topic: weather/individual/windGust_mph
payload: b'"0.0"'
topic: weather/individual/cloudbase_foot
payload: b'"1295.05959359"'
topic: weather/individual/hourRain_in
payload: b'"0.0"'
topic: weather/individual/rain24_in
payload: b'"0.0"'
Exception in thread Thread-4:
Traceback (most recent call last):
  File "/var/containers/Bundle/Application/98214C3F-7429-489D-8C5B-62EBF1A92501/Pythonista3.app/Frameworks/Py3Kit.framework/pylib/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/var/containers/Bundle/Application/98214C3F-7429-489D-8C5B-62EBF1A92501/Pythonista3.app/Frameworks/Py3Kit.framework/pylib/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/private/var/mobile/Containers/Shared/AppGroup/03C7B2FF-1C6F-474E-A5E4-35A11C6986BE/Pythonista3/Documents/site-packages-3/paho/mqtt/client.py", line 3428, in _thread_main
    self.loop_forever(retry_first_connection=True)
  File "/private/var/mobile/Containers/Shared/AppGroup/03C7B2FF-1C6F-474E-A5E4-35A11C6986BE/Pythonista3/Documents/site-packages-3/paho/mqtt/client.py", line 1782, in loop_forever
    rc = self.loop(timeout, max_packets)
  File "/private/var/mobile/Containers/Shared/AppGroup/03C7B2FF-1C6F-474E-A5E4-35A11C6986BE/Pythonista3/Documents/site-packages-3/paho/mqtt/client.py", line 1163, in loop
    socklist = select.select(rlist, wlist, [], timeout)
KeyboardInterrupt


Constantine Samaklis

unread,
Dec 9, 2020, 5:54:49 AM12/9/20
to weewx-user
In the application configuration have you turned your station units to imperial? (I think they default to metric) 

That would make a difference between looking for example between heatindex_F and headindex_C which is part of the whole topic string


Thanks

bell...@gmail.com

unread,
Dec 9, 2020, 11:39:23 AM12/9/20
to weewx-user
I did. Since then I have tried the following.
1. Publish as metric and change the application configuration back to metric.
2. Only publish outTemp_C and configure only an ‘Outside Temperature’ gauge.
I’m sure I’m missing something obvious. I’ll keep experimenting. 
rich

Message has been deleted

Martin J

unread,
Dec 9, 2020, 12:34:25 PM12/9/20
to weewx-user
Thank you for producing this app and allowing the specification of topic.  It works fine for me, for a number of variables.  However, I use METRICWX in weewx, with rain in mm and wind in m/s.  We haven't had any rain yet to test this, but my wind and gust speeds are both permanently zero.  Do you have any plans to support METRICWX or to allow choice of units by some other means?  Also, is there any way of displaying my radiation and UV data?

Thanks.

bell...@gmail.com

unread,
Dec 9, 2020, 2:38:55 PM12/9/20
to weewx-user

My error was publishing the data as strings. Now that I am publishing floats, all is working for me.
Thanks again for this app. 
rich

Constantine Samaklis

unread,
Dec 9, 2020, 2:47:43 PM12/9/20
to weewx...@googlegroups.com
Just to confirm your topic in the application settings is set to weather/individual right?



bell...@gmail.com

unread,
Dec 9, 2020, 2:50:59 PM12/9/20
to weewx-user
Yes it is

Constantine Samaklis

unread,
Dec 9, 2020, 2:52:35 PM12/9/20
to weewx...@googlegroups.com
Also just to make sure, delete the app first in case the settings files are persisting from the original version you may have tried 

bell...@gmail.com

unread,
Dec 9, 2020, 3:45:33 PM12/9/20
to weewx-user
Sorry, I wasn’t clear.  I am all set now. The problem was the format of my payload. It was originally strings.  Now I am publishing floats.  Here is an example of what is working.

Subscribing to weather/individual/# has a mid 1 and rc 0
Subscribed to topic mid: 1 is size 1 has a QOS of 0
topic: weather/individual/monthET
payload: b'0.12'
topic: weather/individual/heatindex_F
payload: b'30.8'
topic: weather/individual/outHumidity
payload: b'93.0'
topic: weather/individual/dayET
payload: b'0.005'
topic: weather/individual/maxSolarRad_Wpm2
payload: b'5.01839449489'
topic: weather/individual/consBatteryVoltage_volt
payload: b'4.54'
topic: weather/individual/monthRain_in
payload: b'0.16'
topic: weather/individual/insideAlarm
payload: b'0.0'
topic: weather/individual/barometer_inHg
payload: b'29.087'
topic: weather/individual/dayRain_in
payload: b'0.02'
topic: weather/individual/stormRain_in
payload: b'0.02'
topic: weather/individual/sunrise
payload: b'1607515920.0'

Again, thanks.

Constantine Samaklis

unread,
Dec 12, 2020, 11:27:49 PM12/12/20
to weewx-user
The latest build is now available in the Apple store: https://apps.apple.com/us/app/weather-mqtt/id1542679289 
Reply all
Reply to author
Forward
0 new messages