Biblioteca Python
O pacote Python hamapi transfere os dados históricos (datalogs) dos seus dispositivos.
Lê as linhas por si e devolve uma lista de valores para cada leitura.
Pode utilizá-lo livremente (licença MIT).
Instalação
Seção intitulada “Instalação”pip install hamapiPrecisa do Python 3.6 ou posterior. O pacote também instala requests e brotli.
Exemplo
Seção intitulada “Exemplo”import timeimport hamapi
ham = hamapi.hamapi(api_key='YOUR_API_KEY')
end = int(time.time())start = end - 7 * 86400
data = ham.get_datalog_data('e11:123', start, end, averaging_step=120)print(list(data.keys()))print(data['timestamp'][:5])api_key: obtém-na na página Conta da aplicação. Consulte a API REST.'e11:123': o número de série do dispositivo. Precisa de permissão de leitura no dispositivo.start,end: tempo Unix em segundos.averaging_step: opcional. O pacote devolve um valor médio para cada passo com este número de segundos. Com0(o valor predefinido) obtém todas as linhas.
O resultado
Seção intitulada “O resultado”get_datalog_data devolve um dicionário:
timestamp: a hora de cada valor, em segundos Unix.- Uma lista para cada leitura e cada saída do dispositivo. A chave é o código da leitura (por exemplo
T). Os códigos estão no Dicionário de leituras.
Todas as listas têm o mesmo comprimento. Sem averaging_step, as listas têm um ponto a mais imediatamente antes de cada alteração. Assim, um gráfico mostra degraus.
Outras funções
Seção intitulada “Outras funções”ham.get_user_devices(): os dispositivos da sua conta. São os mesmos dados deget_user_devices.php.
- O pacote guarda os dias passados já transferidos no ficheiro
.cached.db, na pasta atual. Não transfere estes dias outra vez. Para os transferir outra vez, elimine o ficheiro. - O pacote lê apenas o histórico. Para dados em direto, consulte Dados em direto (WebSocket).
- O pacote contém as definições de dispositivos da sua versão. Para novos tipos de dispositivo, atualize-o com
pip install -U hamapi. - Página do pacote: pypi.org/project/hamapi.

