Leitura de dados do INPE
Esse endereço retorna um xml com dados climáticos dos aeroportos do Brasil. O código SBCT indica o aeroporto Afonso Pena.
http://servicos.cptec.inpe.br/XML/estacao/SBCT/condicoesAtuais.xml
url = 'http://servicos.cptec.inpe.br/XML/estacao/SBCT/condicoesAtuais.xml'
from xml.etree import ElementTree
import requests
response = requests.get(url)
tree = ElementTree.fromstring(response.content)
temp = tree.find('temperatura').text
temp = float(temp)
print('Temperatura atual: {} Cº'.format(temp))
Escrita da informação no EPM
Para escrever o valor precisamos de uma variável de destino(Basic Variable), previamente criada no EPM. Para mais informações veja a seguinte seção do manual: https://github.com/elipsesoftware/epmprocessor/blob/master/guiadousuario/EPMProcessorAlgoritmos.md#escrita-de-dados-em-uma-basic-variable
import getpass
import epmwebapi as epm
import datetime
#conexão ao EPM Server
user = input('EPM user:')
password = getpass.getpass("EPM password:")
connection = epm.EpmConnection('http://ecc.elipse.com.br:44333', 'http://ecc.elipse.com.br:44332', user, password)
#busca da variável
basic_variable = 'cwb_temp_webserver'
bv_object = connection.getDataObjects(basic_variable)
#Toda escrita precisa de valor, qualidade e estampa de tempo.
date = datetime.datetime.now()
quality = 0 #zero is Good in OPC UA
#escrita
bv_object[basic_variable].write(temp, date, quality)
#fechando a conexão
connection.close()