Thank you very much Tom.

One thing I can not figure out is: 

In the docs it says that everytime an archive period is over (every time a 
new record is done) all the newly generated images (plots) get copied into 
the public_html folder.
What I noticed for me is that this is not the case. (actually it seems to 
be a lot longer until they are updated).
When triggering a report manually using the wee_reports command the same 
behavior can be observed.
However, when I delete the .png images (plots) from the public_html folder 
the fresh images get copied into the public_html right away when the next 
record is done.
Can you tell me how to change this so the newest plot images are always 
copied to the public_html folder everytime a new record is done?
I tried to set copy_always flag in the skin.conf in the copy_generator 
section but no change.
Also cannot seem to find anything in the docs that can help me.

Thank you very much, Henry.

I have no stale_age or cronjob defined for report generation.

On Wednesday, February 20, 2019 at 2:56:36 PM UTC+1, Tom Keffer wrote:
>
> When a new record arrives, WeeWX tries to write all the types it can into 
> the database. If a type is not in the database schema, it is skipped. 
>
> If you're interested, the logic is in function manager._addSingleRecord() 
> <https://github.com/weewx/weewx/blob/master/bin/weewx/manager.py#L273>.
>
> -tk
>
> On Tue, Feb 19, 2019 at 11:02 PM Henry Denston <[email protected] 
> <javascript:>> wrote:
>
>> Tom, in case I would like to create my own database schema, is it enough 
>> to just remove the cloumns from the dictionary in this file: 
>> .\weewx\bin\schemas\wview.py'' ?
>> Seems like weewx still tries to write to removed database columns when 
>> trying to save a record.
>>
>> Would really appreciate it in case you could name at least some files off 
>> the cuff that I have to look into.
>> Thanks :)
>>
>> On Friday, February 15, 2019 at 11:23:00 PM UTC+1, Tom Keffer wrote:
>>>
>>> If you're going to all the trouble of creating a custom database schema, 
>>> you can certainly make additional changes to suit your needs. Just be 
>>> careful not to drop something you'll need for your reports.
>>>
>>> However, you'll find removing unused observation types does not save as 
>>> much space as you think. A major part of the database is the index, which 
>>> will still be there.
>>>
>>> As far as what's the best practice? I'd say, do what Google does: save 
>>> everything. Storage is cheap.
>>>
>>> -tk
>>>
>>> On Fri, Feb 15, 2019 at 11:50 AM Henry Denston <[email protected]> wrote:
>>>
>>>> Hi Tom,
>>>>
>>>> thank you very much for your great reply! :)
>>>> I do not have an existing database yet.
>>>>
>>>> I already read the  *Adding a new type to the database 
>>>> <http://weewx.com/docs/customizing.htm#add_archive_type> *section in 
>>>> the Customizing Guide, however was confused as I thought this only applies 
>>>> in case one wants to add a new observation type that is not present in 
>>>> weewx yet (as in the example electricity).
>>>> I wanted to add additional radiation sources (and there is already the 
>>>> radiation observation type implemented in weewx), so I thought by using an 
>>>> already existing observation type I might not need to adjust the database 
>>>> structure.
>>>> Your answer however, clearly shows how to make the required changes, 
>>>> thank you very much! (Maybe add this little example to the docs, right 
>>>> next 
>>>> to the electricity eample? :))
>>>>
>>>> *Another question:*
>>>> By using the file user/extensions.py additional sensors can be added 
>>>> to weewx as you have presented.
>>>> Is it best practice to just append additionally required sensors to 
>>>> the standard weewx database structure or should I (make some additional 
>>>> changes to) 'rebuild' the used database structure for my system?
>>>> For example in case I intend to use only about 8 sensors/values in my 
>>>> current system (e.g.: dateTime, usUnits, windSpeed, outTemp, radiation, 
>>>> radiation1, radiation2, radiation3) I could remove all additional values 
>>>> in 
>>>> the database that I will not use (e.g. barometer, pressure, altimeter, 
>>>> inTemp, etc....) ? Would love to hear your opinion on that.
>>>>
>>>> Thank you very much, Henry.
>>>>
>>>>
>>>> On Friday, February 15, 2019 at 7:51:13 PM UTC+1, Tom Keffer wrote:
>>>>>
>>>>> Yes, your strategy would work, and your names (radiation1, radiation2, 
>>>>> and radiation3) are sensible names to give the extra sensors.
>>>>>
>>>>> You would have to change the database schema to accommodate the extra 
>>>>> sensors. 
>>>>>
>>>>> Do you have an existing database, to which you want to add the new 
>>>>> observation types? If so, then follow the instructions in the Customizing 
>>>>> Guide, section *Adding a new type to the database 
>>>>> <http://weewx.com/docs/customizing.htm#add_archive_type>*. If there 
>>>>> is something that is confusing about the instructions, let us know what 
>>>>> the 
>>>>> problem is so we can clarify and, perhaps, update the documents and make 
>>>>> it 
>>>>> clearer.
>>>>>
>>>>> If you do not have an existing database, then it is slightly easier. 
>>>>> To the bottom of the file user/extensions.py, add the following: 
>>>>>
>>>>> import schemas.wview
>>>>> radiation_schema = schemas.wview.schema + [
>>>>>     ('radiation1'', 'REAL'),
>>>>>     ('radiation2'', 'REAL'),
>>>>>     ('radiation3'', 'REAL'),
>>>>> ]
>>>>>
>>>>> Then go into your weewx.conf and change the [DataBindings] and 
>>>>> [Databases] section so they look like this:
>>>>>
>>>>> [DataBindings]
>>>>>
>>>>>     [[wx_binding]]
>>>>>         # The database must match one of the sections in [Databases].
>>>>>         # This is likely to be the only option you would want to change.
>>>>>         database = archive_sqlite
>>>>>         # The name of the table within the database
>>>>>         table_name = archive
>>>>>         # The manager handles aggregation of data for historical summaries
>>>>>         manager = weewx.wxmanager.WXDaySummaryManager
>>>>>         # The schema defines the structure of the database.
>>>>>         # It is *only* used when the database is created.
>>>>>         schema = user.extensions.radiation_schema
>>>>>
>>>>> ##############################################################################
>>>>>
>>>>> #   This section defines various databases.
>>>>>
>>>>> [Databases]
>>>>>
>>>>>     # A SQLite database is simply a single file
>>>>>     [[archive_sqlite]]
>>>>>         database_name = radiation.sdb
>>>>>         database_type = SQLite
>>>>>
>>>>>     # MySQL
>>>>>     [[archive_mysql]]
>>>>>         database_name = weewx
>>>>>         database_type = MySQL
>>>>>
>>>>> Restart WeeWX.
>>>>>
>>>>> WeeWX will now use the new database radiation.sdb, which will have 
>>>>> the new SQL columns.
>>>>>
>>>>> -tk
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Feb 15, 2019 at 8:51 AM Henry Denston <[email protected]> wrote:
>>>>>
>>>>>> Hello everyone!
>>>>>>
>>>>>> I'm currently developing a custom weather station (a microcontroller 
>>>>>> collecting data from custom sensors and forwarding it to a RaspberryPi).
>>>>>> I already read the customization guide multiple times and started to 
>>>>>> develop a custom weewx-driver for my custom weather station.
>>>>>> The customization guide offers some very valuable insights. However, 
>>>>>> I still have some questions and misunderstandings I guess, so I hope 
>>>>>> some 
>>>>>> experienced users/developers can help me out. :)
>>>>>>
>>>>>> As already stated I started developing my own driver, I also edited 
>>>>>> the weewx.conf and my custom driver is loaded when I start weewx with: 
>>>>>> sudo 
>>>>>> ./bin/weewxd weewx.conf (it yields/prints packets)
>>>>>> I checked the sql table structures in the documentation and now I'm 
>>>>>> not sure how to save my custom sensors values.
>>>>>> For example: I have a windsensor (measuring windspeed only), a 
>>>>>> temperature sensor and 4 pyranometer sensors of different kind measuring 
>>>>>> the sun irradiation.
>>>>>> Now in my custon driver I know that I can store/assign the windspeed 
>>>>>> and temperature like this for example:
>>>>>>
>>>>>> data = dict()
>>>>>>
>>>>>>
>>>>>> data['dateTime'] = int(data_array[0])  # unix timestamp
>>>>>> data['usUnits'] = weewx.METRIC
>>>>>> data['windSpeed'] = float(data_array[1])  # Anemometer measuring 
>>>>>> windspeed only
>>>>>> data['outTemp'] = float(data_array[0])  # PT100 measuring temperature 
>>>>>> outside
>>>>>>
>>>>>>
>>>>>> yield data  
>>>>>>
>>>>>>
>>>>>> So this should be straight forward if I understand correctly.
>>>>>> But how do I store my irradiation values from the various 
>>>>>> pyranomerters?
>>>>>>
>>>>>> It seems that in the expected database structure there is only one 
>>>>>> column for irradiation available.
>>>>>> How can I store it so WeeWx can use it in its reports and archives?
>>>>>> I have smth. like this in mind:
>>>>>>
>>>>>> data['radiation'] = float(dataset_array_sensor[2])  # pyranometer 1
>>>>>> data['radiation1'] = float(dataset_array_sensor[3])  # pyranometer 2
>>>>>> data['radiation2'] = float(dataset_array_sensor[4])  # pyranometer 3
>>>>>> data['radiation3'] = float(dataset_array_sensor[5])  # pyranometer 4
>>>>>>
>>>>>>
>>>>>> Would this work?
>>>>>> Do I have to change the sql database structure for it to work? (I 
>>>>>> plan to use sqlite for it as its easier to use it out of the box)
>>>>>> If so, how would I do it?
>>>>>>
>>>>>> I did read the customization guide multiple times but I'm really 
>>>>>> confused regarding this.
>>>>>> I hope you can give me a hint into the right direction (I think I'm 
>>>>>> probably way overthinking this and just missing a small detail)
>>>>>> Thank you very much in advance! :)
>>>>>>
>>>>>> Best regards, Henry.
>>>>>>
>>>>>

Reply via email to