Početak

Stavke u fascikli za preuzimanje

Fascikla za preuzimanje je prazna
stavka(i) u fascikli za preuzimanje

!

Prikaži fasciklu za preuzimanje
U centar za preuzimanje

Stavke u vašoj korpi

Korpa je prazna.
stavka(i) u korpi

Solution

Količina:
Ukupno:
Pregled korpe / liste projekata
Otvori drugu listu projekata
Izvezi kao .xlsx Izvezi kao .csv Uvezi iz .csv Uvezi iz .bel
Proizvod koji se više ne proizvodi
  • Dobrodošli, {0} - Moj nalog

    Moj nalog


    • Odjavi se
    Prijava/registracija
  • Proizvodi

    Pokretači

    • Dimenzionisanje i izbor pokretača
    • Pokretači bez zaštitne funkcije
    • Pokretači sa zaštitnom funkcijom
    • Pokretači za ekstremne spoljašnje uslove
    • Brzi pokretači
    • Linearni pokretači
    • Pokretači požarnih klapni
    • Pokretači dimovodne klapne
    • Promenljiva zapremina vazduha
    • Pokretači ventila

    Ventili

    • Dimenzionisanje i izbor ventila
    • Belimo Energy Valve™
    • Regulacioni ventili nezavisni od pritiska
    • Zonski ventili
    • Loptasti regulacioni ventili
    • Loptasti ventili
    • Leptir ventili
    • Regulacioni ventili
    • Ventili za pitku vodu
    • Refrigeration Valves
    • Pokretači ventila

    Senzori / merila

    • Izbor senzora/merila
    • Kanalni senzori (vazduh)
    • Cevni senzori (voda)
    • Spoljašnji senzori (vazduh)
    • Sobne jedinice
    • Merila toplotne energije (TEM)
    • Belimo Energy Valve™ sa TEM

    Sistemi

    • Belimo Energy Valve™
    • Individualna rešenja
    • Bus sistem i sistemska integracija
    • Vatra i dim
    • Energetski razdelnik
    • Belimo ZoneEase™ VAV

    RetroFIT+

    • RetroFIT+ Product Replacement Tool
    • Povećajte potencijal svog sistema na maksimum
    • Nadogradite svoj sistem
    • Optimizovanje postojećih KGH sistema
    • RetroFIT+ Zamenski proizvodi
    • RetroFIT+ partneri

    Primene

    • Primene za hlađenje centara za podatke
    • Klima komore (AHU)
    • Prostorije i zonske primene
  • Podrška

    Usluge

    • Dimenzionisanje i izbor pokretača
    • Dimenzionisanje i izbor ventila
    • Izbor senzora/merila
    • RetroFIT+ Product Replacement Tool
    • Tender Texts
    • Proizvodi posebno prilagođeni potrebama klijenata
    • Centar za preuzimanje
    • Alat za podešavanje / Aplikacije
    • Softver / dodatne komponente / CAD
    • Arhiva datoteka (bus i sistemska integracija)
    • Katalog proizvoda i cena / Datanorm
    • Opšti uslovi prodaje i isporuke
    • Belimo Cloud: prijava/registracija
    • Aktivacija merila toplotne energije
    • Video-zapisi

    Belimo Education

    • Belimo Experience Centre (Beč, Austrija)
    • Belimo Experience Center (Hinvil, Švajcarska)
    • Belimo Experience Center (Großröhrsdorf, Germany)
    • Obilazak kompanije (Hinvil, Švicarska)
    • Vebinari
    • Obuka

    Primene

    • Primene za hlađenje centara za podatke
    • Klima komore (AHU)
    • Prostorije i zonske primene
  • O nama

    Belimo

    • Profil
    • Naše vrednosti
    • Održivost
    • Istorija
    • Ocenenia a uznania
    • Dobavljači
    • Povezane organizacije
    • Kvalitet @ Belimo

    Jobs & Careers

    • Jobs
    • Culture@BELIMO
    • Benefits
    • Recruitment process
    • Careers
    Navigation_Teaser_1

    Investor Relations

    • Key Figure Comparison
    • Reports and Presentations
    • Ad hoc and Corporate News
    • Belimo Share
    • Corporate Governance
    • Annual General Meeting
    • Financial Calendar
    • Contact

    Mediji

    • Novosti
    • Istaknuti sadržaj
    • Uspešne priče
    • Videos
    • Slike i logotipi
    • Izložbe i događaji
    • Contacts
    Navigation_Teaser_2
  • Kontaktirajte nas
  • Austrija

    Severna i Južna Amerika

    • Brazil
    • Kanada
    • Karibi, Latinska Amerika i Sjedinjene Države

    Evropa, Bliski istok i Afrika

    • Albanija
    • Austrija
    • Belgija
    • Belorusija
    • Bosna i Hercegovina
    • Bugarska
    • Danska
    • Estonija
    • Finska
    • Francuska
    • Grčka
    • Gruzija
    • Holandija
    • Hrvatska
    • Irska
    • Italija
    • Izrael
    • Južna Afrika
    • Kazahstan
    • Letonija
    • Litvanija
    • Mađarska
    • Nemačka
    • Norveška
    • Poljska
    • Republika Češka
    • Rumunija
    • Saudijska Arabija
    • Severna Makedonija
    • Slovačka
    • Slovenija
    • Španija
    • Srbija i Crna Gora
    • Švajcarska
    • Švedska
    • Turska
    • Ujedinjeni Arapski Emirati (FZE)
    • Ukrajina
    • Velika Britanija

    Azijsko-Pacifički region

    • Australija
    • Filipini
    • Hong Kong SAR, Kina
    • Indija
    • Indonezija
    • Japan
    • Kambodža
    • Kina
    • Koreja
    • Malezija
    • Mjanmar
    • Novi Zeland
    • SAR Makao, Kina
    • Singapur
    • Tajland
    • Tajvan, Kina
    • Vijetnam
    Srpski

    Deutsch

    English

    Magyar

    Slovenščina

    Slovenský

    Srpski

    Mакедонски

    Hrvatski

    Srpski

  • Austrija

    Severna i Južna Amerika

    • Brazil
    • Kanada
    • Karibi, Latinska Amerika i Sjedinjene Države

    Evropa, Bliski istok i Afrika

    • Albanija
    • Austrija
    • Belgija
    • Belorusija
    • Bosna i Hercegovina
    • Bugarska
    • Danska
    • Estonija
    • Finska
    • Francuska
    • Grčka
    • Gruzija
    • Holandija
    • Hrvatska
    • Irska
    • Italija
    • Izrael
    • Južna Afrika
    • Kazahstan
    • Letonija
    • Litvanija
    • Mađarska
    • Nemačka
    • Norveška
    • Poljska
    • Republika Češka
    • Rumunija
    • Saudijska Arabija
    • Severna Makedonija
    • Slovačka
    • Slovenija
    • Španija
    • Srbija i Crna Gora
    • Švajcarska
    • Švedska
    • Turska
    • Ujedinjeni Arapski Emirati (FZE)
    • Ukrajina
    • Velika Britanija

    Azijsko-Pacifički region

    • Australija
    • Filipini
    • Hong Kong SAR, Kina
    • Indija
    • Indonezija
    • Japan
    • Kambodža
    • Kina
    • Koreja
    • Malezija
    • Mjanmar
    • Novi Zeland
    • SAR Makao, Kina
    • Singapur
    • Tajland
    • Tajvan, Kina
    • Vijetnam
  • DE EN HU SL SK SR MK HR BA
  • Dobrodošli, {0} - Moj nalog

    Moj nalog


    • Odjavi se
    Prijava/registracija
Početak
  • Proizvodi

    Pokretači

    • Dimenzionisanje i izbor pokretača
    • Pokretači bez zaštitne funkcije
    • Pokretači sa zaštitnom funkcijom
    • Pokretači za ekstremne spoljašnje uslove
    • Brzi pokretači
    • Linearni pokretači
    • Pokretači požarnih klapni
    • Pokretači dimovodne klapne
    • Promenljiva zapremina vazduha
    • Pokretači ventila

    Ventili

    • Dimenzionisanje i izbor ventila
    • Belimo Energy Valve™
    • Regulacioni ventili nezavisni od pritiska
    • Zonski ventili
    • Loptasti regulacioni ventili
    • Loptasti ventili
    • Leptir ventili
    • Regulacioni ventili
    • Ventili za pitku vodu
    • Refrigeration Valves
    • Pokretači ventila

    Senzori / merila

    • Izbor senzora/merila
    • Kanalni senzori (vazduh)
    • Cevni senzori (voda)
    • Spoljašnji senzori (vazduh)
    • Sobne jedinice
    • Merila toplotne energije (TEM)
    • Belimo Energy Valve™ sa TEM

    Sistemi

    • Belimo Energy Valve™
    • Individualna rešenja
    • Bus sistem i sistemska integracija
    • Vatra i dim
    • Energetski razdelnik
    • Belimo ZoneEase™ VAV

    RetroFIT+

    • RetroFIT+ Product Replacement Tool
    • Povećajte potencijal svog sistema na maksimum
    • Nadogradite svoj sistem
    • Optimizovanje postojećih KGH sistema
    • RetroFIT+ Zamenski proizvodi
    • RetroFIT+ partneri

    Primene

    • Primene za hlađenje centara za podatke
    • Klima komore (AHU)
    • Prostorije i zonske primene
  • Podrška

    Usluge

    • Dimenzionisanje i izbor pokretača
    • Dimenzionisanje i izbor ventila
    • Izbor senzora/merila
    • RetroFIT+ Product Replacement Tool
    • Tender Texts
    • Proizvodi posebno prilagođeni potrebama klijenata
    • Centar za preuzimanje
    • Alat za podešavanje / Aplikacije
    • Softver / dodatne komponente / CAD
    • Arhiva datoteka (bus i sistemska integracija)
    • Katalog proizvoda i cena / Datanorm
    • Opšti uslovi prodaje i isporuke
    • Belimo Cloud: prijava/registracija
    • Aktivacija merila toplotne energije
    • Video-zapisi

    Belimo Education

    • Belimo Experience Centre (Beč, Austrija)
    • Belimo Experience Center (Hinvil, Švajcarska)
    • Belimo Experience Center (Großröhrsdorf, Germany)
    • Obilazak kompanije (Hinvil, Švicarska)
    • Vebinari
    • Obuka

    Primene

    • Primene za hlađenje centara za podatke
    • Klima komore (AHU)
    • Prostorije i zonske primene
  • O nama

    Belimo

    • Profil
    • Naše vrednosti
    • Održivost
    • Istorija
    • Ocenenia a uznania
    • Dobavljači
    • Povezane organizacije
    • Kvalitet @ Belimo

    Jobs & Careers

    • Jobs
    • Culture@BELIMO
    • Benefits
    • Recruitment process
    • Careers
    Navigation_Teaser_1

    Investor Relations

    • Key Figure Comparison
    • Reports and Presentations
    • Ad hoc and Corporate News
    • Belimo Share
    • Corporate Governance
    • Annual General Meeting
    • Financial Calendar
    • Contact

    Mediji

    • Novosti
    • Istaknuti sadržaj
    • Uspešne priče
    • Videos
    • Slike i logotipi
    • Izložbe i događaji
    • Contacts
    Navigation_Teaser_2
  • Kontaktirajte nas
  • Proizvod koji se više ne proizvodi
  • Stavke u fascikli za preuzimanje

    Fascikla za preuzimanje je prazna
    stavka(i) u fascikli za preuzimanje

    !

    Prikaži fasciklu za preuzimanje
    U centar za preuzimanje
  • Stavke u vašoj korpi

    Korpa je prazna.
    stavka(i) u korpi

    Solution

    Količina:
    Ukupno:
    Pregled korpe / liste projekata
    Otvori drugu listu projekata
    Izvezi kao .xlsx Izvezi kao .csv Uvezi iz .csv Uvezi iz .bel
  1. Početak
  2. IoT zgrade
  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

Добродошли у Belimo {{js-currentCountryName}}

{{js-currentCountryText}}
Kontaktirajte nas Politika privatnosti Promenite postavke privatnosti Napomene o sigurnosti Opšti uslovi poslovanja Impresum
+43 1 7490361 0
Prijavite se na bilten
BELIMO Automation Handelsgesellschaft m.b.H, Brunner Straße 63/20, 1230 Vienna (Austria)