čtvrtek 23. února 2017

eQ3-MAX! Komunikace s MAX Cube Gateway v Python

Příklad Python skriptu pro načtení údajů o struktuře místnostní a zařízení z MAX Cube LAN Gateway v lokální síti.



import socket
import base64

def read_line(socket):
 request_line = '';
 while not request_line.endswith('\n'):
  request_line += socket.recv(1).decode('ascii') 
 return request_line

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
sock.connect(('192.168.0.111', 62910));
chunks = []
bytes_recd = 0
request_line = '';

header=read_line(sock);
print(header);

commandM=read_line(sock);
print(commandM);
commandMParameters=commandM[2:].split(',');
mCommandData=base64.decodestring(str.encode(commandMParameters[2]));
numberOfRooms=mCommandData[2];
print('Nubmer of Rooms: ', numberOfRooms);
mRoomData=mCommandData[3:]
mCommandData=mRoomData;
for i in range(1,numberOfRooms+1):
 room = {'id':0,'name':'','groupAddress':0}
 room['id'] = mCommandData[0];
 room['name'] = mCommandData[2:2+mCommandData[1]].decode('utf-8');
 room['grouAddress'] = mCommandData[mRoomData[1]+2:mCommandData[1]+5];
 print(str(room));
 mRoomData=mCommandData[mCommandData[1]+5:]
 mCommandData=mRoomData;
 
numberOfDevices=mCommandData[0];
print('Number of Devices',numberOfDevices); 
mTempData=mCommandData[1:]
mCommandData=mTempData;
for i in range(1,numberOfDevices+1):
 device = {'type' : 0, 'rfAddress' : 0, 'serialNumber' : '', 'name' : '', 'roomId' : 0};
 device['type'] = mCommandData[0];
 device['rfAddress'] = mCommandData[1:4];
 device['serialNumber'] = mCommandData[4:14].decode('utf-8');
 nameLength = mCommandData[14];
 device['name'] = mCommandData[15:15+nameLength].decode('utf-8');
 device['roomId'] = mCommandData[nameLength+15];
 mTempData=mCommandData[nameLength+16:]
 mCommandData=mTempData;
 print(device);
 
print(); 
 
sock.close();


pondělí 20. února 2017

eQ3-MAX! Komunikace s MAX Cube Gateway z Javy

Napojení na MAX Cube LAN Gateway v lokální síti je možné uskutečnit pomocí TCP/IP. Přikládám malou ukázku jednoduchého programu v Javě, který provede připojení a přečte si úvodní hlavičku komunikace:

H:NEQ1207232,172621,0113,00000000,1fb72263,03,32,110214,0d16,03,0000

V hlavičce je uvedeno sériové číslo (na první číslo za H:) a verze firmware (číslo 0113 na třetí pozici)




import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;

/**
 *  Initial Communication to Cube MAX
 */
public class Appl001InitConnection2Cube {

 /**
  * @param args The ip and port should be moved to application parameters 
  *  
  */
 public static void main(String[] args) throws Exception{
  
  Appl001InitConnection2Cube appl=new Appl001InitConnection2Cube();
  appl.connect2Cube("192.168.0.11", 62910); // ip address and port of MAX Cube LAN 

 }
 
 public void connect2Cube(String ip, int port) throws Exception {
  Socket socket = new Socket(ip,port);
  BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  BufferedWriter output = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
  String command = input.readLine();
  readHeader(command);
  socket.close();
 }
 
 public void readHeader(String command){
  System.out.println(command);
  
 }

}


Řízení vytápění domu s eQ3-MAX!

Při hledání inteligentního systému pro řízení vytápění v domě jsem narazil na jeden ze systémů řízení topení v domácnosti: eQ3-MAX! Je to výrobek firmy eQ-3 (www.eq-3.de) jejímž hlavním produktem je komplexní systém pro řízení domu Homematic, který pokrývá úplnou škálu řízení domu od čidel, řídících prvků včetně meteo stanice až po sw. MAX! pokrývá jen řízení vytápění a podle porovnání designu a provedení se evidentně jedná cíleně o lacinější variantu k Homematic. Nicméně řešení s centrální částí napojené na vnitřní síť domu a do které se registrují jednotlivá zařízení je jednoduchá a slibuje možnosti vytvoření autonomního řízení topení, které je možno s trochou šikovnosti ale zapojit do širšího systému regulace domu.

Jednotlivé prvky systému, které jsou popsány níže, jsou vyrobeny z plastu - dokonce i převlečná matice uchycení termohlavice na ventil topení (tady rozdíl ceny nemusí být veliký, ale rozhodně by to hlavici, co se designu i kvality rozhodně pomohlo). Je zde vidět snahu o předpolí k Homematic, který je na tom již podstatně lépe.

