Hello and thanks for the hints,
My data is not written to the database.

 The function UPDATE  "dbmanager_wx.updateValue(_rec['dateTime'], 
'windrun', be2)"
updateValue from weewx  does not work

I've tested the function  weewxwd_config --copy-v2-data successfully last 
night and it works

quelle example weewxwd3.py
#===============================================================================
#                           Class WdGenerateDerived
#===============================================================================

class WdGenerateDerived(object):
    """ Generator wrapper. Adds Weewx-WD derived obs to the output of the
        wrapped generator.
    """
            
    def __init__(self, input_generator):
        """ Initialize an instance of WdGenerateDerived

            input_generator: An iterator which will return dictionary 
records.
        """
        self.input_generator = input_generator
    
    def __iter__(self):
        return self
        
    def next(self):
        # get our next record
        _rec = self.input_generator.next()
        _rec_mwx = weewx.units.to_METRIC(_rec)
        _rec_mwx['dateTime'] = _rec_mwx['dateTime'] 
       _rec_mwx['usUnits'] = _rec_mwx['usUnits'] 
       _rec_mwx['interval'] = _rec_mwx['interval']
....
        _rec_mwx['barometer'] = _rec_mwx['barometer']
        _rec_mwx['pressure'] =  _rec_mwx['pressure']
        _rec_mwx['altimeter'] = _rec_mwx['altimeter']
        _rec_mwx['inTemp'] = _rec_mwx['inTemp']
        _rec_mwx['outTemp'] =  _rec_mwx['outTemp']
        _rec_mwx['inHumidity'] = _rec_mwx['inHumidity']
        _rec_mwx['outHumidity'] = _rec_mwx['outHumidity']
        _rec_mwx['windSpeed'] = _rec_mwx['windSpeed']
        _rec_mwx['windDir'] = _rec_mwx['windDir']
        _rec_mwx['windGust'] = _rec_mwx['windGust']
        _rec_mwx['windGustDir'] = _rec_mwx['windGustDir']
        _rec_mwx['rainRate'] = _rec_mwx['rainRate']
        _rec_mwx['rain'] = _rec_mwx['rain']
        _rec_mwx['heatindex'] = _rec_mwx['heatindex']
        _rec_mwx['ET'] =  _rec_mwx['ET']
        _rec_mwx['radiation'] = _rec_mwx['radiation']
        _rec_mwx['UV'] = _rec_mwx['UV']
        _rec_mwx['extraTemp1'] = _rec_mwx['extraTemp1']
        _rec_mwx['extraTemp2'] = _rec_mwx['extraTemp2']
        _rec_mwx['extraTemp3'] = _rec_mwx['extraTemp3']
        _rec_mwx['soilTempO1'] = _rec_mwx['soilTempO1']
        _rec_mwx['soilTempO2'] = _rec_mwx['soilTempO2']
        _rec_mwx['soilTempO3'] = _rec_mwx['soilTempO3']
        _rec_mwx['soilTempO4'] = _rec_mwx['soilTempO4']
        _rec_mwx['soilTempO5'] = _rec_mwx['soilTempO5']
        _rec_mwx['leafTemp1'] = _rec_mwx['leafTemp1']
        _rec_mwx['leafTemp2'] = _rec_mwx['leafTemp2']
        _rec_mwx['extraHumid1'] = _rec_mwx['extraHumid1']
        _rec_mwx['extraHumid2'] = _rec_mwx['extraHumid2']
        _rec_mwx['soilMoist1'] = _rec_mwx['soilMoist1']
        _rec_mwx['soilMoist2'] = _rec_mwx['soilMoist2']
        _rec_mwx['soilMoist3'] = _rec_mwx['soilMoist3']
        _rec_mwx['soilMoist4'] = _rec_mwx['soilMoist4']
        .....
            #_rec_mwx['maxSolarRad'] = _rec_mwx['maxSolarRad']
        #_rec_mwx['cloudbase'] = _rec_mwx['cloudbase']

        _rec_mwx['maxSolarRad'] = 
weewx.wxformulas.solar_rad_Bras(53.605963, 11.341407, 53, 
_rec_mwx['dateTime'], 2)

        if 'outTemp' in _rec_mwx and 'outHumidity' in _rec_mwx:
            _rec_mwx['cloudbase'] = 
weewx.wxformulas.cloudbase_Metric(_rec_mwx['outTemp'], 
_rec_mwx['outHumidity'], 53)
        else:
            _rec_mwx['cloudbase'] = None

        if 'windSpeed' in _rec_mwx and 'windSpeed' > 0.0: 
            _rec_mwx['windrun'] = _rec_mwx['windSpeed'] * 5.0 / 60.0
        else:
            _rec_mwx['windrun'] = 0.0

        #_rec_mwx['inDewpoint'] = _rec_mwx['inDewpoint']
        if 'inTemp' in _rec_mwx and 'inHumidity' in _rec_mwx:
            _rec_mwx['inDewpoint'] = 
weewx.wxformulas.dewpointC(_rec_mwx['inTemp'], _rec_mwx['inHumidity'])
        else:
            _rec_mwx['inDewpoint'] = None

        #_rec_mwx['inTempBatteryStatus'] = _rec_mwx['inTempBatteryStatus']
        #_rec_mwx['sunshineS'] = _rec_mwx['sunshineS']
        if 'radiation' in _rec_mwx:
           _rec_mwx['sunshineS'] = 
weewx.wxformulas.sunhes(_rec_mwx['radiation'], _rec_mwx['dateTime'])
           #_rec_mwx['sunshinehours'] = _rec_mwx['sunshineS'] / 3600.0
        else:
           _rec_mwx['sunshineS'] = None
           #_rec_mwx['sunshinehours'] = None
        _rec_mwx['snow'] = _rec_mwx['snow']
        _rec_mwx['snowRate'] = _rec_mwx['snowRate']
        ....
       if 'outTemp' in _rec_mwx:
            _rec_mwx['outTempDay'], _rec_mwx['outTempNight'] = 
weewx.wxformulas.daynighttempC(_rec_mwx['outTemp'], _rec_mwx['dateTime'])
        else:
            _rec_mwx['outTempDay'], _rec_mwx['outTempNight'] = (None, None)

        data_x = weewx.units.to_std_system(_rec_mwx, _rec_mwx['usUnits'])
        # return our modified record
        return data_x

 
basis "wx_binding" and target "wd_binding" like schema wx_binding


have created a copy of the weewx database and simultaneously copied the 
original data weewx and calculated with the function

weewxwd_config --copy-v2-data 
root@acer:/home/weewx/bin/user# ./weewxwd_config.py --copy-v2-data
Using configuration file /home/weewx/weewx.conf
Using database binding 'wx_binding', which is bound to database 
'archive_mysql'
Using database binding 'wd_binding', which is bound to database 'wd_mysql'
341033 records have been identified to backfill database 'weewxacerWD' from 
*2013-10-31 
22:18:59 CET (1383254339) to 2017-03-04 11:04:59 CET (1488621899) (approx 
1220 day*s). This may take some time (hours) to complete.
Are you sure you wish to proceed (y/n)? y
Processing 341033 records...
341033 record(s) over 1 period(s) covering approximately 1220 day(s) *processed 
in 17:04:03.*

But I would like to *update* the data to the old database 

My database is only METRIC


Hartmut 

Reply via email to