[weewx-user] Can weewx POST data to https://atlasapi.myacurite.com to make a SmartHub look like an AccessHub?

2019-05-16 Thread Ken Booth
I have seen that the syntax used at https://atlasapi.myacurite.com is a 
POST and not a GET, with data such as

POST 
/weatherstation/updateweatherstation?=2018-01-28T02:45:01={MAC}=tower==normal=4=low=28.04=1=92.1=-21.7

and that it uses SSL. So it there should be enough information to post data 
and make the Android/iPhone apps work again. However, I guess one must fake 
a MAC address of an AccessHub, and register it. Or would it accept the 
SmartHub MAC address, and continue as if nothing had changed.

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/1ef02f9f-06aa-4efc-9c45-41e0b14c1375%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[weewx-user] How do I convert battery strength back to a string?

2019-05-06 Thread Ken Booth
When the Acurite SmartHub sends raw data to weewx, the battery status is 
reported as "normal" or "low" and this is converted to 0 or 1 respectively.

weewx[24667]: interceptor: MainThread: raw data: 
dateutc=now=updateraw=1=24C86E090EC1=tower=4036=34=76.4=30.31=normal=4
weewx[24667]: interceptor: MainThread: raw packet: 
{'bridge_id.4036.24C86E090EC1': '24C86E090EC1', 
'sensor_type.4036.24C86E090EC1': 'tower', 
'battery.4036.24C86E090EC1': 0, 
...
weewx[24667]: interceptor: MainThread: raw data: 
dateutc=now=updateraw=1=24C86E090A48=tower=5422=34=71.4=29.83=low=3
weewx[24667]: interceptor: MainThread: raw packet: 
{'rssi.5422.24C86E090A48': 75.0, 'battery.5422.24C86E090A48': 1, 
...

I've defined the battery status as a count, rather than a percentage in 
/usr/share/weewx/user/extensions.py
weewx.units.obs_group_dict['extraTempBatteryStatus12'] = 'group_count'

But when I put into the skin in /etc/weewx/skins/Seasons/current.inc
$current.extraTempBatteryStatus12
the resulting table is displayed as 0% for normal and 1% for low

At the moment I have changed /etc/weewx/skins/Seasons/current.inc to
$current.extraTempBatteryStatus12.raw
so I get 0.0 for a good battery and 1.0 for a low battery.

What syntax do I use in current.inc to display the string "OK" for 0 or 
"Low Batt" for 1 ? 

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/18ede405-782c-4c5f-ad12-4aff7e661cab%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[weewx-user] How do I remove and add extra graphs to a skin?

2019-05-06 Thread Ken Booth
Hi,

I've been able to edit the current.inc and hilo.inc to display tables of 
the values that interest me, but when I edit skins.conf things just don't 
go the way I want.

If I comment out
[[[daywind]]]
windSpeed
windGust
I still get a windSpeed/WindGust graph.

If I add an extra [[[daytemp]]] for more sensors, I get
weewx[24667]: reportengine: Failed to read skin configuration file 
/etc/weewx/skins/Seasons/skin.conf for report 'SeasonsReport': Duplicate 
section name at line 267

If I add a new name such as
[[[daytemp1]]]
extraTemp11
then I don't get an extra graph.

So far I have been able to get temperature graphs by replacing values in 
existing graphs
##[[[daytempfeel]]]
##windchill
##heatindex

[[[daytempfeel]]]
extraTemp12
extraTemp8
extraTemp9
extraTemp11
extraTemp7

So obviously editing skins.conf on its own is insufficient. How do I remove 
the rainfall and wind graphs, and get more humidity graphs. Which file 
defines what to generate, and how?


-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/0a590977-8b70-42fe-9fd6-80ec544f496d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [weewx-user] Re: Noob help setting up acurite bridges and indoor sensors

2019-05-01 Thread Ken Booth
On Tuesday, 30 April 2019 05:15:13 UTC+2, mwall wrote:
>
>
> what happens when you run the interceptor directly, something like this:
>
> sudo PYTHONPATH=bin python bin/user/interceptor.py --device=acurite-bridge 
> --mode=listen --iface=ens3 --port=80 --debug
>

Thanks, I ran the daemon in debug mode and discovered that the sensorID is 
an 8 digit number, prefixed by zeros. Putting the zeros into the weewx.conf 
resolved the issue.

Next, to the Skins ...

I added the following lines to /etc/weewx/skins/Seasons/skin.conf
   [[[daytemp]]]
yscale = None, None, 0.5
extraTemp1
extraTemp2
extraTemp3
extraTemp4
extraTemp5
extraTemp6
extraTemp7
extraTemp8
extraTemp9
extraTemp10
extraTemp11
extraTemp12

[[[dayhum]]]
yscale = None, None, 0.5
extraHumid1
extraHumid2
extraHumid3
extraHumid4
extraHumid5
extraHumid6
extraHumid7
extraHumid8
extraHumid9
extraHumid10
extraHumid11
extraHumid12

And the temperature graph works, but the Humidity one doesn't (see attached 
images)

Also, I notice that Humidity comes after ExtraTemp in the skin.conf but on 
the web page it's the 4th graph and extraTemp is the 9th,

Are there some good examples of how to customise the skins to add/remove 
graphs and values. (I don't need rainfall and wind graphs as I don't have a 
weather station)

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [weewx-user] Re: Noob help setting up acurite bridges and indoor sensors

2019-04-29 Thread Ken Booth
On Sunday, 28 April 2019 05:23:37 UTC+2, mwall wrote:
>
>
> it is really not that difficult.  if you are starting from scratch, just 
> extend the wview schema:
>
> 1 copy the wview schema definition to a new file
>
> cp bin/schemas/wview.py bin/user/wview_extended.py
>
> 2 add as many temperature and humidity fields as you need by modifying the 
> new schema file.  see this for an example of what 8 temperature/humidity 
> sensors and signals looks like:
>
> https://github.com/weewx/weewx/blob/schema/bin/schemas/wview_extended.py
>

Thanks for the details.

Added he following sensors:

[root@weather ~]# cd /usr/share/weewx/schemas/
[root@weather schemas]# diff wview.py wview_extra.py
22a23,34
>   ('extraBarometer1','REAL'),
>   ('extraBarometer2','REAL'),
>   ('extraBarometer3','REAL'),
>   ('extraBarometer4','REAL'),
>   ('extraBarometer5','REAL'),
>   ('extraBarometer6','REAL'),
>   ('extraBarometer7','REAL'),
>   ('extraBarometer8','REAL'),
>   ('extraBarometer9','REAL'),
>   ('extraBarometer10','REAL'),
>   ('extraBarometer11','REAL'),
>   ('extraBarometer12','REAL'),
43a56,64
>   ('extraTemp4',   'REAL'),
>   ('extraTemp5',   'REAL'),
>   ('extraTemp6',   'REAL'),
>   ('extraTemp7',   'REAL'),
>   ('extraTemp8',   'REAL'),
>   ('extraTemp9',   'REAL'),
>   ('extraTemp10',   'REAL'),
>   ('extraTemp11',   'REAL'),
>   ('extraTemp12',   'REAL'),
51a73,82
>   ('extraHumid3',  'REAL'),
>   ('extraHumid4',  'REAL'),
>   ('extraHumid5',  'REAL'),
>   ('extraHumid6',  'REAL'),
>   ('extraHumid7',  'REAL'),
>   ('extraHumid8',  'REAL'),
>   ('extraHumid9',  'REAL'),
>   ('extraHumid10',  'REAL'),
>   ('extraHumid11',  'REAL'),
>   ('extraHumid12',  'REAL'),
58a90,101
>   ('extraSigPercent1',   'REAL'),
>   ('extraSigPercent2',   'REAL'),
>   ('extraSigPercent3',   'REAL'),
>   ('extraSigPercent4',   'REAL'),
>   ('extraSigPercent5',   'REAL'),
>   ('extraSigPercent6',   'REAL'),
>   ('extraSigPercent7',   'REAL'),
>   ('extraSigPercent8',   'REAL'),
>   ('extraSigPercent9',   'REAL'),
>   ('extraSigPercent10',   'REAL'),
>   ('extraSigPercent11',   'REAL'),
>   ('extraSigPercent12',   'REAL'),
70c113,125
<   ('inTempBatteryStatus',  'REAL')]
---
>   ('inTempBatteryStatus',  'REAL'),
>   ('extraTempBatteryStatus1',  'REAL'),
>   ('extraTempBatteryStatus2',  'REAL'),
>   ('extraTempBatteryStatus3',  'REAL'),
>   ('extraTempBatteryStatus4',  'REAL'),
>   ('extraTempBatteryStatus5',  'REAL'),
>   ('extraTempBatteryStatus6',  'REAL'),
>   ('extraTempBatteryStatus7',  'REAL'),
>   ('extraTempBatteryStatus8',  'REAL'),
>   ('extraTempBatteryStatus9',  'REAL'),
>   ('extraTempBatteryStatus10',  'REAL'),
>   ('extraTempBatteryStatus11',  'REAL'),
>   ('extraTempBatteryStatus12',  'REAL')]