Měl možnost vyzkoušet sestavu 4 hlavic MAX!, 2 nástěnné termostaty Wall Thermostat, sensor otevřeného okna, Cube LAN Gateway, lokální SW a portálový přístup. Koncept registrace zařízení do centrální Cube LAN naprosto jednoduchý a bezproblémový - je k tomu potřeba mít již nainstalovanou lokální aplikaci. V aplikaci je možno rovnou zařízení sdružovat do místností. Zatím mám vyzkoušenou sestavu zařízení umístěné ve 3 místnostech. Zařízení velmi dobře spolupracují, takže nastavení na nástěnném termostatu se během několika vteřin přenese do hlavice a naopak, pokud změním hodnotu nastavené teploty na hlavici, je přenesena do nástěnného termostatu. zkoušel i spolupráci více hlavic v kombinaci s nástěnným teromstatem v rámci místnosti (do jedné místnosti může být umístěno až 8 hlavic, do celého domu pak až 50 zařízení).

Moje pozorování:
Hlavice jsou mírně hlučnější při uzavírání ventilu, při otevírání nejsou skoro slyšet. Nějak mě to ale výrazně neruší a na druhou stranu dává uspokojivý pocit, že zařízení slyším pracovat :o).

Ovládácí prvky na nástěnném termostatu musím pochválit. Tlačítka přehledná a poskytují přesně to, co potřebuji pro nastavení teploty v místnosti včetně Boost funkce na rychlé zatopení. V podstatě jsem v termostat v takové jednoduchosti, ale zároveň potřebném komfortu jinde nenašel.
Za velmi důležité považuji možnost komunikace s MAX Cube prostřednictvím TCP/IP spojení pol lokální síti. To mi umožnilo zakomponovat eQ3 Max do mnohem širšího systému řízení domu Home Assistant, který používám.





Systém se skládá z následujících typů prvků:

  • Cube LAN Gateway - centrální jednotka spojující meřící a řídící jednotky do jednoho celku a zajišťující komunikaci s programem v počítači nebo portálem, je zároveň úložištěm dat.
  • Termostatická hlavice - hlavice na topení, která řídí ventil a tím množství vody do radiátoru, eQ-3 pro MAX! nabízí 3 typy: MAX!, MAX! Basic, MAX!+. 
  • Termostat na stěnu - krabička velikosti standardního vypínače. Snímá aktuální teplotu a zobrazuje aktuální a požadovanou teplotu, má tlačítka pro řízení topení v místnosti. Řídí najednou všechny hlavice v místnosti.
  • Snímač otevřeného okna / dveří - dvousgementové čidlo, které je potřeba namontovat na dveře nebo okno, Do systému pak dává informaci o tom, zda jsou dveře/okno otevřené.
  • Nástěnný přepínač topení - chytrá drobnost ve formě nástěnného vypínače, která dává signál celé soustavě, Jedním stisknutím vypínače například u vchodových dveří tak mohu dát signál, že odcházím z domu a systém může nastavit vytápění do útlumu.
  • Program pro Windows nebo MAC - lokální program, který umožní komunikaci s Cube LAN Gateway. Pomocí něj je možné registrovat nová zařízení, organizovat zařízení do skupin (místností) a nastavovat zařízení.
  • eQ3-MAX portál - internetový přístup přes https://https://max.eq-3.de. Přes tento portál je možné komunikovat přes Cube LAN Gateway odkudkoli. Má podobné uživatelské rozhraní jako lokální aplikace a co nastavíme v lokální aplikaci, je pak přístupné přes portál.   


Cube LAN Gateway

Cube LAN gateway je ústřední jednotka, kterou připojíme na ethernet pomocí síťového kabelu. Cube LAN nemá wi-fi, což by se v dnešní době mohlo zdát jako velká nevýhoda. Nicméně to výrazně usnadňuje instalaci a připojení, které se redukuje na zapojení napájení a napojení na síťový kabel. Cube LAN dostane pak přidělenu ip adresu z DHCP serveru a zapojení je hotovo. Cube má na horní straně 3 LED diody, které nám určují základní stavy - stav připojení na napájení, stav napojení do sítě a indikaci správného připojení na portál, nízký stav baterek některého ze zařízení. To poslední se mi líbí jako hezký nápad, LED mi v jednom místě dá signál, že je potřeba věnovat větší pozornost některému ze zařízení. Já pak mohu zařízení obejít a zjistit, které zařízení to hlásí nebo si pustit program a nechat si zařízení identifikovat v programu.



Zde je obsah balení. Kostka Cube LAN Gateway, kit pro pevnou instalaci například na zeď (asi ani nevyužijete), síťový kabel a napájení.




MAX! Radiator Thermostat

Hlavice MAX! je jedna z radiátorových hlavic. Dalším typem je MAX!+ a MAX! Basic, Připojení ke Cube LAN velmi jednoduché. Obě zařízení se uvedou do učícího se módu. Cube LAN prostřednictvím programu v počítači  a hlavice stisknutím tlačítka Boost na 3 s. Obě zařízení si vymění informace a pak už se hlavice objeví jako nové zařízení v programu.


Obsah balení. V balení jsou přiloženy rekukce na různé typy ventilů. Já jsem doma tyto redukce nemusel použít a převlečná matice pasovala rovnou na ventil.





