Pular para o conteúdo

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).

Janela do terminal
pip install hamapi

Precisa do Python 3.6 ou posterior. O pacote também instala requests e brotli.

import time
import 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. Com 0 (o valor predefinido) obtém todas as linhas.

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.

  • ham.get_user_devices(): os dispositivos da sua conta. São os mesmos dados de get_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.
Chat com o suporte