Начало

Позиции във вашата папка с изтеглени документи

Папката с изтеглени документи е празна
позиция(и) в папката с изтеглени документи

!

Преглед на папка с изтеглени документи
Към центъра за изтегляне на документи

Позиции във вашата кошница

Кошницата е празна.
позиция(и) в кошница

Solution

Количество:
Преглед на кошница / Списък за проект
Отваряне на друг списък за проект
Експорт като .xlsx Експорт като .csv Импорт от .csv
Cпрян от производство продукт
  • Добре дошли, {0} - Моят акаунт

    Моят акаунт


    • Изход от системата
    Вход/Регистрация
  • Продукти

    Изп. механизми

    • Избор на вентил и изпълнителен механизъм
    • Изп. механизми без аварийна функция
    • Изп. механизми с аварийна функция
    • Изп. механизми за тежки условия на околната среда
    • Бързи изп. механизми
    • Линейни изп. механизми
    • Противопожарни изп. механизми
    • Противодимни изп. механизми
    • Променлив въздушен дебит
    • Изп. механизми за вентили

    Вентили

    • Определяне на размерите на вентилите и избор
    • Belimo Energy Valve™
    • Автоматично балансиращи регулиращи вентили
    • Зонови вентили
    • Сферични регулиращи вентили
    • Сферични вентили
    • Бътерфлай клапи
    • Седлови вентили
    • Вентили за питейна вода
    • Refrigeration Valves
    • Изп. механизми за вентили

    Сензори/Измервателни уреди

    • Избор на сензори/измервателни уреди
    • Канални Датчици (Въздух)
    • Тръбни Датчици (Вода)
    • Външни Датчици (Въздух)
    • Стайни датчици
    • Измерватели на топлинна енергия (TEM)
    • Belimo Energy Valve™ с топломер

    Системи

    • Belimo Energy Valve™
    • Стайни Решения
    • Цифрови и системни решения
    • Огън и дим
    • Енергиен колектор
    • ZoneEase™ променлив въздушен дебит (VAV) на Belimo

    RetroFIT+

    • RetroFIT+ Подмяна на Продукти
    • Постигане на максимална ефективност на Вашата система
    • Надграждане на системата Ви
    • Оптимизиране на съществуващи ОВК системи
    • RetroFIT+ Продукти за подмяна

    Приложения

    • Приложения за охлаждане на центрове за данни
    • Въздухообработващи агрегати (AHU)
    • Пространствени и зонови приложения
  • Поддръжка

    Услуги

    • Избор на вентил и изпълнителен механизъм
    • Определяне на размерите на вентилите и избор
    • Избор на сензори/измервателни уреди
    • RetroFIT+ Подмяна на Продукти
    • Специфични за клиента продукти
    • Център за изтегляне
    • Устройства за настройка и задаване на параметри / приложение
    • Софтуер/Плъгини/CAD
    • Файлов архив (шина и интегриране в система)
    • Продуктов и ценови каталог
    • Общи условия за продажби и доставка
    • Belimo Cloud: вход/регистриране
    • Активиране на измервателно устройство за топлинна енергия
    • Видеоклипове

    Belimo Education

    • Belimo Experience Center (Хинвил, Швейцария)
    • Обиколка на компанията (Хинвил, Швейцария)
    • Уебинари
    • Обучение

    Приложения

    • Приложения за охлаждане на центрове за данни
    • Въздухообработващи агрегати (AHU)
    • Пространствени и зонови приложения
  • За нас

    Belimo

    • Профил
    • Нашите стойности
    • Устойчивост
    • История
    • Награди и признания
    • Доставчици
    • Свързани организации
    • Качество в Belimo
    MKT-IMG_belimo_video_block

    Флуид

    • Новини
    • Основни моменти
    • Истории на успеха
    • Videos
    • Изображения и лога
    • Изложби и събития
    • Контакти
    lower_pic
  • Свържете се с нас
  • България

    Америка

    • Бразилия
    • Канада
    • Кариби, Латинска Америка и Съединени американски щати

    Европа, Близък изток и Африка

    • Австрия
    • Албания
    • Беларус
    • Белгия
    • Босна и Херцеговина
    • България
    • Германия
    • Грузия
    • Гърция
    • Дания
    • Египет
    • Естония
    • Израел
    • Ирландия
    • Испания
    • Италия
    • Казахстан
    • Латвия
    • Литва
    • Норвегия
    • Обединени арабски емирства (ОАЕ)
    • Обединено Кралство
    • Полша
    • Румъния
    • Саудитска Арабия
    • Северна Македония
    • Словакия
    • Словения
    • Сърбия и Черна гора
    • Турция
    • Украйна
    • Унгария
    • Финландия
    • Франция
    • Холандия
    • Хърватска
    • Чешка Република
    • Швейцария
    • Швеция
    • Южна Африка

    Азия и Тихия океан

    • Австралия
    • Виетнам
    • Индия
    • Индонезия
    • Камбоджа
    • Китай
    • Корея
    • Макао, САР на Китай
    • Малайзия
    • Мианмар
    • Нова Зеландия
    • Сингапур
    • Тайван, Китай
    • Тайланд
    • Филипините
    • Хонк Конг, САР на Китай
    • Япония
    български

    български

    English

  • България

    Америка

    • Бразилия
    • Канада
    • Кариби, Латинска Америка и Съединени американски щати

    Европа, Близък изток и Африка

    • Австрия
    • Албания
    • Беларус
    • Белгия
    • Босна и Херцеговина
    • България
    • Германия
    • Грузия
    • Гърция
    • Дания
    • Египет
    • Естония
    • Израел
    • Ирландия
    • Испания
    • Италия
    • Казахстан
    • Латвия
    • Литва
    • Норвегия
    • Обединени арабски емирства (ОАЕ)
    • Обединено Кралство
    • Полша
    • Румъния
    • Саудитска Арабия
    • Северна Македония
    • Словакия
    • Словения
    • Сърбия и Черна гора
    • Турция
    • Украйна
    • Унгария
    • Финландия
    • Франция
    • Холандия
    • Хърватска
    • Чешка Република
    • Швейцария
    • Швеция
    • Южна Африка

    Азия и Тихия океан

    • Австралия
    • Виетнам
    • Индия
    • Индонезия
    • Камбоджа
    • Китай
    • Корея
    • Макао, САР на Китай
    • Малайзия
    • Мианмар
    • Нова Зеландия
    • Сингапур
    • Тайван, Китай
    • Тайланд
    • Филипините
    • Хонк Конг, САР на Китай
    • Япония
  • BG EN
  • Добре дошли, {0} - Моят акаунт

    Моят акаунт


    • Изход от системата
    Вход/Регистрация
Начало
  • Продукти

    Изп. механизми

    • Избор на вентил и изпълнителен механизъм
    • Изп. механизми без аварийна функция
    • Изп. механизми с аварийна функция
    • Изп. механизми за тежки условия на околната среда
    • Бързи изп. механизми
    • Линейни изп. механизми
    • Противопожарни изп. механизми
    • Противодимни изп. механизми
    • Променлив въздушен дебит
    • Изп. механизми за вентили

    Вентили

    • Определяне на размерите на вентилите и избор
    • Belimo Energy Valve™
    • Автоматично балансиращи регулиращи вентили
    • Зонови вентили
    • Сферични регулиращи вентили
    • Сферични вентили
    • Бътерфлай клапи
    • Седлови вентили
    • Вентили за питейна вода
    • Refrigeration Valves
    • Изп. механизми за вентили

    Сензори/Измервателни уреди

    • Избор на сензори/измервателни уреди
    • Канални Датчици (Въздух)
    • Тръбни Датчици (Вода)
    • Външни Датчици (Въздух)
    • Стайни датчици
    • Измерватели на топлинна енергия (TEM)
    • Belimo Energy Valve™ с топломер

    Системи

    • Belimo Energy Valve™
    • Стайни Решения
    • Цифрови и системни решения
    • Огън и дим
    • Енергиен колектор
    • ZoneEase™ променлив въздушен дебит (VAV) на Belimo

    RetroFIT+

    • RetroFIT+ Подмяна на Продукти
    • Постигане на максимална ефективност на Вашата система
    • Надграждане на системата Ви
    • Оптимизиране на съществуващи ОВК системи
    • RetroFIT+ Продукти за подмяна

    Приложения

    • Приложения за охлаждане на центрове за данни
    • Въздухообработващи агрегати (AHU)
    • Пространствени и зонови приложения
  • Поддръжка

    Услуги

    • Избор на вентил и изпълнителен механизъм
    • Определяне на размерите на вентилите и избор
    • Избор на сензори/измервателни уреди
    • RetroFIT+ Подмяна на Продукти
    • Специфични за клиента продукти
    • Център за изтегляне
    • Устройства за настройка и задаване на параметри / приложение
    • Софтуер/Плъгини/CAD
    • Файлов архив (шина и интегриране в система)
    • Продуктов и ценови каталог
    • Общи условия за продажби и доставка
    • Belimo Cloud: вход/регистриране
    • Активиране на измервателно устройство за топлинна енергия
    • Видеоклипове

    Belimo Education

    • Belimo Experience Center (Хинвил, Швейцария)
    • Обиколка на компанията (Хинвил, Швейцария)
    • Уебинари
    • Обучение

    Приложения

    • Приложения за охлаждане на центрове за данни
    • Въздухообработващи агрегати (AHU)
    • Пространствени и зонови приложения
  • За нас

    Belimo

    • Профил
    • Нашите стойности
    • Устойчивост
    • История
    • Награди и признания
    • Доставчици
    • Свързани организации
    • Качество в Belimo
    MKT-IMG_belimo_video_block

    Флуид

    • Новини
    • Основни моменти
    • Истории на успеха
    • Videos
    • Изображения и лога
    • Изложби и събития
    • Контакти
    lower_pic
  • Свържете се с нас
  • Cпрян от производство продукт
  • Позиции във вашата папка с изтеглени документи

    Папката с изтеглени документи е празна
    позиция(и) в папката с изтеглени документи

    !

    Преглед на папка с изтеглени документи
    Към центъра за изтегляне на документи
  • Позиции във вашата кошница

    Кошницата е празна.
    позиция(и) в кошница

    Solution

    Количество:
    Преглед на кошница / Списък за проект
    Отваряне на друг списък за проект
    Експорт като .xlsx Експорт като .csv Импорт от .csv
  1. Начало
  2. Сграден IoT
  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}}
Contact Us Privacy Policy Промяна на настройките за поверителност За безопасност Общи търговски условия Imprint
+359 2 952 34 70
Абонирайте се за бюлетин
BELIMO Holding AG, Brunnenbachstrasse 1, 8340 Hinwil (Switzerland)