Nástěnný termostat MAX! Wall Thermostat

Zařízení, bez kterého sice systém bude fungovat, ale mě se jeví jako nezbytný pro zajištění jednak zpětné vazby skutečné aktuální teploty v místnosti, jednak jako řídí panel umístěný na přístupném místě v místnosti. Osobně mám termostat na pracovním stole, takže při práci vidím aktuální teplotu a stiskem tlačítka mohu zvýšit požadovanou hodnotu v pracovně.


Obsah balení. Včetně oboustranné pásky pro přilepení, pokud se vám nechce vrtat. Jinak má termostat velikost běžného vypínače a je možné jej přidělat na klasickou vypínačovou krabičku.



Okenní kontakt
Zprvu mnou podceňovaná komponenta systému. Okenní kontakt, který snímá, zda je otevřené okno. Pokud je okno otevřené lze nastavit hodnotu teploty, která uzavře radiátor. Zabraňuje tomu, aby se topení při otevřeném okně snažilo udržet teplotu v místnosti. Velmi užitečný doplněk. Vzhledem k tomu, že se mi rodinu nepodařilo přesvědčit, aby při otevření okna zároveň zavřeli ve vetrané místnosti topení. Takto je to automaticky tam i zpět, když se okno zavře radiátory se opět otevřou. Kontakt se na okno dá připevnit oboustrannou lepící páskou nebo pomocí vrutů. Ale upřímně, do hezkých oken se mi vrtat díry opravdu nechtělo. Bál jsem se, že kontakt bude okno hyzdit, ale hnědá barva pěkně splynula s oknem, takže výsledek je mnohem lepší než jsem očekával.


Obsah balení. Včetně oboustranné lepící pásky pro přilepení, pokud se vám nechce vrtat do rámu okna. To jsem ocenil. 






Program pro Windows

Na následujících printscreenech jsou obrazovky instalace a uživatelské rozhaní lokální aplikace. Můj pocit z aplikace: jednoduchá, intuitivní. Vše je na obrazovce přehledné a dává mi smysl. Velmi pěkné nastavení intervalů s nastavenými teplotami na celý týden. Přehledný způsob práce s strukturou domu - rozmístění zařízení do jednotlivých místností. Dobře udělaná kontextová nápověda. Jedinou nevýhodou je, že program není lokalizovaný do češtiny. Využívám jej v EN.

Instalace








Uživatelské rozhraní


















eQ3-MAX portál

Jednoduchý způsob registrace, ke kterému je potřeba lokální aplikace. V lokální aplikaci nastavíme aktivovat internetový přístup, kde zadáme jméno a heslo. Tím je registrace hotova.





Integrace Max Cube s Home Assistant

Pokud se nechcete omezit pouze na řízení vytápění, ale chcete zakomponovat eQ3 Max do většího celku, je jedna z možností použít Home Assistant (). Jedná se o open source projekt v Pythonu, který zastřešuje mnoho senzorů a řídících prvků. Vzhledem k tomu, že se jedná o otevřený systém, je možné si doprogramovávat komponenty. Buď vlastní nebo je můžete dát do společného repository a tak je nabídnout i ostatním. Pro eQ3 Max se na konci února objevily komponenty termostatů a okenního sensoru, Konfigurace do Home Assistant je jednoduchá pomocí 3 řádků v konfiguračním souobru. Home Assistant si pak již sám zakomunikuje s Max Cube a načte si všechny zaregistrované termostaty, hlavice a senzory.



středa 1. února 2017

Danfoss Living Connect - řešení pro řízení vytápění - není hlavice jako hlavice

Danfoss Living - termostatické hlavice spolu s centrální jednotkou a mobilní aplikací zajišťuje ucelené řešení pro řízení vytápění. Automatické hlavice Danfoss jsou vybaveny logikou, která zajišťuje inteligentní řízení průtoku horké vody v radiátorech. Centrální jednotka může též zajišťovat spouštění kotle, podlahového topení nebo elektrických přimotopů. Co se týká desginu, jedná se o špičku a podle mě nejzdařilejší tvar z nabízených hlavic stejné kategorie. Hlavice je možné používat s centrální jednotkou Danfoss. Existuje typ hlavice označené Danfoss Living Z (typ 014G0013), ta je plně kompatibilní se specifikací ZWave. Narozdíl od typu 014G0002, který je sice levnější, ale se ZWave si rozumí pouze zčásti. Typ 014G0013 je pak možné připojit na ZWave centrálu. Bohužel hlavice sice má informaci o aktuální teplotě, podle které otevírá a zavírá ventil, ale protokolem ZWave aktuální teplotu neposílá. Z různých reakcí na webu jsou však zkušenosti s kombinací hlavic a funkce centrálního termostatu nefunguje vždy na 100%. + hlavice podporuje funkci otevřené okno + hlavice 014G0013 podporuje ZWave + velmi zdařilý design - protokolem ZWave hlavice neposílá informaci o aktuální teplotě - ZWave plně podporuje pouze dražší typ 014G0013, nutno si dám pozor při koupi