I followed that guidance, removed my hack to units.py, placed the entries in user/lakedata.py, and it's great. to wit: LakeElev 594.74 ftMSL
Yeah. Thank you again. This is probably what I should've done way back in the 3.9 days. Phil On Sun, Jul 16, 2023 at 11:00 PM Messy Potamia <messypota...@gmail.com> wrote: > > Before I read your reply I edited units.py and added LakeElev to > group_altitude at the bottom of the ...Dicts whatever-that-is, gave it > some time, had a bourbon, and lo and behold it is now printing out > lake elevation as ""LakeElev 594.75 feet" instead of 594.750000 > But I'm going to read your section Assigning a unit group to see what > I did wrong. Don't know how I missed that. > Thanks > Phil > > On Sun, Jul 16, 2023 at 10:44 PM Tom Keffer <tkef...@gmail.com> wrote: > > > > The answer is that you're confusing units (such as "inHg") with observation > > types (such as "LakeElev"). > > > > The [[[[StringFormats]]]] section uses units as keys, not observation > > types. If LakeElev is measured in meters, it will use whatever formatting > > has been specified for meters. > > > > I suspect that you have not specified which unit group LakeElev is in, so > > WeeWX is just printing out the raw, unformatted value. See the section > > Assigning a unit group for how to do this. Once it's a member of a unit > > group (say "group_altitude") it will use whatever unit that group is > > measured in (usually meters or feet) and follow the formatting conventions > > for that unit. > > > > Or, maybe you have already done that and something else is wrong, in which > > case, come back and give us more details. > > > > -tk > > > > On Sun, Jul 16, 2023 at 11:45 AM Messy Potamia <messypota...@gmail.com> > > wrote: > >> > >> re: "3. I'm not following your question about "LakeElev". I don't know > >> what that is." > >> I have a ultrasonic range sensor (MaxBotix) which uses ttyS0 on the pi > >> which some python code (which has been working very well for several > >> years and still is) which writes a single line of text containing two > >> values to a file. My /home/weewx/bin/user/lakedata.py reads the first > >> value, converts it to a float, and stores it in the new parameter I > >> added to the weewx.sdb using the utility to add a column. Using a > >> sqlitebrowser i verified that column is populating every 5 minutes. > >> The name of the column is LakeElev; weewx is successfully displaying > >> that data since I've added it to the proper skins/configs. > >> The only problem is, even after reading & rereading the guides, I > >> don't get how I tell weewx to treat that as a fully organized > >> measurement. For instance, added "[[[[StringFormats]]]] > >> inHg = %.2f" to weewx.conf and it indeed gives the desired > >> format to barometer. However, my attempts to provide a format to > >> LakeElev has met with acute disaster. Here's a segment from my > >> weewx.conf with comments: > >> > >> [[[[StringFormats]]]] > >> > >> count = %d > >> foot = %.2f > >> inch2 = %.1f > >> inHg = %.2f > >> # LakeElev = %.2f #DOES NOTHING > >> # $current.LakeElev.format(format_string="%.2f") > >> #CRASHES STDREPORT THREAD > >> # current.LakeElev.format(format_string="%.2f") > >> #CRASHES ENGINE > >> > >> As you can see I still don't know what I'm doing. Here's the contents > >> of my lakedata.py, which is working fine, but notice the #Note I wrote > >> to myself in it: > >> > >> #!/usr/bin/env python > >> > >> #file user/lakedata.py > >> import weewx > >> import weewx.units > >> from weewx.engine import StdService > >> > >> class AddLakedata(StdService): > >> > >> def __init__(self, engine, config_dict): > >> # Initialize my superclass first: > >> super(AddLakedata, self).__init__(engine, config_dict) > >> # Bind to any new archive record events: > >> self.bind(weewx.NEW_ARCHIVE_RECORD, > >> self.new_archive_packet) > >> > >> def new_archive_packet(self, event): > >> > >> #(code that reads two measurements from a file) > >> with open("/home/pi/wxdata/weewxmbdata.dat") as f: > >> for line in f: > >> numbers_str = line.split() > >> numbers_float = [float(x) for x in > >> numbers_str] > >> value1 = numbers_float[0] > >> value2 = numbers_float[1] > >> > >> event.record['LakeElev'] = value1 > >> # event.record['lakeWaveheight'] = value2 > >> > >> # > >> #Am I supposed to assign this to a units group? Which is best? What if I > >> don't? > >> > >> > >> > >> Okay something tells me there's a few things i'm leaving out in adding > >> this parameter. Like I said, back in the 3.9. days I modified some > >> file (units.py?) but was told that wasn't the best way to add my > >> lakedata parameters (which back then included LakeElevation and > >> WaveHeight). > >> I'd like to do this the preferred way. > >> > >> Thanks again, so much - - - > >> Phil > >> > >> On Sun, Jul 16, 2023 at 4:22 PM Tom Keffer <tkef...@gmail.com> wrote: > >> > > >> > Sorry. I had assumed you were still using your v3.9.1 Seasons skin. If > >> > that's the case, the tag $current.barometer is in the file > >> > Seasons/current.inc. > >> > > >> > Incidentally, there's no reason not to continue using your old skin. > >> > > >> > But, if you are actually using a V4 skin, then to answer your questions: > >> > > >> > 1. The line "#set observations = ..." is actually saying get the set of > >> > observations from $DisplayOptions. If DisplayOptions does not have an > >> > entry, then the fallback is to use just outTemp and barometer. See the > >> > configuration file skin.conf for what's in DisplayOptions. > >> > > >> > 2. You can specify an override for the barometer formatting for the unit > >> > "inHg" in weewx.conf: > >> > > >> > [StdReport] > >> > ... > >> > [[Defaults]] > >> > ... > >> > [[[Units]]] > >> > ... > >> > [[[[StringFormats]]]] > >> > inHg = %.2f > >> > > >> > 3. I'm not following your question about "LakeElev". I don't know what > >> > that is. > >> > > >> > > >> > On Sun, Jul 16, 2023 at 12:33 AM Messy Potamia <messypota...@gmail.com> > >> > wrote: > >> >> > >> >> Where do those 2 formatting statements go? > >> >> Also, why, in current.inc, is the line > >> >> #set $observations = > >> >> $to_list($DisplayOptions.get('observations_current', ['outTemp', > >> >> 'barometer'])) > >> >> containing only outTemp and barometer? Where are the rest of the items > >> >> displayed in Current Conditions? Sorry I'm just not getting the > >> >> formatting layout big picture. Yes I'm reading the customization guide > >> >> but I'm having questions as I read it. > >> >> Thanks! > >> >> > >> >> On Sun, Jul 16, 2023 at 12:22 AM Tom Keffer <tkef...@gmail.com> wrote: > >> >> > > >> >> > For altitude, format it like any other tag. See the section > >> >> > Formatting options in the Customizing Guide. For example, if you do > >> >> > not want anything beyond the decimal point: > >> >> > > >> >> > $station.altitude.format("%.0f") > >> >> > > >> >> > Same with barometer. To show 2 digits: > >> >> > > >> >> > $current.barometer.format("%.2f") > >> >> > > >> >> > Whether it is in bold is a function of whatever CSS styling you are > >> >> > using. > >> >> > > >> >> > -tk > >> >> > > >> >> > > >> >> > On Sat, Jul 15, 2023 at 2:55 PM messyp...@gmail.com > >> >> > <messypota...@gmail.com> wrote: > >> >> >> > >> >> >> I got the added measurement added to the database, and into the > >> >> >> skins, however I don't need Lake Elevation to be show in so many > >> >> >> digits. I previously (3.9.1) had it showing 2 digits to the right > >> >> >> of the decimal. > >> >> >> Also, I don't know what happened but now the Barometer has changed > >> >> >> its formatting to bold and more decimal places. > >> >> >> Where do I fix this? > >> >> >> Thanks - - - > >> >> >> Current Conditions > >> >> >> > >> >> >> Outside Temperature > >> >> >> 86.1°F > >> >> >> Dew Point > >> >> >> 73.8°F > >> >> >> Outside Humidity > >> >> >> 67% > >> >> >> Barometer > >> >> >> 29.799 inHg (-0.033) > >> >> >> Wind > >> >> >> 0 mph N/A ( N/A) > >> >> >> Rain Today > >> >> >> 0.02 in > >> >> >> Rain Rate > >> >> >> 0.00 in/h > >> >> >> Inside Temperature > >> >> >> 92.6°F > >> >> >> LakeElev > >> >> >> 594.770000 > >> >> >> Inside Humidity > >> >> >> 64% > >> >> >> > >> >> >> -- > >> >> >> 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/c2c9ce27-f091-4ddb-afad-616d6c287bfdn%40googlegroups.com. > >> >> > > >> >> > -- > >> >> > 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/9hY3_PBqY5E/unsubscribe. > >> >> > To unsubscribe from this group and all its topics, 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/CAPq0zEAaMotCOwYy6y0sqiPK-n8Jzz1F2ZzRB0t5ofQtfJefBQ%40mail.gmail.com. > >> >> > >> >> -- > >> >> 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/CAB7-S75_iZULqbfyqN7s8bMqYfG9q%2B17k7pOjJrvsLj2qU1Q2w%40mail.gmail.com. > >> > > >> > -- > >> > 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/9hY3_PBqY5E/unsubscribe. > >> > To unsubscribe from this group and all its topics, 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/CAPq0zEAfhRDtxg7L3Dbhu_WtVPyhurobZqtNGJXqDzs%3Dr30YiQ%40mail.gmail.com. > >> > >> -- > >> 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/CAB7-S77C0xBBmP%3Dmse%3DOVHFV_-dSJRKbMNGB7q7b8Qn3jZvFOg%40mail.gmail.com. > > > > -- > > 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/9hY3_PBqY5E/unsubscribe. > > To unsubscribe from this group and all its topics, 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/CAPq0zEDyYZMH8Nfe-thQL99r-g3WtkRFHvnQM9-TWtFkUuVogA%40mail.gmail.com. -- 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/CAB7-S76j3_nfQHA9GVUZ3AM_TYU_ySvLT0%3Dtv0bSmjmsHbdEtw%40mail.gmail.com.