Inicio

Elementos en su carpeta de descargas

La carpeta de descargas está vacía
Elemento(s) en carpeta de descargas

!

Ver carpeta de descargas
Ir al centro de descargas

Artículos en su cesta / lista de proyectos

La Cesta / Lista de proyectos está vacía.
artículo(s) en cesta / lista de proyectos

Solution

Cantidad:
Total:
Ver cesta / lista de proyectos
Abrir una lista de proyectos diferente
Exportar como .xlsx Exportar como .csv Importar de .cvs Importar de .bel
Productos descontinuados
  • Bienvenido(a), {0} - Mi cuenta

    Mi cuenta


    • Cerrar sesión
    Inicio de sesión/Registro en
  • Productos

    Actuadores

    • SelectPro™ Online (Actuadores)
    • Actuadores sin sistema a prueba de fallos
    • Actuadores a prueba de fallos
    • Actuadores Exteriores Protegidos
    • Actuadores de giro rápido
    • Actuadores lineales
    • Actuadores para fuego y humo
    • Medición y control del flujo de aire
    • Accesorios

    Válvulas

    • SelectPro™ Online (Válvulas)
    • Energy Valve
    • Válvulas de control de presión independiente
    • Válvulas de Zona
    • Válvulas de control caracterizado
    • Válvulas de bola
    • Válvulas de Mariposa
    • Válvulas de globo
    • Piping Packages
    • Válvulas para agua potable
    • Accesorios

    Sensores/Medidores

    • SelectPro™ Online (Sensores/Medidores)
    • Sensores de conducto (Aire)
    • Sensores de tubería (Agua)
    • Sensores exteriores (Aire)
    • Sensores de ambiente (Aire)
    • Dispositivos de Monitoreo de Gases (Aire)
    • Medidores (Agua)
    • Accesorios

    Sistemas

    • Energy Valve
    • Economizador
    • Soluciones de zona
    • Integración en bus
    • Actuadores IoT
    • Accesorios

    RetroFIT+

    • RetroFIT+ Product Replacement Tool
    • Actuadores para fuego y humo
    • Actuadores de compuerta
    • Válvula de control/Actuadores
    • Válvula de mariposa/Actuadores
    • Válvula de asiento/Actuadores
    • Economizador
    • Sensores/Medidores

    Soluciones de

    • Soluciones de refrigeración de centros de datos
    • Productos personalizados
    • Building IoT
    • Calidad del aire interior
  • Soporte

    Herramientas y aplicaciones

    • Herramientas de sustitución y selección de dimensionamiento
    • SelectPro™ Online (Actuadores)
    • SelectPro™ Online (Válvulas)
    • SelectPro™ Online (Sensores/Medidores)
    • Belimo RetroFIT+, la Herramienta para Reemplazo de Productos
    • Aplicaciones móviles
    • Estimadores de ahorro
    • Modelado y simulación
    • Configuración del dispositivo
    • Inicio de sesión/Registro en Belimo Cloud

    Belimo University

    • Programar un entrenamiento presencial
    • Log on to Belimo University
    • Website Tutorials
    • Seminarios web
    • Centro de Experiencia del Cliente (Danbury, CT)

    Descargas

    • Documenta del producto
    • Software / complementos / aplicaciones
    • Historias de éxito
    • Corporativo
    • Imágenes / Videos / Logos
    • Guía de Productos y Lista de Precios (PGPL)
    • Términos y condiciones de venta y garantía
  • Sobre nosotros

    Belimo

    • Perfil
    • Nuestros valores
    • Sustentabilidad
    • Historia
    • Awards & Recognitions
    • Proveedores
    • Organizaciones Afiliadas
    • Social Responsibility
    • Inclusión y diversidad
    • Lista de feriados de Belimo
    • Calidad

    Empleos y Carrera profesional

    • Empleos
    • Cultura@BELIMO
    • Beneficios
    • Proceso de contratación
    • Carreras
    Navigation_Teaser_1

    Investor Relations

    • Comparación de cifras clave
    • Informes y presentaciones
    • Noticias corporativas y ad hoc
    • Belimo Share
    • Corporate Governance
    • Annual General Meeting
    • Financial Calendar
    • Contact

    Medios

    • News
    • Aspectos destacados:
    • Historias de Éxitos
    • Vídeos
    • Pictures and Logos
    • Event Schedule | Belimo
    • Contacto
    • Blog
    misc-homepage-new
  • Contáctenos

    Búsqueda de distribuidor

    Contactos de Belimo

    Llame a Belimo ahora

    • 1.800-543-9038
      Disponible de las 8:30 h am a las 8:00 h pm EST
  • Caribe, América Latina y Estados Unidos

    América

    • Brasil
    • Canadá
    • Caribe, América Latina y Estados Unidos

    Europa, Oriente Medio y África

    • Albania
    • Alemania
    • Arabia Saudita
    • Austria
    • Bélgica
    • Bielorusia
    • Bosnia-Herzegovina
    • Bulgaria
    • Croacia
    • Dinamarca
    • Emiratos Árabes Unidos
    • Eslovaquia
    • Eslovenia
    • España
    • Estonia
    • Finlandia
    • Francia
    • Georgia
    • Grecia
    • Holanda
    • Hungría
    • Irlanda
    • Israel
    • Italia
    • Kazastán
    • Letonia
    • Lituania
    • Macedonia del Norte
    • Noruega
    • Polonia
    • Reino Unido
    • República Checa
    • Rumanía
    • Serbia y Montenegro
    • Sudáfrica
    • Suecia
    • Suiza
    • Turquía
    • Ucrania

    Asia-Pacífico

    • Australia
    • Camboya
    • China
    • Corea
    • Filipínas
    • Hong Kong, China
    • India
    • Indonesia
    • Japón
    • Macao, China
    • Malasia
    • Myanmar
    • Nueva Zelanda
    • Singapur
    • Tailandia
    • Taiwán, China
    • Vietnám
    Español

    English

    Español

  • Caribe, América Latina y Estados Unidos

    América

    • Brasil
    • Canadá
    • Caribe, América Latina y Estados Unidos

    Europa, Oriente Medio y África

    • Albania
    • Alemania
    • Arabia Saudita
    • Austria
    • Bélgica
    • Bielorusia
    • Bosnia-Herzegovina
    • Bulgaria
    • Croacia
    • Dinamarca
    • Emiratos Árabes Unidos
    • Eslovaquia
    • Eslovenia
    • España
    • Estonia
    • Finlandia
    • Francia
    • Georgia
    • Grecia
    • Holanda
    • Hungría
    • Irlanda
    • Israel
    • Italia
    • Kazastán
    • Letonia
    • Lituania
    • Macedonia del Norte
    • Noruega
    • Polonia
    • Reino Unido
    • República Checa
    • Rumanía
    • Serbia y Montenegro
    • Sudáfrica
    • Suecia
    • Suiza
    • Turquía
    • Ucrania

    Asia-Pacífico

    • Australia
    • Camboya
    • China
    • Corea
    • Filipínas
    • Hong Kong, China
    • India
    • Indonesia
    • Japón
    • Macao, China
    • Malasia
    • Myanmar
    • Nueva Zelanda
    • Singapur
    • Tailandia
    • Taiwán, China
    • Vietnám
  • EN ES
  • Bienvenido(a), {0} - Mi cuenta

    Mi cuenta


    • Cerrar sesión
    Inicio de sesión/Registro en
