[SOLVED] Weatherflow Smart Weather Station binding

Hi-

Sorry for the delayed reply. I think I understand what you’re trying to accomplish. The rapid wind reports are not the same as the sky observations, so they’re not delivered to the sky channels. I will try to take some time this weekend to put together an example of what you want to do in habpanel.

Bill

1 Like

Hi-

It’s strange that the presence of the rule engine was causing problems for you, as it’s normally needed to load. I will try to take some time to look into the situation and sort it out for future releases.

Thanks again for the feedback!

Thank you Bill for your great work!

Question regarding the new Tempest Weather Station: Is there a possibility to implement this in this binding? Would be great because first units are already on its way to the customers. As I see in the UDP ref. the Tempest Station is shown already. :grinning:

Mike

Good news

Hi… I just saw your message from last month. I’ve looked at the updated API documentation and it looks like the Tempest will need to be treated as a new device, as Weather flow have created a new message type specifically for the Tempest.

Adding support is certainly possible, but it will take a bit of time as it will be somewhat of an effort and I’ve got some other work ahead in the queue. I can keep this topic updated on that front.

As a side note: If there’s anyone out there that wants to have a go at this before I have a chance, I’m happy to collaborate.

Thx Bill for your update. I haven’t received my Tempest yet (I’m a EU based Indiegogo backer and probably I get my weather station in August).
At a first stage I can also connect the station to weatherunderground and then work with the WU binding.

Ok, I’ll try to put some thought into how to get this working. If you’re willing to go through some back-and-forth testing, I’m sure we can get the binding working with the tempest!

I’m also eagerly waiting for my Tempest (also in EU). Just to let you know there are great interest in having Tempest support in the binding :slight_smile:

Thx Bill! Let me know if you need some beta tester :grinning:

After installation and some success in receiving data, I’m having issues with the hub staying online, or sometimes the hub reports online yet nothing updates. My things are set up below. I’m running the latest binding on Raspberry Pi Openhabian.

In the logs I spotted the hub going offline but it didn’t clue me in as to why. I’m sorry, I know this isn’t much to go on. Are there any general things to look for when this happens? Or perhaps a log setting where I can see what’s going on? Thank you very much.

Bridge weatherflowsmartweather:hub:HB-xxxxxxxx "SmartWeather HUB"  [ serial_number="HB-xxxxxxxx" ] {
      Thing air AR-xxxxxxxx "SmartWeather AIR"  [ serial_number="AR-xxxxxxxx" ]
      Thing sky SK-xxxxxxxx "SmartWeather SKY"  [ serial_number="SK-xxxxxxxx" ]
    }

The configuration of things looks correct, at least for the earlier Weatherflow Station HUB+AIR+SKY version, for Tempest I’m not sure if this works the same, I guess it doesn’t.
Try to turn on DEBUG or TRACE log to the binding and see if there is anything there before HUB stops reveiving/transmitting data.

Hello.
I just upgraded to 2.5.9 and am no longer able to have the binding found from addons folder.
Has this happened to anyone else?

Logs show:

[WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/volume1/public/openHAB/addons/org.openhab.binding.weatherflowsmartweather-2.5.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.weatherflowsmartweather [206]
  Unresolved requirement: Import-Package: org.openhab.core.automation

	at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [bundleFile:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [bundleFile:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]

Edit - Scratch that. I installed the experimental rules engine which fixes.

Today i’ve finaly received my wheaterflow tempest. the binding succesfully found the bridge but i get these error/warnings:

2020-10-07 20:50:40.082 [WARN ] [ather.handler.SmartWeatherHubHandler] - rapid wind observation but not for us.
2020-10-07 20:50:41.054 [WARN ] [atherflowsmartweather.util.UdpServer] - UdpServer.Listener org.openhab.binding.weatherflowsmartweather.internal.SmartWeatherUDPListenerServiceImpl$1@33f42e threw an exception: null
2020-10-07 20:50:41.192 [ERROR] [ather.model.SmartWeatherDeserializer] - Received unknown SmartWeather message type: obs_st with content: {"serial_number":"ST-00000000","type":"obs_st","hub_sn":"HB-000000000","obs":[[1602096639,0.00,0.98,1.65,279,3,1019.46,13.40,71.18,0,0.00,0,0.000000,0,0,0,2.587,1]],"firmware_revision":134}

How can i add the tempest to the Weatherflow binding?

Thanks in advance

Looks like this binding is not supported anymore, last commit is from August 2019.

I also received my Tempest a few days ago. Not sure yet how I will integrate it into OH because the hub is on another subnet (I put all my IoT devices in a different network) and the UPD broadcast thing is, well, … not so nice. I will most likely just poll the REST API for the few information I need (especially wind for the blinds).

thats a shame. i don’t have the coding skills for this kind of work… maybe i can learn something… i will check into that.

for now i use a weatherflowudplistner --> mqtt bridge that works, but it would be nicer if all was in openhab.

i dont know how it works on different subnets…

i have added all the items (i think) for the tempest now i must figure out how to make a jar file :confounded:

1 Like

@sjcliffe @hww3
I still don’t have accumulated rain monitoring working :frowning: and would love some help if possible.

Here is my rule:

rule "Rainfall"
when
    Item Rain_Accumulated received update
then
    var Number daily_rain = Rain_Accumulated.sumSince(now.minusHours(24), "rrd4j")
    var Number hourly_rain = Rain_Accumulated.sumSince(now.minusHours(1), "rrd4j")
    Rain_Daily.postUpdate(daily_rain)
    Rain_Hourly.postUpdate(hourly_rain)
end

and items:

Number Rain_Daily "Daily Rainfall [%.1f mm]" (Weather)
Number Rain_Hourly "Hourly Rainfall [%.1f mm]" (Weather) 
Number Rain_Accumulated "Accumulated Rainfall [%.1f mm]" (Weather) { channel="weatherflowsmartweather:sky:HB-***:SK-***:rain_accumulated" }

and rrd4j persistence:

Rain_Accumulated : strategy = everyUpdate, restoreOnStartup

I am getting some numbers, but they don’t match the weatherflow app data.

What I am presuming is being stored in rrd4j is whenever the rain_accumulated channel updates. It presumably goes from 0.0 to a positive number is rain is being recorded.

I thought this should allow summation of the stored data but the totals don’t match.

Current for today:
WF App: 21.2mm - which is presumably since Midnight.
OH is giving me 5.5mm for last 24h, which is clearly less than 21.2 but by definition must be equal or more.

Any ideas? Cheers! :+1:

I don’t think accumulated rain has ever worked, but you should have a 24hr figure in Rain_Daily.

We’ve just had a nice storm roll through and the App says 41.9mm today and my Rain_Daily is 41.55 - close enough for me.

Thanks Steve.
Is the persistence rule correct?
I’ve never had an accurate total using this method and now that I’ve had the chance to try to fix it’s driving me bonkers that I can’ figure it out!
Cheers :slight_smile:

I’ve since migrated all my rules to Jython but it looks the same:

@rule('Rainfall')
@when('Item Rain_Accumulated received update')
def rainfall(event):
    hourlyRain = PersistenceExtensions.sumSince(ir.getItem('Rain_Accumulated'), DateTime.now().minusHours(1), 'rrd4j')
    dailyRain = PersistenceExtensions.sumSince(ir.getItem('Rain_Accumulated'), DateTime.now().minusHours(24), 'rrd4j')
    postUpdate('Rain_Hourly', hourlyRain)
    postUpdate('Rain_Daily', dailyRain)