Home

Articoli nella tua cartella download

La cartella download è vuota
articolo(i) nella cartella download

!

Visualizza cartella download
Al download center

Articoli nel tuo carrello

Il carrello è vuoto.
articolo(i) nel carrello

Solution

Quantità:
Totale:
Visualizza carrello / Lista di Progetto
Apri una Lista di Progetto diversa
Esporta come .xlsx Esporta come .csv Importa da .csv Importa da .bel
Prodotti fuori produzione
  • Benvenuto, {0} - Il mio account

    Il mio account


    • Logout
    Login/Registrati
  • Prodotti

    Attuatori

    • Dimensionamento e selezione attuatore
    • Attuatori senza funzione di sicurezza
    • Attuatori con funzione di sicurezza
    • Attuatori per condizioni ambientali estreme
    • Attuatori a corsa veloce
    • Attuatori lineari
    • Attuatori per serrande tagliafuoco
    • Attuatori per serrande di controllo fumi
    • Portata dell'aria variabile - VAV
    • Attuatori per valvole

    Valvole

    • Dimensionamento e selezione valvole
    • Belimo Energy Valve™
    • Valvole di regolazione indipendenti dalla pressione
    • Valvole di zona
    • Valvole di regolazione a sfera
    • Valvole a sfera
    • Valvole a farfalla
    • Valvole a globo
    • Valvole per acqua potabile
    • Valvole per la refrigerazione
    • Attuatori per valvole

    Sensori/Contatori

    • Selezione di Sensori/Contatori
    • Sensori da condotto (aria)
    • Sensori da tubazione (acqua)
    • Sensori per esterno (aria)
    • Pannelli ambiente
    • Contatori di energia termica (TEM)
    • Belimo Energy Valve™ con TEM

    Sistemi

    • Belimo Energy Valve™
    • Soluzioni per ambienti
    • Bus & Integrazione di Sistemi
    • Tagliafuoco e controllo fumi
    • Collettore di energia
    • Belimo ZoneEase™ VAV

    RetroFIT+

    • RetroFIT+ Tool per sostituzione prodotti
    • Massimizza il potenziale del tuo sistema
    • Aggiorna il tuo sistema
    • Ottimizzazione di sistemi HVAC esistenti
    • RetroFIT+ Prodotti di ricambio
    • Partner RetroFIT+

    Applicazioni

    • Applicazioni di raffreddamento dei data center
    • Unità di trattamento aria (AHU)
    • Applicazioni ambiente e di zona
  • Supporto

    Services

    • Dimensionamento e selezione attuatore
    • Dimensionamento e selezione valvole
    • Selezione di Sensori/Contatori
    • RetroFIT+ Tool per la sostituzione prodotti
    • Soluzioni su misura per il cliente.
    • Centro download
    • Strumenti di assistenza / App
    • Software/Plug-in/CAD
    • Archivio file (bus e integrazione di sistemi)
    • Catalogo prodotti e prezzi
    • Condizioni generali di contratto
    • Belimo Cloud: Login / Registrati
    • Attivazione contatore di energia termica
    • Videos

    Belimo Education

    • Formazione
    • Belimo Experience Center (Hinwil, Svizzera)
    • Belimo Experience Centre (Granges-Paccot, Fribourg, Svizzera)
    • Belimo Experience Center (Großröhrsdorf, Germany)
    • Tour aziendale (Hinwil, Svizzera)
    • Webinar

    Applicazioni

    • Applicazioni di raffreddamento dei data center
    • Unità di trattamento aria (AHU)
    • Applicazioni ambiente e di zona
  • L’azienda

    Belimo

    • Profilo
    • I nostri valori
    • Sostenibilità
    • Storia
    • Premi e riconoscimenti
    • Fornitori
    • Organizzazioni affiliate
    • Qualità @ Belimo

    Lavori e carriere

    • Offerte di lavoro
    • Cultura presso BELIMO
    • Vantaggi
    • Processo di assunzione
    • Carriere
    • Nuova generazione
    • Women in CleanTech
    Navigation_Teaser_1

    Investor Relations

    • Confronto di cifre chiave
    • Rapporti e Presentazioni
    • Notizie ad hoc e aziendali
    • Belimo Share
    • Corporate Governance
    • Annual General Meeting
    • Financial Calendar
    • Contact

    Media

    • News
    • Punti principali
    • Storie di successo
    • Videos
    • Immagini e loghi
    • Mostre & Eventi
    • Contatti
    Navigation_Teaser_2
  • Contatti

    Sede centrale di Belimo

    • BELIMO Automation AG
    • E-Mail: info@belimo.ch
    • Tel.: +41 43 843 61 11

    Vendita Svizzera

    • Svizzera: Ordini, offerte, supporto tecnico
    • E-Mail: vendita@belimo.ch
    • Tel.: +41 43 843 62 12

    Altri contatti Belimo

  • Svizzera

    America

    • Brasile
    • Canada
    • Caraibi, America Latina e Stati Uniti

    Europa, Medio Oriente e Africa

    • Albania
    • Arabia Saudita
    • Austria
    • Belgio
    • Bielorussia
    • Bosnia ed Erzegovina
    • Bulgaria
    • Croazia
    • Danimarca
    • Emirati Arabi Uniti (FZE)
    • Estonia
    • Finlandia
    • Francia
    • Georgia
    • Germania
    • Grecia
    • Irlanda
    • Israele
    • Italia
    • Kazakistan
    • Lettonia
    • Lituania
    • Macedonia del Nord
    • Norvegia
    • Olanda
    • Polonia
    • Regno Unito
    • Repubblica Ceca
    • Romania
    • Serbia e Montenegro
    • Slovacchia
    • Slovenia
    • Spagna
    • Sud Africa
    • Svezia
    • Svizzera
    • Turchia
    • Ucraina
    • Ungheria

    Asia Pacifico

    • Australia
    • Cambogia
    • Cina
    • Flippine
    • Giappone
    • Hong Kong SAR, Cina
    • India
    • Indonesia
    • Korea
    • Macau SAR, Cina
    • Malesia
    • Myanmar
    • Nuova Zelanda
    • Singapore
    • Taiwan, Cina
    • Thailandia
    • Vietnam
    Italiano

    Deutsch

    Italiano

    Français

    English

  • Svizzera

    America

    • Brasile
    • Canada
    • Caraibi, America Latina e Stati Uniti

    Europa, Medio Oriente e Africa

    • Albania
    • Arabia Saudita
    • Austria
    • Belgio
    • Bielorussia
    • Bosnia ed Erzegovina
    • Bulgaria
    • Croazia
    • Danimarca
    • Emirati Arabi Uniti (FZE)
    • Estonia
    • Finlandia
    • Francia
    • Georgia
    • Germania
    • Grecia
    • Irlanda
    • Israele
    • Italia
    • Kazakistan
    • Lettonia
    • Lituania
    • Macedonia del Nord
    • Norvegia
    • Olanda
    • Polonia
    • Regno Unito
    • Repubblica Ceca
    • Romania
    • Serbia e Montenegro
    • Slovacchia
    • Slovenia
    • Spagna
    • Sud Africa
    • Svezia
    • Svizzera
    • Turchia
    • Ucraina
    • Ungheria

    Asia Pacifico

    • Australia
    • Cambogia
    • Cina
    • Flippine
    • Giappone
    • Hong Kong SAR, Cina
    • India
    • Indonesia
    • Korea
    • Macau SAR, Cina
    • Malesia
    • Myanmar
    • Nuova Zelanda
    • Singapore
    • Taiwan, Cina
    • Thailandia
    • Vietnam
  • DE IT FR EN
  • Benvenuto, {0} - Il mio account

    Il mio account


    • Logout
    Login/Registrati