Inicio
  • Productos

    Actuadores

    • SelectPro™ Online (Actuadores)
    • Actuadores sin sistema a prueba de fallos
    • Actuadores a prueba de fallos
    • Actuadores Exteriores Protegidos
    • Actuadores de giro rápido
    • Actuadores lineales
    • Actuadores para fuego y humo
    • Medición y control del flujo de aire
    • Accesorios

    Válvulas

    • SelectPro™ Online (Válvulas)
    • Energy Valve
    • Válvulas de control de presión independiente
    • Válvulas de Zona
    • Válvulas de control caracterizado
    • Válvulas de bola
    • Válvulas de Mariposa
    • Válvulas de globo
    • Piping Packages
    • Válvulas para agua potable
    • Accesorios

    Sensores/Medidores

    • SelectPro™ Online (Sensores/Medidores)
    • Sensores de conducto (Aire)
    • Sensores de tubería (Agua)
    • Sensores exteriores (Aire)
    • Sensores de ambiente (Aire)
    • Dispositivos de Monitoreo de Gases (Aire)
    • Medidores (Agua)
    • Accesorios

    Sistemas

    • Energy Valve
    • Economizador
    • Soluciones de zona
    • Integración en bus
    • Actuadores IoT
    • Accesorios

    RetroFIT+

    • RetroFIT+ Product Replacement Tool
    • Actuadores para fuego y humo
    • Actuadores de compuerta
    • Válvula de control/Actuadores
    • Válvula de mariposa/Actuadores
    • Válvula de asiento/Actuadores
    • Economizador
    • Sensores/Medidores

    Soluciones de

    • Soluciones de refrigeración de centros de datos
    • Productos personalizados
    • Building IoT
    • Calidad del aire interior
  • Soporte

    Herramientas y aplicaciones

    • Herramientas de sustitución y selección de dimensionamiento
    • SelectPro™ Online (Actuadores)
    • SelectPro™ Online (Válvulas)
    • SelectPro™ Online (Sensores/Medidores)
    • Belimo RetroFIT+, la Herramienta para Reemplazo de Productos
    • Aplicaciones móviles
    • Estimadores de ahorro
    • Modelado y simulación
    • Configuración del dispositivo
    • Inicio de sesión/Registro en Belimo Cloud

    Belimo University

    • Programar un entrenamiento presencial
    • Log on to Belimo University
    • Website Tutorials
    • Seminarios web
    • Centro de Experiencia del Cliente (Danbury, CT)

    Descargas

    • Documenta del producto
    • Software / complementos / aplicaciones
    • Historias de éxito
    • Corporativo
    • Imágenes / Videos / Logos
    • Guía de Productos y Lista de Precios (PGPL)
    • Términos y condiciones de venta y garantía
  • Sobre nosotros

    Belimo

    • Perfil
    • Nuestros valores
    • Sustentabilidad
    • Historia
    • Awards & Recognitions
    • Proveedores
    • Organizaciones Afiliadas
    • Social Responsibility
    • Inclusión y diversidad
    • Lista de feriados de Belimo
    • Calidad

    Empleos y Carrera profesional

    • Empleos
    • Cultura@BELIMO
    • Beneficios
    • Proceso de contratación
    • Carreras
    Navigation_Teaser_1

    Investor Relations

    • Comparación de cifras clave
    • Informes y presentaciones
    • Noticias corporativas y ad hoc
    • Belimo Share
    • Corporate Governance
    • Annual General Meeting
    • Financial Calendar
    • Contact

    Medios

    • News
    • Aspectos destacados:
    • Historias de Éxitos
    • Vídeos
    • Pictures and Logos
    • Event Schedule | Belimo
    • Contacto
    • Blog
    misc-homepage-new
  • Contáctenos

    Búsqueda de distribuidor

    Contactos de Belimo

    Llame a Belimo ahora

    • 1.800-543-9038
      Disponible de las 8:30 h am a las 8:00 h pm EST
  • Productos descontinuados
  • Elementos en su carpeta de descargas

    La carpeta de descargas está vacía
    Elemento(s) en carpeta de descargas

    !

    Ver carpeta de descargas
    Ir al centro de descargas
  • Artículos en su cesta / lista de proyectos

    La Cesta / Lista de proyectos está vacía.
    artículo(s) en cesta / lista de proyectos

    Solution

    Cantidad:
    Total:
    Ver cesta / lista de proyectos
    Abrir una lista de proyectos diferente
    Exportar como .xlsx Exportar como .csv Importar de .cvs Importar de .bel
  1. Inicio
  2. IoT de edificios
  3. Belimo Digital Ecosystem Developer Space

Plot your first graph in Python

In a few simple steps you can build your fully-functional application, main focus is on:

  • Gain access to the Service User Space
  • Select data
  • Acquire data
  • Plot

To have the complete example just cut and paste in a single file the code shown in the next paragraphs. 

This example has been designed for the demo environment so you will replace "__UserPlaceHolder__" and "__PasswordPlaceHolder__" with your BelimoID Account credential and "__ClientIDPlaceHolder__" and "__ClientSecretPlaceHolder__" with the credential you received for the Developer Space.

To access the complete documentation about our Cloud API log in http://cloud.belimo.com using your BelimoID and then chose "support" -> "Documentation" 

 

Python Libraries import

import requests
import json
import pandas as pd
import matplotlib.pyplot as plt
# enable inline pictures in Jupyter Notebook
%matplotlib inline
from oauthlib.oauth2 import LegacyApplicationClient
from requests_oauthlib import OAuth2Session

Set up the OAuth2.0 session

# OAuth Client
client_id = '__ClientIDPlaceHolder__'
client_secret = '__ClientSecretPlaceHolder__'
# OAuth user
user = '__UserPlaceHolder__'
passwd = '__PasswordPlaceHolder__'

# shorthand url
cloud = 'https://cloud.belimo.com'
oauth = OAuth2Session(client=LegacyApplicationClient(client_id=client_id))
token = oauth.fetch_token(
token_url='https://id.belimo.com/oauth/token',
username=user,
password=passwd,
client_id=client_id,
client_secret=client_secret,
include_client_id=True,
audience="https://api.cloud.belimo.com/",
scope=['public.read', 'offline_access', 'read:dataprofile'])

Get an overview of your devices

oauth.get(url=cloud + '/api/v3/devices/stats').json()

The output is then something like:

 

{
    'totalDevices': 36, 
    'connection': 
        {
         'offline': 1, 
         'online': 35
         }, 
    'health': 
        {
         'problem': 1, 
         'ok': 35
        }, 
    'transfer': 
        {
         'incoming': 0, 
         'outgoing': 0
        } 
}
         
     

Now we examine in more detail the devices seen and filter for those which are associated with heating:

# The id of the device (unique name)
# DisplayName: set during commissioning (allows for easy identification) (we will filter according to that one)
# Dataprofile: Where to find the information how to interprete data from the device
# url parameters
params = {
    'state': 'REGISTERED', # only get registered devices
    'limit': '100' # page size
}
# call API and print information
for device in oauth.get(url=cloud + '/api/v3/devices', params=params).json()['data']:
    if 'Heizung' in device['displayName']: # german word for 'Heating'
        print('id: ' + device['id'])
        print('name: ' + device['displayName'])
        print('dataprofile: ' + device['dataprofile']['entityId'])

The output is something like:

id: 5a430aa2-1d46-4776-bfe1-a10b6c567230
    name: Energieventil Heizung 2.OG Sued-Ost
    dataprofile: energyvalve3/1.2
    id: 3c563d80-48f0-4a7a-8701-65d65aefdd9c
    name: Energieventil Heizung 2.OG Nord-Ost
    dataprofile: energyvalve3/1.2
    id: 3c6f7077-a147-4d25-865f-e72901d9de62
    name: Energieventil Heizung 2.OG Nord-West
    dataprofile: energyvalve3/1.2
    id: b69b0b32-03ca-4ec4-8850-2a1b474fbd83
    name: Energieventil Heizung 1.OG Sued-West
    dataprofile: energyvalve3/1.2
    id: 0cc5b932-c7b0-4eab-87ae-153aec6a7f90
    name: Energieventil Heizung 2.OG Sued-West
    dataprofile: energyvalve3/1.2    

Now let's download the Dataprofile and find the datapoint of interest

let's say we are interested in the following device

  • id: 3c6f7077-a147-4d25-865f-e72901d9de62
  • name: Energieventil Heizung 2.OG Nord-West
  • dataprofile: energyvalve3/1.2
deviceid = '3c6f7077-a147-4d25-865f-e72901d9de62'
dataprofileid = 'energyvalve3/1.2'

dataprofiledef  = oauth.get(url=cloud + '/api/v3/definitions/dataprofiles/' + dataprofileid).json()
# Extract relevant datapoints
# Let's say we are interested in energy consumption
print('Energy related datapoints:')
for dp in dataprofiledef['datapoints']:
    if 'Energy' in dp['featureValues']['default.description']: # get those datapoints which are related to Energy
        print('id: ' + dp['id'])
        print('description: ' + dp['featureValues']['default.description'])

The output will be something like this:

    Energy related datapoints:
    id: evcloud.200
    description: Cooling Energy in J
    id: evcloud.210
    description: Heating Energy in J

let's get the state and historical values for the heating energy:

# Current state
# First we the current state of the device, and extract from it e.g. location
state = oauth.get(url=cloud + '/api/v3/devices/' + deviceid).json()
# We can print current Value
state['state']['datapoints']['evcloud.210']
# Set parameters to access the historical data
params = {
    'datapointIds': 'evcloud.210',
    'resolution': '1d',
    'from': '2017-12-01T00:00:00Z',
    'to': '2018-12-01T00:00:00Z'
}
data = oauth.get(url=cloud + '/api/v3/devices/' + deviceid + '/data/history/timeseries', params=params).json()
# Extract the time series
# We only queried for one series
# We are interested in the values, not the metadata
# construct pandas DataFrame from data
heatingEnergy = pd.DataFrame(data['series'][0]['values'])
# convert timestamp to pandas datetime
heatingEnergy['timestamp'] = pd.to_datetime(heatingEnergy.timestamp)
# Energy is cumulative -- here we compute the difference between timepoints and convert to kWh
heatingEnergy['DiffEnergyConsumption'] = heatingEnergy.value.diff() / 3600000

and then plot the energy consumption

heatingEnergy.plot(x='timestamp', y='DiffEnergyConsumption', marker='o', alpha=0.5, stacked=True, figsize=(20,10))

plt.show()

The outcome should look like this:

output_31_1

Bienvenido a Belimo {{js-currentCountryName}}

{{js-currentCountryText}}
Contáctenos Política de privacidad Cambiar la configuración de privacidad Términos y condiciones
'+41 43 843 61 11
Suscribir
BELIMO Holding AG, Brunnenbachstrasse 1, 8340 Hinwil (Suiza)