Thanks to all. Honestly I did not expect so many replys in a few hours. @@ gjr80 Thats clear for me now and it is working. Thanks again!
@@ tk You are right. The path to the fonts did not exist. I have changed it as your advice. The FreeMonoBold.ttf is available on the server in /usr/share/fonts/truetype/freefont I have changed the path in the skin.conf file and the funky symbol gone. I waste hours and days to sort this 2 things out. Now fixed within 2 hours with your help. Much appreciated. Cheers Michael Am Montag, 3. Juli 2017 10:22:09 UTC+7 schrieb Andrew Milner: > > 1. Check that you have indented correctly at the start of the lines you > have changed/inserted with the correct number of spaces > 2. Try and change time formats in units section > 3. Make sure that weewx.conf is not overriding changes made in the skin > 4. Check, as Tom suggested, that you are using a font which is actually > installed. > > > On Monday, 3 July 2017 04:29:06 UTC+3, Mike wrote: > >> Hello, >> >> I am vey new to Weewx using the Sofaskin. Thanks to tk for this billiant >> software. >> >> It is my first post and like to intoduce my self. >> >> My name is Michael and the PWS Davis Pro with a WeatherLink IP is running >> in Thailand. >> English is not my native language. Please forgive me my spelling errors >> and the grammar. >> >> The past 14 days I was reading a lot here in the Forum. Most answers I >> got from the Weewx docu which is very good. >> I did some changes using MySql, added rain rate grahs (the daily is not >> working at the moment, hopefully can sort it out today) and a lot of other >> minor changes. >> >> Now I am really struggeling to change the top label font size and the >> date format for all graphs. >> >> Trying to change the top labe font size >> >> [ImageGenerator] >> >> top_label_font_size = 16 # 12 >> >> and >> >> [[[daybarometer]]] >> >> *top_label_font_size = 16 bottom_label_font_size = 16* >> [[[[barometer]]]] >> >> Nothing changed in my graphs. >> >> The next point is the time format in the graphs. I prefer day / month / >> year >> >> [[day_images]] >> x_label_format = %H:%M >> *bottom_label_format = %d/%m/%y %H:%M* >> time_length = 97200 # == 27 hours >> >> It is working only for the index.html >> >> I changed it also for the week images, month and year images. It took not >> place. >> I reversed it back to >> >> >> [[week_images]] >> x_label_format = %d >> *bottom_label_format = %x/%X* >> time_length = 604800 # == 7 days >> aggregate_type = avg >> aggregate_interval = 3600 >> >> If I change the *bottom_label_format = %x/%X **to **bottom_label_format >> = %X/%x* The changes take place from date/time to time/date. >> My undestanding is: *%x/%X* is the time format of the Linux server. >> >> Why does this format not work *bottom_label_format = %d/%m/%y %H:%M *for >> the weekly, monthly, yearly graphs? >> >> My Weewx URL >> >> http://www.bang-saray.org/weewx/ >> >> and below the skin.conf >> >> Thanks in advance. >> Michael >> >> >> ############################################################################### >> # $Id: skin.conf 2749 2014-11-29 18:15:24Z tkeffer >> $ # >> # Copyright (c) 2010 Tom Keffer <[email protected]> >> # >> # SOFA SKIN (c) 2015 Sven Reifschneider <[email protected]> >> >> # >> # SOFA SKIN CONFIGURATION >> FILE # >> >> ############################################################################### >> >> [Extras] >> # Template Extras >> >> # Current radar image >> radar_img = http://www.dwd.de/wundk/radar/Webradar_Deutschland.jpg >> # Current radar animation (starts on radar_img hover) >> radar_gif = http://www.dwd.de/wundk/radar/Radarfilm_WEB_DL.gif >> # Hyperlink for radar >> radar_url = http://www.dwd.de >> >> # Lightning map and hyperlink >> lightning_map = http://images.blitzortung.org/Images/image_b_de.png >> lightning_url = http://www.lightningmaps.org/realtime?lang=de >> >> # URL for another radar (for example full Europe, Frankfurt center) >> radar_url_alt = >> http://meteox.com/meteox-maps.aspx?a=1&z=7&lat=50.1109221&lon=8.682126700000026 >> radar_url_alt_text = "Meteox Europe Radar" >> >> # You. Only shows up in footer >> you = "Sven" >> >> # Google Analytics ID >> #googleAnalyticsId = UA-12345678-1 >> >> >> ############################################################################### >> >> [Units] >> # This section is for managing the selection and formatting of units. >> >> [[Groups]] >> # For each group of measurements, this section sets what units to >> # use for it. >> # NB: The unit is always in the singular. I.e., 'mile_per_hour', >> # NOT 'miles_per_hour' >> group_altitude = meter # Options are 'foot' or >> 'meter' >> group_degree_day = degree_C_day # Options are >> 'degree_F_day' or 'degree_C_day' >> group_direction = degree_compass >> group_moisture = centibar >> group_percent = percent >> group_pressure = hPa # Options are 'inHg', >> 'mmHg', 'mbar', or 'hPa' >> group_radiation = watt_per_meter_squared >> group_rain = mm # Options are 'inch', >> 'cm', or 'mm' >> group_rainrate = mm_per_hour # Options are >> 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour' >> group_speed = km_per_hour # Options are >> 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second' >> group_speed2 = km_per_hour2 # Options are >> 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' >> group_temperature = degree_C # Options are >> 'degree_F' or 'degree_C' >> group_uv = uv_index >> group_volt = volt >> >> # The following are used internally and should not be changed: >> group_count = count >> group_interval = minute >> group_time = unix_epoch >> group_elapsed = second >> >> [[StringFormats]] >> # This section sets the string formatting for each type of unit. >> centibar = %.0f >> cm = %.2f >> cm_per_hour = %.2f >> degree_C = %.1f >> degree_F = %.1f >> degree_compass = %.0f >> foot = %.0f >> hPa = %.0f >> hour = %.1f >> inHg = %.3f >> inch = %.2f >> inch_per_hour = %.2f >> km_per_hour = %.0f >> km_per_hour2 = %.1f >> knot = %.0f >> knot2 = %.1f >> mbar = %.0f >> meter = %.0f >> meter_per_second = %.1f >> meter_per_second2 = %.1f >> mile_per_hour = %.0f >> mile_per_hour2 = %.1f >> mm = %.1f >> mmHg = %.1f >> mm_per_hour = %.1f >> percent = %.0f >> second = %.0f >> uv_index = %.0f >> volt = %.1f >> watt_per_meter_squared = %.0f >> NONE = " N/A" >> >> [[Labels]] >> # This section sets a label to be used for each type of unit. >> centibar = " cb" >> cm = " cm" >> cm_per_hour = " cm/h" >> degree_C = °C >> degree_F = °F >> degree_compass = ° >> foot = " feet" >> hPa = " hPa" >> inHg = " inHg" >> inch = " in" >> inch_per_hour = " in/h" >> km_per_hour = " km/h" >> km_per_hour2 = " km/h" >> knot = " knoten" >> knot2 = " knoten" >> mbar = " mbar" >> meter = " meter" >> meter_per_second = " m/s" >> meter_per_second2 = " m/s" >> mile_per_hour = " mph" >> mile_per_hour2 = " mph" >> mm = " mm" >> mmHg = " mmHg" >> mm_per_hour = " mm/h" >> percent = % >> volt = " V" >> watt_per_meter_squared = " W/m²" >> day = " day", " days" >> hour = " hour", " hours" >> minute = " minute", " minutes" >> second = " second", " seconds" >> NONE = "" >> >> [[TimeFormats]] >> # This section sets the string format to be used for each time >> scale. >> # The values below will work in every locale, but may not look >> # particularly attractive. See the Customizing Guide for >> alternatives. >> >> day = %H:%M >> week = %H:%M on %A >> month = %d-%b-%Y %H:%M >> year = %d-%b-%Y %H:%M >> rainyear = %d-%b-%Y %H:%M >> current = %d-%b-%Y %H:%M >> ephem_day = %H:%M >> ephem_year = %d-%b-%Y %H:%M >> >> >> >> [[Ordinates]] >> # The ordinal directions. The last one should be for no wind >> direction >> directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, >> W, WNW, NW, NNW, N/A >> >> [[DegreeDays]] >> # This section sets the base temperatures used for the calculation >> # of heating and cooling degree-days. >> >> # Base temperature for heating days, with unit: >> heating_base = 65, degree_F >> # Base temperature for cooling days, with unit: >> cooling_base = 65, degree_F >> >> [[Trend]] >> time_delta = 10800 # 3 hours >> time_grace = 300 # 5 minutes >> >> >> ############################################################################### >> >> [Labels] >> # Labels used in this skin >> # Set to hemisphere abbreviations suitable for your location: >> hemispheres = N, S, E, W >> # Formats to be used for latitude whole degrees, longitude whole >> degrees, >> # and minutes: >> latlon_formats = "%02d", "%03d", "%05.2f" >> >> [[Generic]] >> # Generic labels, keyed by an observation type. >> barometer = Barometer >> dewpoint = Dew Point >> heatindex = Heat Index >> inHumidity = Inside Humidity >> inTemp = Inside Temperature >> outHumidity = Outside Humidity >> outTemp = Outside Temperature >> radiation = Radiation >> rain = Rain >> rainRate = Rain Rate >> rxCheckPercent = ISS Signal Quality >> UV = UV Index >> windDir = Wind Direction >> windGust = Gust Speed >> windGustDir = Gust Direction >> windSpeed = Wind Speed >> windchill = Wind Chill >> windgustvec = Gust Vector >> windvec = Wind Vector >> >> # This one is probably specific to my station! >> extraTemp1 = Pond Temperature >> >> >> ############################################################################### >> >> [Almanac] >> # The labels to be used for the phases of the moon: >> moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, >> Full, Waning gibbous, Last quarter, Waning crescent >> >> >> ############################################################################### >> >> [CheetahGenerator] >> # This section is used by the generator CheetahGenerator, and >> specifies >> # which files are to be generated from which template. >> # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii' >> encoding = html_entities >> >> [[SummaryByMonth]] >> # Reports that summarize "by month" >> [[[NOAA_month]]] >> encoding = utf8 >> template = NOAA/NOAA-YYYY-MM.txt.tmpl >> >> [[SummaryByYear]] >> # Reports that summarize "by year" >> [[[NOAA_year]]] >> encoding = utf8 >> template = NOAA/NOAA-YYYY.txt.tmpl >> >> [[ToDate]] >> # Reports that show statistics "to date", such as day-to-date, >> # week-to-date, month-to-date, etc. >> [[[day]]] >> template = index.html.tmpl >> >> [[[week]]] >> template = week.html.tmpl >> >> [[[month]]] >> template = month.html.tmpl >> >> [[[year]]] >> template = year.html.tmpl >> >> [[[RSS]]] >> template = RSS/weewx_rss.xml.tmpl >> >> >> ############################################################################### >> >> [CopyGenerator] >> # This section is used by the generator CopyGenerator >> >> # List of files to be copied only the first time the generator runs >> copy_once = css/main.css, js/*, .htaccess, 404.html, robots.txt, >> touch-icon.png >> >> >> ############################################################################### >> >> [ImageGenerator] >> >> # This section lists all the images to be generated, what SQL types >> are to >> # be included in them, along with many plotting options, such as >> color or >> # font. There's a default for almost everything, if not specified >> below. >> # Nevertheless, I have explicitly put in values, to make it easy to >> see >> # and understand the options. >> # >> # Fonts can be anything accepted by the Python Imaging Library (PIL), >> which >> # is currently truetype (.ttf), or PIL's own font format (.pil). See >> # http://www.pythonware.com/library/pil/handbook/imagefont.htm for >> more >> # details. Note that "font size" is only used with truetype (.ttf) >> # fonts. For others, font size is determined by the bit-mapped size, >> # usually encoded in the file name (e.g., courB010.pil). If a font >> cannot >> # be found, then a default font will be used. >> # >> # Colors can be specified any of three ways: >> # 1. Notation 0xBBGGRR; >> # 2. Notation #RRGGBB; or >> # 3. Using an English name, such as 'yellow', or 'blue'. >> # So, 0xff0000, #0000ff, or 'blue' would all specify a pure blue >> color. >> >> image_width = 800 # 800 >> image_height = 300 # 300 >> image_background_color = 0xffffff >> >> chart_background_color = 0xffffff >> chart_gridline_color = 0xdbdbdb >> >> top_label_font_path = >> /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf >> top_label_font_size = 16 # 12 >> >> unit_label_font_path = >> /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf >> unit_label_font_size = 12 # 10 >> unit_label_font_color = 0x000000 >> >> bottom_label_font_path = >> /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf >> bottom_label_font_size = 14 #12 >> bottom_label_font_color = 0x000000 >> >> axis_label_font_path = >> /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf >> axis_label_font_size = 12 #10 >> axis_label_font_color = 0x000000 >> >> # Options for the compass rose, used for progressive vector plots >> rose_label = N >> rose_label_font_path = >> /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf >> rose_label_font_size = 10 >> rose_label_font_color = 0x000000 >> >> # Default colors for the plot lines. These can be overridden for >> # individual lines using option 'color' >> chart_line_colors = 0xb48242, 0x4242b4, 0x42b442 >> >> # Type of line. Only 'solid' or 'none' is offered now >> line_type = 'solid' >> >> # Size of marker in pixels >> marker_size = 8 >> # Type of marker. Pick one of 'cross', 'x', 'circle', 'box', or 'none' >> marker_type = 'none' >> >> # Default fill colors for bar charts. These can be overridden for >> # individual bar plots using option 'fill_color' >> chart_fill_colors = 0xc4b272, 0x7272c4, 0x72c472 >> >> # The following option merits an explanation. The y-axis scale used >> for >> # plotting can be controlled using option 'yscale'. It is a 3-way >> tuple, >> # with values (ylow, yhigh, min_interval). If set to "None", a >> parameter is >> # set automatically, otherwise the value is used. However, in the >> case of >> # min_interval, what is set is the *minimum* y-axis tick interval. >> yscale = None, None, None >> >> # For progressive vector plots, you can choose to rotate the vectors. >> # Positive is clockwise. >> # For my area, westerlies overwhelmingly predominate, so by rotating >> # positive 90 degrees, the average vector will point straight up. >> vector_rotate = 90 >> >> # This defines what fraction of the difference between maximum and >> minimum >> # horizontal chart bounds is considered a gap in the samples and >> should not >> # be plotted. >> line_gap_fraction = 0.01 >> bar_gap_fraction = 0.20 >> >> # This controls whether day/night bands will be shown. They only look >> good >> # on the day and week plots. >> show_daynight = true >> # These control the appearance of the bands if they are shown. >> 0xBBGGRR >> # Sofa Skin blue orange: >> # Night: #f0fdff Day: #fefff0 Edge: #f0fffb >> daynight_day_color = 0xf0fffe >> daynight_night_color = 0xfffdf0 >> daynight_edge_color = 0xfbfff0 >> >> ## What follows is a list of subsections, each specifying a time >> span, such >> ## as a day, week, month, or year. There's nothing special about them >> or >> ## their names: it's just a convenient way to group plots with a time >> span >> ## in common. You could add a time span [[biweek_images]] and add the >> ## appropriate time length, aggregation strategy, etc., without >> changing >> ## any code. >> ## >> ## Within each time span, each sub-subsection is the name of a plot >> to be >> ## generated for that time span. The generated plot will be stored >> using >> ## that name, in whatever directory was specified by option >> 'HTML_ROOT' >> ## in weewx.conf. >> ## >> ## With one final nesting (four brackets!) is the sql type of each >> line to >> ## be included within that plot. >> ## >> ## Unless overridden, leaf nodes inherit options from their parent >> >> # Default plot and aggregation. Can get overridden at any level. >> plot_type = line >> aggregate_type = none >> width = 1 >> time_length = 86400 # == 24 hours >> >> [[day_images]] >> x_label_format = %H:%M >> bottom_label_format = %d/%m/%y %H:%M >> time_length = 97200 # == 27 hours >> >> [[[daybarometer]]] >> top_label_font_size = 14 >> bottom_label_font_size = 14 >> [[[[barometer]]]] >> >> [[[daytempdew]]] >> [[[[outTemp]]]] >> [[[[dewpoint]]]] >> >> [[[daytempchill]]] >> [[[[windchill]]]] >> [[[[heatindex]]]] >> >> [[[dayrain]]] >> # Make sure the y-axis increment is at least 0.02 for the >> rain plot >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rain]]]] >> aggregate_type = sum >> aggregate_interval = 3600 >> label = Rain (hourly total) >> >> [[[dayrainrate]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rainRate]]]] >> aggregate_type = max >> label = Rain ratte (hourly max) >> >> [[[dayrx]]] >> [[[[rxCheckPercent]]]] >> >> [[[daypond]]] >> yscale = None, None, 0.5 >> [[[[extraTemp1]]]] >> >> [[[daywind]]] >> [[[[windSpeed]]]] >> [[[[windGust]]]] >> >> [[[dayinside]]] >> [[[[inTemp]]]] >> >> [[[daywinddir]]] >> # Hardwire in the y-axis scale for wind direction >> yscale = 0.0, 360.0, 45.0 >> [[[[windDir]]]] >> >> [[[daywindvec]]] >> [[[[windvec]]]] >> plot_type = vector >> >> [[[dayradiation]]] >> [[[[radiation]]]] >> >> [[[dayuv]]] >> yscale = 0, 16, 1 >> [[[[UV]]]] >> >> [[week_images]] >> x_label_format = %d >> bottom_label_format = %x/%X >> time_length = 604800 # == 7 days >> aggregate_type = avg >> aggregate_interval = 3600 >> >> [[[weekbarometer]]] >> [[[[barometer]]]] >> >> [[[weektempdew]]] >> [[[[outTemp]]]] >> [[[[dewpoint]]]] >> >> [[[weektempchill]]] >> [[[[windchill]]]] >> [[[[heatindex]]]] >> >> [[[weekrain]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rain]]]] >> aggregate_type = sum >> aggregate_interval = 86400 >> label = Rain (daily total) >> >> [[[weekrainrate]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rainRate]]]] >> aggregate_type = max >> label = Week rain rate (daily max) >> >> [[[weekpond]]] >> yscale = None, None, 0.5 >> [[[[extraTemp1]]]] >> >> [[[weekrx]]] >> [[[[rxCheckPercent]]]] >> >> [[[weekwind]]] >> [[[[windSpeed]]]] >> [[[[windGust]]]] >> aggregate_type = max >> >> [[[weekinside]]] >> [[[[inTemp]]]] >> >> [[[weekwinddir]]] >> yscale = 0.0, 360.0, 45.0 >> [[[[windDir]]]] >> >> [[[weekwindvec]]] >> [[[[windvec]]]] >> plot_type = vector >> >> [[[weekradiation]]] >> [[[[radiation]]]] >> >> [[[weekuv]]] >> yscale = 0, 16, 1 >> [[[[UV]]]] >> >> [[month_images]] >> x_label_format = %d >> bottom_label_format = %x/%X >> time_length = 2592000 # == 30 days >> aggregate_type = avg >> aggregate_interval = 10800 # == 3 hours >> show_daynight = false >> >> [[[monthbarometer]]] >> [[[[barometer]]]] >> >> [[[monthtempdew]]] >> [[[[outTemp]]]] >> [[[[dewpoint]]]] >> >> [[[monthtempchill]]] >> [[[[windchill]]]] >> [[[[heatindex]]]] >> >> [[[monthrain]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rain]]]] >> aggregate_type = sum >> aggregate_interval = 86400 >> label = Rain (daily total) >> >> [[[monthrainrate]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rainRate]]]] >> aggregate_type = max >> label = Month rain rate (daily max) >> >> [[[monthpond]]] >> yscale = None, None, 0.5 >> [[[[extraTemp1]]]] >> >> [[[monthrx]]] >> [[[[rxCheckPercent]]]] >> >> [[[monthwind]]] >> [[[[windSpeed]]]] >> [[[[windGust]]]] >> aggregate_type = max >> >> [[[monthinside]]] >> [[[[inTemp]]]] >> >> [[[monthwinddir]]] >> yscale = 0.0, 360.0, 45.0 >> [[[[windDir]]]] >> >> [[[monthwindvec]]] >> [[[[windvec]]]] >> plot_type = vector >> >> [[[monthradiation]]] >> [[[[radiation]]]] >> >> [[[monthuv]]] >> yscale = 0, 16, 1 >> [[[[UV]]]] >> >> [[year_images]] >> x_label_format = %m/%d >> bottom_label_format = %x/%X >> time_length = 31536000 # == 365 days >> aggregate_type = avg >> aggregate_interval = 86400 >> show_daynight = false >> >> [[[yearbarometer]]] >> [[[[barometer]]]] >> >> [[[yeartempdew]]] >> [[[[outTemp]]]] >> [[[[dewpoint]]]] >> >> # Daily high/lows: >> [[[yearhilow]]] >> [[[[hi]]]] >> data_type = outTemp >> aggregate_type = max >> label = High >> [[[[low]]]] >> data_type = outTemp >> aggregate_type = min >> label = Low Temperature >> >> [[[yearwind]]] >> [[[[windSpeed]]]] >> [[[[windGust]]]] >> aggregate_type = max >> >> [[[yeartempchill]]] >> [[[[windchill]]]] >> [[[[heatindex]]]] >> >> [[[yearrain]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rain]]]] >> aggregate_type = sum >> # aggregate_interval = 2629800 # Magic number: the length >> of a nominal month >> aggregate_interval = 604800 # == 1 week >> label = Rain (weekly total) >> >> [[[yearrainrate]]] >> yscale = None, None, 0.02 >> plot_type = bar >> [[[[rainRate]]]] >> aggregate_type = max >> label = Yearly rain rate (month max) >> >> [[[yearpond]]] >> yscale = None, None, 0.5 >> [[[[extraTemp1]]]] >> >> [[[yearrx]]] >> [[[[rxCheckPercent]]]] >> >> [[[yearinside]]] >> [[[[inTemp]]]] >> >> [[[yearwinddir]]] >> yscale = 0.0, 360.0, 45.0 >> [[[[windDir]]]] >> >> [[[yearwindvec]]] >> [[[[windvec]]]] >> plot_type = vector >> >> [[[yearradiation]]] >> [[[[radiation]]]] >> >> [[[yearuv]]] >> yscale = 0, 16, 1 >> [[[[UV]]]] >> >> >> ############################################################################### >> >> # >> # The list of generators that are to be run: >> # >> [Generators] >> generator_list = weewx.cheetahgenerator.CheetahGenerator, >> weewx.imagegenerator.ImageGenerator, weewx.reportengine.CopyGenerator >> >> -- 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]. For more options, visit https://groups.google.com/d/optout.