Home
  • Prodotti

    Attuatori

    • Dimensionamento e selezione attuatore
    • Attuatori senza funzione di sicurezza
    • Attuatori con funzione di sicurezza
    • Attuatori per condizioni ambientali estreme
    • Attuatori a corsa veloce
    • Attuatori lineari
    • Attuatori per serrande tagliafuoco
    • Attuatori per serrande di controllo fumi
    • Portata dell'aria variabile - VAV
    • Attuatori per valvole

    Valvole

    • Dimensionamento e selezione valvole
    • Belimo Energy Valve™
    • Valvole di regolazione indipendenti dalla pressione
    • Valvole di zona
    • Valvole di regolazione a sfera
    • Valvole a sfera
    • Valvole a farfalla
    • Valvole a globo
    • Valvole per acqua potabile
    • Valvole per la refrigerazione
    • Attuatori per valvole

    Sensori/Contatori

    • Selezione di Sensori/Contatori
    • Sensori da condotto (aria)
    • Sensori da tubazione (acqua)
    • Sensori per esterno (aria)
    • Pannelli ambiente
    • Contatori di energia termica (TEM)
    • Belimo Energy Valve™ con TEM

    Sistemi

    • Belimo Energy Valve™
    • Soluzioni per ambienti
    • Bus & Integrazione di Sistemi
    • Tagliafuoco e controllo fumi
    • Collettore di energia
    • Belimo ZoneEase™ VAV

    RetroFIT+

    • RetroFIT+ Tool per sostituzione prodotti
    • Massimizza il potenziale del tuo sistema
    • Aggiorna il tuo sistema
    • Ottimizzazione di sistemi HVAC esistenti
    • RetroFIT+ Prodotti di ricambio
    • Partner RetroFIT+

    Applicazioni

    • Applicazioni di raffreddamento dei data center
    • Unità di trattamento aria (AHU)
    • Applicazioni ambiente e di zona
  • Supporto

    Services

    • Dimensionamento e selezione attuatore
    • Dimensionamento e selezione valvole
    • Selezione di Sensori/Contatori
    • RetroFIT+ Tool per la sostituzione prodotti
    • Soluzioni su misura per il cliente.
    • Centro download
    • Strumenti di assistenza / App
    • Software/Plug-in/CAD
    • Archivio file (bus e integrazione di sistemi)
    • Catalogo prodotti e prezzi
    • Condizioni generali di contratto
    • Belimo Cloud: Login / Registrati
    • Attivazione contatore di energia termica
    • Videos

    Belimo Education

    • Formazione
    • Belimo Experience Center (Hinwil, Svizzera)
    • Belimo Experience Centre (Granges-Paccot, Fribourg, Svizzera)
    • Belimo Experience Center (Großröhrsdorf, Germany)
    • Tour aziendale (Hinwil, Svizzera)
    • Webinar

    Applicazioni

    • Applicazioni di raffreddamento dei data center
    • Unità di trattamento aria (AHU)
    • Applicazioni ambiente e di zona
  • L’azienda

    Belimo

    • Profilo
    • I nostri valori
    • Sostenibilità
    • Storia
    • Premi e riconoscimenti
    • Fornitori
    • Organizzazioni affiliate
    • Qualità @ Belimo

    Lavori e carriere

    • Offerte di lavoro
    • Cultura presso BELIMO
    • Vantaggi
    • Processo di assunzione
    • Carriere
    • Nuova generazione
    • Women in CleanTech
    Navigation_Teaser_1

    Investor Relations

    • Confronto di cifre chiave
    • Rapporti e Presentazioni
    • Notizie ad hoc e aziendali
    • Belimo Share
    • Corporate Governance
    • Annual General Meeting
    • Financial Calendar
    • Contact

    Media

    • News
    • Punti principali
    • Storie di successo
    • Videos
    • Immagini e loghi
    • Mostre & Eventi
    • Contatti
    Navigation_Teaser_2
  • Contatti

    Sede centrale di Belimo

    • BELIMO Automation AG
    • E-Mail: info@belimo.ch
    • Tel.: +41 43 843 61 11

    Vendita Svizzera

    • Svizzera: Ordini, offerte, supporto tecnico
    • E-Mail: vendita@belimo.ch
    • Tel.: +41 43 843 62 12

    Altri contatti Belimo

  • Prodotti fuori produzione
  • Articoli nella tua cartella download

    La cartella download è vuota
    articolo(i) nella cartella download

    !

    Visualizza cartella download
    Al download center
  • Articoli nel tuo carrello

    Il carrello è vuoto.
    articolo(i) nel carrello

    Solution

    Quantità:
    Totale:
    Visualizza carrello / Lista di Progetto
    Apri una Lista di Progetto diversa
    Esporta come .xlsx Esporta come .csv Importa da .csv Importa da .bel
  1. Home
  2. IoT degli edifici
  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

Benvenuti da Belimo {{js-currentCountryName}}

{{js-currentCountryText}}
Contatti Informativa sulla privacy Modifica le impostazioni sulla privacy Note di sicurezza Condizioni generali di contratto Impronta
+41 43 843 61 11
Iscriviti alla newsletter
BELIMO Holding AG, Brunnenbachstrasse 1, 8340 Hinwil (Svizzera)