In [1]:
import hkvfewspy as hkv
import pandas as pd
In [2]:
pi = hkv.Pi(protocol='rest')
url = 'http://localhost:8080/FewsWebServices/rest/fewspiservice/v1/'
pi.setUrl(url=url)
In [3]:
filters = pi.getFilters()
filters
Out[3]:
In [4]:
locations = pi.getLocations(filterId='f_ruw_gevalideerd.ADV')
locations
Out[4]:
In [5]:
parameters = pi.getParameters(filterId='f_ruw_gevalideerd.ADV')
parameters
Out[5]:
In [6]:
query_parameters = pi.setQueryParameters(protocol='rest')
In [7]:
query_parameters.filterId('f_ruw_ongevalideerd.STB')
query_parameters.locationIds(['FL65'])
query_parameters.parameterIds(['H.w.0'])
query_parameters.startTime(pd.datetime(2019,5,18,3,38))
query_parameters.endTime(pd.datetime(2019,5,18,3,39))
query_parameters.useMilliseconds(True) # new in 2017.02
query_parameters.version('1.25')
In [8]:
query_parameters.query
Out[8]:
In [9]:
timeseries = pi.getTimeSeries(query_parameters, print_response=False)
timeseries.head()
Out[9]:
In [10]:
# set some variable settings
module_instance_id = 'ruw_ongevalideerd_STB '
location_id = 'FL65'
parameter_id = 'H.w.0'
#timeseries['user'] = 'hoek'
In [11]:
import random
new_index = []
for ts in timeseries.index:
new_index.append(ts.replace(microsecond=random.randint(0, 999)*1000))
In [12]:
timeseries.index = pd.DatetimeIndex(new_index)
timeseries.value = 1
In [13]:
timeseries.head()
Out[13]:
In [14]:
# create pi-timeseries object
pi_ts = pi.setPiTimeSeries()
# set the root version
pi_ts.write.root.version('1.25')
# set a header object
pi_ts.write.header.moduleInstanceId(module_instance_id)
pi_ts.write.header.locationId(location_id)
pi_ts.write.header.parameterId(parameter_id)
# set an events object (pandas.Series or pandas.DataFrame)
pi_ts.write.events(timeseries)
pi_ts_xml = pi_ts.to.pi_xml()
In [15]:
filterId='f_ruw_ongevalideerd.STB'
convertDatum=True
pi.postTimeSeries(filterId=filterId, piTimeSeriesXmlContent=pi_ts_xml, convertDatum=convertDatum)
In [ ]: