Главная страница

Товары в папке загрузки

Папка загрузки пуста
товар(-ы) в папке загрузки

!

Просмотреть папку загрузки
В центр загрузки

Товары в корзине

Корзина пуста.
товар(-ы) в корзине

Solution

Количество:
Просмотреть корзину / список проектов
Открыть другой список проектов
Экспортировать как .xlsx Экспортировать как .csv Импортировать из .csv
Cнятое с производства изделие
  • Добро пожаловать, {0} - Личный кабинет

    Личный кабинет


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

    Приводы

    • Размеры и выбор привода
    • Приводы без охранной функции
    • Приводы с охранной функцией
    • Приводы для работы в суровых природных условиях
    • Приводы быстрого срабатывания
    • Линейные приводы
    • Приводы противопожарных клапанов
    • Приводы для клапанов дымоудаления
    • Переменный объем воздуха
    • Приводы клапанов

    Клапаны

    • Определение размера и выбор клапана
    • Belimo Energy Valve™
    • Независимые от давления регулирующие клапаны
    • Зональные клапаны
    • Регулирующие клапаны с равнопроцентной характеристикой
    • Шаровые клапаны
    • Дисковые поворотные затворы
    • Седельные клапаны
    • Клапаны для питьевой воды
    • Refrigeration Valves
    • Приводы клапанов

    Датчики / счетчики

    • Выбор датчиков / счетчиков
    • Канальные датчики (воздуха)
    • Поверхностные датчики (воды)
    • Наружные датчики (воздуха)
    • Комнатные блоки
    • Счетчики тепловой энергии (СТЭ)
    • Belimo Energy Valve™ с TEM

    Системы

    • Belimo Energy Valve™
    • Решение для внутренних помещений
    • Интеграция шины и системы
    • Огонь и дым
    • Система выхлопных патрубков энергетического оборудования
    • Belimo ZoneEase™ VAV

    RetroFIT+

    • RetroFIT+ Product Replacement Tool
    • Максимальное использование потенциала системы
    • Обновите свою систему
    • Оптимизация существующих систем ОВиК
    • RetroFIT+ Сменные продукты

    Применение

    • Решения по охлаждению в центрах обработки данных
    • Установки кондиционирования воздуха (AHUs)
    • Помещения и зоны
  • Поддерживать

    Услуги

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

    Belimo Education

    • Belimo Experience Center (Хинвиль, Швейцария)
    • Экскурсия по компании (Хинвиль, Швейцария)
    • Вебинары
    • Обучение

    Применение

    • Решения по охлаждению в центрах обработки данных
    • Установки кондиционирования воздуха (AHUs)
    • Помещения и зоны
  • О нас

    Belimo

    • Профиль
    • Наши ценности
    • Устойчивое развитие
    • История
    • Награды и поощрения
    • Поставщики
    • Аффилированные организации
    • Качество Belimo
    MKT-IMG_belimo_video_block

    Среда

    • Новости
    • Важное
    • Истории успеха
    • Видео
    • Изображения и логотипы
    • Выставки и события
    • Контакты
    lower_pic
  • Свяжитесь с нами
  • Латвия

    Северная и Южная Америка

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

    Европа, Ближний Восток и Африка

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

    Азиатско-тихоокеанский регион

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

    Latviski

    English

    Русский

  • Латвия

    Северная и Южная Америка

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

    Европа, Ближний Восток и Африка

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

    Азиатско-тихоокеанский регион

    • Cпециальный административный район Макао, Китай
    • Австралия
    • Вьетнам
    • Индия
    • Индонезия
    • Камбоджа
    • Китай
    • Корея
    • Малайзия
    • Мьянма
    • Новая Зеландия
    • Сингапур
    • Специальный административный район Гонконг, Китай
    • Таиланд
    • Тайвань, Китай
    • Филиппины
    • Япония
  • LV EN RU
  • Добро пожаловать, {0} - Личный кабинет

    Личный кабинет


    • Выход
    Вход/Регистрация
Главная страница
  • Продукция

    Приводы

    • Размеры и выбор привода
    • Приводы без охранной функции
    • Приводы с охранной функцией
    • Приводы для работы в суровых природных условиях
    • Приводы быстрого срабатывания
    • Линейные приводы
    • Приводы противопожарных клапанов
    • Приводы для клапанов дымоудаления
    • Переменный объем воздуха
    • Приводы клапанов

    Клапаны

    • Определение размера и выбор клапана
    • Belimo Energy Valve™
    • Независимые от давления регулирующие клапаны
    • Зональные клапаны
    • Регулирующие клапаны с равнопроцентной характеристикой
    • Шаровые клапаны
    • Дисковые поворотные затворы
    • Седельные клапаны
    • Клапаны для питьевой воды
    • Refrigeration Valves
    • Приводы клапанов

    Датчики / счетчики

    • Выбор датчиков / счетчиков
    • Канальные датчики (воздуха)
    • Поверхностные датчики (воды)
    • Наружные датчики (воздуха)
    • Комнатные блоки
    • Счетчики тепловой энергии (СТЭ)
    • Belimo Energy Valve™ с TEM

    Системы

    • Belimo Energy Valve™
    • Решение для внутренних помещений
    • Интеграция шины и системы
    • Огонь и дым
    • Система выхлопных патрубков энергетического оборудования
    • Belimo ZoneEase™ VAV

    RetroFIT+

    • RetroFIT+ Product Replacement Tool
    • Максимальное использование потенциала системы
    • Обновите свою систему
    • Оптимизация существующих систем ОВиК
    • RetroFIT+ Сменные продукты

    Применение

    • Решения по охлаждению в центрах обработки данных
    • Установки кондиционирования воздуха (AHUs)
    • Помещения и зоны
  • Поддерживать

    Услуги

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

    Belimo Education

    • Belimo Experience Center (Хинвиль, Швейцария)
    • Экскурсия по компании (Хинвиль, Швейцария)
    • Вебинары
    • Обучение

    Применение

    • Решения по охлаждению в центрах обработки данных
    • Установки кондиционирования воздуха (AHUs)
    • Помещения и зоны
  • О нас

    Belimo

    • Профиль
    • Наши ценности
    • Устойчивое развитие
    • История
    • Награды и поощрения
    • Поставщики
    • Аффилированные организации
    • Качество Belimo
    MKT-IMG_belimo_video_block

    Среда

    • Новости
    • Важное
    • Истории успеха
    • Видео
    • Изображения и логотипы
    • Выставки и события
    • Контакты
    lower_pic
  • Свяжитесь с нами
  • Cнятое с производства изделие
  • Товары в папке загрузки

    Папка загрузки пуста
    товар(-ы) в папке загрузки

    !

    Просмотреть папку загрузки
    В центр загрузки
  • Товары в корзине

    Корзина пуста.
    товар(-ы) в корзине

    Solution

    Количество:
    Просмотреть корзину / список проектов
    Открыть другой список проектов
    Экспортировать как .xlsx Экспортировать как .csv Импортировать из .csv
  1. Главная страница
  2. Building 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 Изменить настройки конфиденциальности Примечание по безопасностиx General terms and conditions Imprint
+371 6762 3105
Подписаться на рассылку новостей
BELIMO Balticum SIA, Mükusalas iela 72B, 1004 Riga (Latvia)