try [[field_map]] instead of [[field map]]. If that does not work edit weewx.conf, set debug = 1, save weewx.conf and then restart WeeWX. Let WeeWX run for five minutes or so then post a log extract from when you restarted WeeWX through until the five minutes elapsed. post the log extract here.
Gary On Friday, 21 August 2020 10:12:52 UTC+10, Timothy Buchanan wrote: > > OK, I placed this at the end of weewx.conf: > > # Options for extension 'GW1000' > [GW1000] > driver = user.gw1000 > [[field map]] > extraTemp2 = intemp > extraHumid2 = inhumid > extraTemp1 = temp1 > extraHumid1 = humid1 > soilMoist1 = soilmoist1 > > Result is the same as before; the first two lines produce null values in > the database, and the latter three appear in the correct fields. In fact, > it doesn't seem to matter what I put in this file. For example: > > > # Options for extension 'GW1000' > [GW1000] > driver = user.gw1000 > [[field map]] > extraTemp2 = intemp > extraHumid2 = inhumid > extraTemp1 = foobar1 > extraHumid1 = foobar2 > soilMoist1 = foobar3 > > produces the same results! The first two lines give nulls; foobar lines > work. Is this the correct format and location for a field map? > > On Thursday, August 20, 2020 at 2:41:03 PM UTC-6 gjr80 wrote: > >> Thanks, now I understand. You have the right approach but unfortunately >> the execution is not quite correct. Did you run the driver directly with >> the —live-data command line option? The output will detail all of the >> available GW1000 ‘fields’ and their current values. Those field names are >> what should be used on the right hand side of the = in the field map >> entries. You will notice the GW1000 ‘fields’ are all in lowercase. So you >> should be using: >> >> extraTemp2 = intemp >> >> Likewise extraHumid2 and soilMoist1. Your extraTemp1 mapping should be: >> >> extraTemp1 = temp1 >> >> Likewise extraHumid1. >> >> Gary >> >> On Friday, 21 August 2020 at 05:41:47 UTC+10 [email protected] wrote: >> >>> Thanks for the detailed reply; I'll try to be more clear. I have two >>> services running, as indicated by this line: >>> >>> data_services = user.bme280wx.Bme280wx, user.gw1000.Gw1000Service >>> >>> The first service is an i2c sensor providing temp/humidity at the >>> raspberry pi. It's options are so: >>> >>> [Bme280wx] >>> temperature_must_have = "" >>> humidityKeys = inHumidity >>> pressureKeys = "" >>> pressure_must_have = "" >>> i2c_port = 1 >>> humidity_must_have = "" >>> i2c_address = 0x76 >>> usUnits = US >>> temperatureKeys = inTemp >>> >>> The sensor data are humidityKeys and temperatureKeys and they are mapped >>> to inHumidity and inTemp. This service runs and reports properly; where my >>> skin uses inTemp the data from the sensor is displayed. >>> >>> The GW1000 options are currently set so, following the instructions in >>> your reply: >>> >>> >>> [GW1000] >>> driver = user.gw1000 >>> [[field map]] >>> extraTemp2 = inTemp >>> extraHumid2 = inHumidity >>> extraTemp1 = extraTemp1 >>> extraHumid1 = extraHumid1 >>> soilMoist1 = soilMoist1 >>> >>> Three of the fields provided by the GW1000 are the same in the database >>> (the latter three), and they are reporting correctly. I want the GW1000 >>> fields inTemp and inHumidity to map to the weewx database fields extraTemp2 >>> and extraHumid2. That is not working with the field map as shown. Have I >>> missed something? >>> >>> >>> On Wednesday, August 19, 2020 at 6:03:58 PM UTC-6 gjr80 wrote: >>> >>>> Hi, >>>> >>>> I think we might need a bit of clarification as to what it is you are >>>> trying to do. You say "inTemp is being used by another service", do you >>>> mean that WeeWX field inTemp is being *provided* by another >>>> service/driver (which has consequences for running the GW1000 driver as >>>> as >>>> service) or do you mean WeeWX field inTemp is being *used* by another >>>> service (which has no consequences for the GW1000 driver when run as a >>>> service). Does the same apply for inHumidity? When you ran the GW1000 >>>> driver directly with --test-service there was no extraTemp2 or >>>> extraHumid2 fields and your field map does not map anything to these >>>> fields so I would expect extraTemp2 and extraHumid2 to show as N/A in >>>> any reports. >>>> >>>> Perhaps you have a misunderstanding re the field map. The field map >>>> maps GW000 'fields' to WeeWX fields. The GW1000 driver uses a default >>>> field >>>> map. The default field map can be altered in two ways; you can replace the >>>> entire default field map by defining your own field map using a >>>> [[field_map]] stanza, or you can alter the default field map by >>>> listing changes to the default field map in a [[field_map_extensions]] >>>> stanza. It is not clear if you were attempting one of these approaches as >>>> you have no [[ ]] level stanza in the config extra you posted. Also >>>> when defining a field map entry the format is: >>>> >>>> WeeWX field name = GW1000 field name >>>> >>>> where: >>>> GW1000 field name is the name of the GW1000 'field' that you >>>> wish to map >>>> WeeWX field name is the WeeWX field name you wish to contain >>>> the data from the GW1000 'field' concerned. The WeeWX field name is the >>>> the >>>> field name you will use in reports etc >>>> >>>> You can see what fields your GW1000 emits by running the GW1000 driver >>>> directly with the --live-data command line option (the fields shown >>>> when running the driver directly using the --test-service or >>>> --test-driver command line options are WeeWX field names, ie they have >>>> been mapped using the field map, fields shown using --live-data are >>>> GW1000 'fields' ie they are unmapped). >>>> >>>> Gary >>>> >>>> On Thursday, 20 August 2020 08:15:29 UTC+10, Timothy Buchanan wrote: >>>>> >>>>> I installed GW1000 as a service and the test-service command gives >>>>> this output: >>>>> >>>>> dateTime: 1597861672, dummyTemp: 96.3, extraHumid1: 26, extraTemp1: >>>>> 85.1, inHumidity: 33, inTemp: 75.74, pressure: 22.2360805875, >>>>> relbarometer: >>>>> 753.0, soilMoist1: 15, usUnits: 1, wh31_ch1_batt: 0, wh51_ch1_batt: 0 >>>>> >>>>> In weewx.conf, I put this list of options: >>>>> >>>>> [GW1000] >>>>> driver = user.gw1000 >>>>> inTemp = extraTemp2 >>>>> inHumidity = extraHumid2 >>>>> extraTemp1 = extraTemp1 >>>>> extraHumid1 = extraHumid1 >>>>> soilMoist1 = soilMoist1 >>>>> pressure = "" >>>>> >>>>> I chose these because inTemp is being used by another service. When I >>>>> tried to use the data in my skin (modified exfoliation), I found that >>>>> extraTemp2 and extraHumid2 are shown as NA. The other values are >>>>> displayed. >>>>> What did I do wrong here? Thanks for any help. >>>>> >>>> -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/a4c55e03-fa3f-4798-8ace-8db4bbd023feo%40googlegroups.com.