> 3 add the units for each new field.  in the file bin/user/extensions.py 
> add something like this:
>
> import weewx.units
> weewx.units.obs_group_dict['extraTemp4'] = 'group_temperature'
> weewx.units.obs_group_dict['extraTemp5'] = 'group_temperature'
> weewx.units.obs_group_dict['extraTemp6'] = 'group_temperature'
> weewx.units.obs_group_dict['extraTemp7'] = 'group_temperature'
> weewx.units.obs_group_dict['extraHumid4'] = 'group_percent'
> weewx.units.obs_group_dict['extraHumid5'] = 'group_percent'
> weewx.units.obs_group_dict['extraHumid6'] = 'group_percent'
> weewx.units.obs_group_dict['extraHumid7'] = 'group_percent'
>

I added the units (excluding battery status, as I couldn't find an example):

[root@weather schemas]# cd ../user/
[root@weather user]# more extensions.py
#
#Copyright (c) 2009-2015 Tom Keffer 
#
#See the file LICENSE.txt for your full rights.
#

"""User extensions module

This module is imported from the main executable, so anything put here will 
be
executed before anything else happens. This makes it a good place to put 
user
extensions.
"""

import locale
# This will use the locale specified by the environment variable 'LANG'
# Other options are possible. See:
# http://docs.python.org/2/library/locale.html#locale.setlocale
locale.setlocale(locale.LC_ALL, '')

import weewx.units
weewx.units.obs_group_dict['extraTemp4'] = 'group_temperature'
weewx.units.obs_group_dict['extraTemp5'] = 'group_temperature'

Re: [weewx-user] Re: Noob help setting up acurite bridges and indoor sensors

2019-04-27 Thread Ken Booth
On Saturday, 27 April 2019 20:09:46 UTC+2, vince wrote:

>
> There are a few moving parts to deal with:
>  - you need to get your sensor data into the database(s) you're trying to 
> populate
>  - you need to generate the image(s) you want to display
>  - you possibly need to add/delete/alter any text data you want to 
> generate in the skin(s) you want to display it in
>  - you possibly need to similarly tweak the .tmpl file for the skin(s) you 
> want to show the text data or image in
>
> I took a quick look at the wiki and user + customization guides online and 
> can't find a simple example of all the steps, which would be a hole in the 
> documentation unless I missed it someplace.   A lot of the docs are perhaps 
> a bit low-level for the simple case of '*I have a sensor to add, how do I 
> get it into a db and then display it on my web pages*'.  Sometimes I 
> guess the docs get a bit too low-level for the obvious minimal tweaks 
> people do to salt to taste...
>

Uggh! I've just dumped the schema and there's not enough temperature, 
humidity, pressure, battery level, and signal strength columns for 11 
sensors

There's only 3 extraTemps and it would be messy to hijack soilTemp and 
leafTemp, there's only 2 extraHumids, only 1 baramoter and signal, and no 
extraBatteryStatus

Looks like it's going to be a lot of work to rewrite everything to 
duplicate what hubapi.myacurite.com used to do :-(

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [weewx-user] Re: Noob help setting up acurite bridges and indoor sensors

2019-04-27 Thread Ken Booth
On Saturday, 27 April 2019 17:06:23 UTC+2, Leon Shaner wrote:
>
> Ken,
>
> Sorry, I failed to delete the second "driver = user.interceptor" line. 
>  That was the cause of the duplicate keyword complaint
>

I removed that myself - the error was because the syntax doesn't allow 
multiple inTemp lines 
 

> You do realize all those China / Swiss ones are commented out, right?
> So you really only have the one inTemp set:
>
> inTemp = temperature.*.*
>
> Yes, because the others weren't allowed.

So the syntax does allow:

cn1_Temp = temperature.12387.*
cn1_Humidity = humidity.12387.*
cn1_rometer = barometer.12387.*
cn1_CheckPercent = rxCheckPercent.12387.*
cn1_BatteryStatus = txBatteryStatus.12387.*
cn2_inTemp = temperature.15283.*
cn2_inHumidity = humidity.15283.*
cn2_barometer = barometer.15283.*
cn2_rxCheckPercent = rxCheckPercent.15283.*
cn2_txBatteryStatus = txBatteryStatus.15283.*
cn3_inTemp = temperature.5422.*
cn3_inHumidity = humidity.5422.*
cn3_barometer = barometer.5422.*
cn3_rxCheckPercent = rxCheckPercent.5422.*
cn3_txBatteryStatus = txBatteryStatus.5422.*
cn4_inTemp = temperature.2266.*
cn4_inHumidity = humidity.2266.*
cn4_barometer = barometer.2266.*
cn4_rxCheckPercent = rxCheckPercent.2266.*
cn4_txBatteryStatus = txBatteryStatus.2266.*

but, I can't see anywhere in the next sections to customise the web pages 
to show graphs from these readings,

What I have is:

[image: weather.jpg]

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [weewx-user] Re: Noob help setting up acurite bridges and indoor sensors

2019-04-27 Thread Ken Booth
On Saturday, 27 April 2019 15:58:57 UTC+2, Leon Shaner wrote:
>
> Hey, Ken,
>
> You've got two [Interceptor] sections, run together, using two different 
> IP addresses.
>
> So you should end up with the following for the [Interceptor] section, but 
> check that the IP is correct:
>
>
> ##
>
> [Interceptor]
> # This section is for the network traffic interceptor driver.
>
> # The driver to use:
> driver = user.interceptor
>
> # Specify the hardware device to capture.  Options include:
> #   acurite-bridge - acurite internet bridge, smarthub, or access
> #   observer - fine offset WH2600/HP1000/HP1003, ambient WS2902
> #   lw30x - oregon scientific LW301/LW302
> #   lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
> #   wu-client - any hardware that uses the weather underground protocol
>
> driver = user.interceptor
> device_type = acurite-bridge
> mode = listen
> iface = ens3
> pcap_filter = src 192.168.2.10 and dst port 80
>
> [[sensor_map]]
> inTemp = temperature.8565.*  
> inTemp = temperature.12520.* 
> inTemp = temperature.2190.*  
>
>
> ##
>
>
> Regards,
> Leon
> --
> Leon Shaner :: Dearborn, Michigan (iPhone)
>

Thanks Leon,

However, it didn't like that:
Apr 27 15:39:52 hostname weewx[20326]: engine: Error while parsing 
configuration file /etc/weewx/weewx.conf
Apr 27 15:39:52 hostname weewx[20326]: Reason: 'Duplicate keyword 
name at line 79.'

Now I've got:
[Interceptor]
driver = user.interceptor
device_type = acurite-bridge
mode = listen
iface = ens3
pcap_filter = src 192.168.180.0/22 and dst port 80
[[sensor_map]]
inTemp = temperature.*.*
inHumidity = inHumidity.*.*
barometer = barometer.*.*
rxCheckPercent = rxCheckPercent.*.*
txBatteryStatus = txBatteryStatus.*.*

#inTemp = temperature.12387.* china room 1
#inTemp = temperature.15283.* china room 2
#inTemp = temperature.5422.* china room 3
#inTemp = temperature.2266.* china room 4
#inTemp = temperature.8565.* swiss room 1
#inTemp = temperature.12520.* swiss room 2
#inTemp = temperature.2190.* swiss room 3

But, looking at the my webpage, I'm only getting one value for inside 
temperature, so I'm guessing that I need to define each sensor with a 
different name other than inTemp

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[weewx-user] Noob help setting up acurite bridges and indoor sensors

2019-04-26 Thread Ken Booth
Hi,

I've tried reading through the customisation details for WeeWx but from 
skimming through it seems to be mainly concerned with weather stations, and 
I'm simply trying to replace the service that Acurite pulled the plug on.

I have 2 obsolete Acurite Smart Hubs with 5 indoor sensors on each, which 
I'm using mainly to track humidity in my remote building to avoid mould. 
I've installed the weewx interceptor and configured it to listen on port 
80, and installed httpd listening on port 8080.

When I try to add more than 1 sensor to the /etc/weewx/weewx.conf file, I 
get syntax errors and same if I try to add more than [Interceptor], so I'm 
obviously not understanding the syntax.

When I use Mozilla to look at the pages generated in /var/www/html/weewx/ 
there's a whole load of rainfall and windspeed stuff which my sensors won't 
be detecting, and I can't see any data from the one indoor sensor which is 
configured.

Please can someone suggest a very simple setup, that I can use just to get 
temp/pressure/humidity graphs and how to get email alerts when threshholds 
are exceeded?

PS: I can't even give in to Channey Instruments' extortion racket and buy 
an upgrade, because Amazon Global won't ship to Switzerland/China since 
GDPR and Channey refuse to ship outside US/Canada.

TIA

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.