Home Server

Home Server de la Gira merita o categorie speciala

O reclamă frumoasă despre integrarea dintre Gira HomeServer 3 și Apple.

You need to install or upgrade Flash Player to view this content, install or upgrade by clicking here.

Etichete: , ,

As a big surprise I discovered the UPnP plugins for Gira HomeServer QuadClient from the latest buid of Expert software in conjunction with QuadClient 1.2 as a client is able to control most of the functionality of the Sonos system.

Limitations

  • There is still no access to music services such as internet radio, deezer or local audio plugs at the zone player. While every zone player is visible as a media server and all these services are listed, they come empty and there is no command to refresh their content.
  • There is no linking and unlinking commands for zone players.

How to install and configure

Just add UPnP Media Server plugin in Quadrant 3 and UPnP Media Renderer plugin in Quadrant 4 so both can be visible in the QuadClient at the same time.

Configure the UPnP Media Server plugin to hide all Sonos Zone Players since there is no much benefit to use them as servers. Let all other media servers visible (such as windows computers, nas media servers, etc)

How to operate

Display both media servers and media renderers quadrants at the same time. On the media renderer pane display your preffered Sonos Zone Player or local QC player (which integrates the computer’s media player). Access your desired media server and select your music. Click play and the music becomes live.

iPod, iPhone, iPad?

Sadly, the UPnP media plugins cannot be exported yet for the iOS apps clients.

Etichete: , ,

This project occupies my mind for some time and recently I got closer to a working solution. Actually I already have something working in place but at this stage the solution looks quite ugly and I would not recommend it but only for the very enthusiastic users of KNX, Sonos and Gira HomeServer. You should have a Windows based computer in your network to run the solution.

Credit: most of the code is reused from the following sources:

If you want to replicate the solution you should follow these steps:

on the Gira HomeServer

  • in Experte software create some group addresses to control your Sonos zone players. Mark Send communication object for those group addresses so values will be sent through the KO Gateway (in the IP network)
    • type 1 bit for transport commands: play(1)/stop(0), pause(1), next(1)/previous(0), mute(1)/unmute(0)
    • type 8bit-EIS6 – percent (0-100%) for volume commands
  • If you use QuadClient you can place new controls for audio commands in the rooms coresponding to zone player locations. I used the Set Value – percent control to adjust the volume. You can also assign in ETS3 any pushbuttons to change the group address value for volume control. Remember to note which group address corresponds to which zone player – you need it later to build the UniqueDeviceNames.ini file
  • do not forget to enable the Communication Gatweway in Project settings and to use the default port 7003

on your Windows machine

  • download Olser’s code from http://www.cebotics.com/forums/viewt…856041&start=0 and install the wshell scripts ZonePlayerController.wsc and ZonePlayerFinder.wsc (update: now I included them in the zip archive)
  • Download and place ZPCMD.exe file in the root folder (C:\).
  • Follow Olser’s instructions to detect the zone players in your installation. You will get a file named UniqueDeviceNames.txt in your root folder. This is how this file looks like:

Portable: uuid:RINCON_000E5851565201400
Dining Room: uuid:RINCON_000E5830093201400
Patio: uuid:RINCON_000E58133EE401400
Guest Room: uuid:RINCON_000E58233A4601400
Living Room: uuid:RINCON_000E58234DF001400
Master Bedroom: uuid:RINCON_000E5821CE0001400

  • Create a file named UniqueDeviceNames.ini in the root folder by editing the UniqueDeviceNames.txt file with the following structure

[HS]
IP=192.168.104.10
port=7003
key=
[player_status]
uuid:RINCON_000E5851565201400=Playing
uuid:RINCON_000E5830093201400=Stopped
uuid:RINCON_000E58133EE401400=Paused
uuid:RINCON_000E58233A4601400=Muted
uuid:RINCON_000E58234DF001400=Unmuted
uuid:RINCON_000E5821CE0001400=Stopped
[volume_command]
6/2/1=uuid:RINCON_000E5851565201400
6/2/2=uuid:RINCON_000E5830093201400
6/2/3=uuid:RINCON_000E58133EE401400
6/2/4=uuid:RINCON_000E58233A4601400
6/2/5=uuid:RINCON_000E58234DF001400
6/2/6=uuid:RINCON_000E5821CE0001400
[play_stop_command]
6/2/11=uuid:RINCON_000E5851565201400
6/2/12=uuid:RINCON_000E5830093201400
6/2/13=uuid:RINCON_000E58133EE401400
6/2/14=uuid:RINCON_000E58233A4601400
6/2/15=uuid:RINCON_000E58234DF001400
6/2/16=uuid:RINCON_000E5821CE0001400
[pause_command]
6/2/21=uuid:RINCON_000E5851565201400
6/2/22=uuid:RINCON_000E5830093201400
6/2/23=uuid:RINCON_000E58133EE401400
6/2/24=uuid:RINCON_000E58233A4601400
6/2/25=uuid:RINCON_000E58234DF001400
6/2/26=uuid:RINCON_000E5821CE0001400
[mute_unmute_command]
6/2/31=uuid:RINCON_000E5851565201400
6/2/32=uuid:RINCON_000E5830093201400
6/2/33=uuid:RINCON_000E58133EE401400
6/2/34=uuid:RINCON_000E58233A4601400
6/2/35=uuid:RINCON_000E58234DF001400
6/2/36=uuid:RINCON_000E5821CE0001400
[next_previous_command]
6/2/41=uuid:RINCON_000E5851565201400
6/2/42=uuid:RINCON_000E5830093201400
6/2/43=uuid:RINCON_000E58133EE401400
6/2/44=uuid:RINCON_000E58233A4601400
6/2/45=uuid:RINCON_000E58234DF001400
6/2/46=uuid:RINCON_000E5821CE0001400
  • Please note that the [HS] section states your HomeServer IP address, port and secret key in order to communicate with the Gira HomeServer. Then the other sections relate your KNX group addresses to the Sonos zone players IDs found in the UniqueDeviceNames.txt file
  • Place the SonosHS.exe (REMOVED, see newer posts) file in a place of convenience (if you want use root folder as well)
  • Make sure you have installed the .NET framework v4 and open a cmd prompt windows as an administrator
  • Run this command: C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe c:\sonoshs.exe in order to install the windows service named SonosHS
  • Go and start the windows service (this is only necessary after installation, it will start automatically after any reboot)
  • Go ahead and control your zone players from your KNX devices. Please keep an eye for firewall warnings and allow SonosHS to connect and access the disk system. Save those confirmations in your firewall rules.

Please note this is a very incipient implementation and is not very well tested. There is a limitation that you need to provide audio content for your player beforehands, from this solution you can only control the volume and the transport commands of the player. You can use the project posted at the end of the article to modify it and get your own implementation.

This is my current TODO list for next versions:

  • integrate the ZonePlayerController.wsc code inside the C# project and remove the need to register a separate component
  • integrate the ZonePlayerFinder.wsc into a proper setup solution and generate automatically the UniqueDeviceNames.ini file
  • place all files in an appropriate location into the computer program files
  • integrate the watch functionality for automated feedback to the HS (now the communication is only unidirectional)

Please note that this would be a less desired solution at least for the visualisation part. The best solution would be to generate a whole new plugin for QuadClient in order to control all Sonos installation from the HomeServer itself. Gira already provides such plugins for several multiroom audio systems and may have plans to add Sonos on the list. Or not. Until then I will stick with this solution. Update: I just tested the new Expert 2.5 plus 2.5 firmware and it appears the UPnP plugins in Quad Client work just fine with the Sonos system. I will post a new article about that. Still the project presented here is useful if you want to control the Sonos zone players from the KNX devices through group addresses and integrate music in scenes and so on.

The source code

The source code can be found here (REMOVED, see newer posts). I cannot provide any support at this stage, posted information is just for community preview.

UPDATES

The solution as a windows form application (REMOVED, see newer posts)(using Dacom’s HSMonitor interface)

The complete setup package (REMOVED, see newer posts) for the Windows service: installs, starts, generates device names – read the comments for more info

Etichete:

Ca o noutate semnalăm apariția aplicației Gira HomeServer în format HD pentru Apple iPad. La fel ca și varianta anterioară nu se configurează decât profilele de utilizatori și aplicația permite controlul instalației KNX imediat ce este lansată.

Spre deosebire de varianta pentru iPhone, în această variantă se obține automat acces la toate cvadrantele rotind iPad-ul în poziția vedere (landscape) și la menu rotindu-l în poziția portret. O a doua deosebire constă în faptul ca varianta pentru iPhone are interfață în limba română, cea pentru iPad o are în limba engleză, fapt pentru care încă nu putem oferi nici o explicație.

Deosebit de utilă mi se pare funcția sonoră care se execută la apăsarea oricărui buton. Acest scurt click crează o senzație foarte plăcută de siguranță în utilizare.

Vizionați mai jos o galerie de imagini dintr-o instalație reală. Faceți click pe orice imagine pentru a lansa vizualizarea la rezoluția originală.

Etichete:

Gira a lansat astăzi aplicația GIRA HomeServer/FacilityServer App în Apple App Store Romania. Aplicatia costă 79,95 Euro și poate fi instalată pe iPhone, iPod Touch și iPad cu iOS 3.0

Pentru cine nu cunoaște cum funcționează App Store de la Apple, vă informăm că puteți înregistra pe același utilizator un număr mai mare de dispozitive dacă doriți să utilizați mai multe terminale de control pentru HomeServer. Acest lucru vă permite să achiziționați aplicația numai o singură dată pentru toate dispozitivele. Astăzi se poate achiziționa iPod Touch la un preț sub 200 Euro ceea ce îl face foarte accesibil ca terminal de control al instalației de automatizare.

Experiența mea cu această aplicație a fost foarte directă: am cumpărat aplicația, am instalat-o pe iPhone, am creat un profil de utilizator unde am introdus adresa IP a serverului meu si contul si parola de acces după care am accesat imediat instalația mea KNX.

Deoarece pot accesa serverul de automatizare atât din rețeaua internă cât și din internet, folosind adrese IP diferite, este suficient să creez un al doilea profil de utilizator cu datele de conexiune din internet și obțin imediat acces la aceeași instalație printr-o banală legătură 3G.

Aplicația stochează local toate simbolurile grafice în așa fel încât comunicația de date este extrem de mică ca volum. Lucru valoros pentru costurile de telefonie mobilă, mai ales în situația călătoriilor în străinătate.

Iată niște printscreen-uri (faceți click pe orice imagine și apoi derulați imaginile la rezoluție maximă):

Etichete: , ,

16570This module is for Gira HomeServer 3 installers and it is intended to be used in conjunctions with QuadClient graph plug-in. All necessary information are included in the download.

The module is currently at version 1.0

Changelog:

1.0 – initial version

Download:

16570_QuadClientHelper.zip

Installation:

Put the .hsl file into the location of logic files of Expert software, then I recommend a computer restart or at least a logoff/logon procedure. I also succesfully experimented closing Expert software and restarting it but the documented (thus recommended) procedure is to restart the computer.

Please note if you updated to Expert 2.4 from an old version, the location of logic folder changed from the Program Files… folders to UsersPublicDocuments… folders

Update:

As mentioned in the comment area, the QuadClient graph plug-in is not as straightforward as the normal HS graph plugin is. Below is the recommended numbers of cycles based on GIRA feedback on the subject:

  • for Hour Diagram: sample at every minute, so enter number 1 at Cycles (no.) input and 60 rows (memory ring) archive should be created
  • for Day Diagram: sample at every 50 minutes, so enter number 50 at Cycles (no.) input and 29 rows (memory ring) archive should be created. You can safely change the number at 25 instead of 24 and leave the 60 rows archive in place
  • for Week Diagram: sample at every 100 minutes, so enter number 100 at Cycles (no.) input and 101 rows (memory ring) archive should be created
  • for Month Diagram: sample at every day, so enter number 1440 at Cycles (no.) input and 31 rows (memory ring) archive should be created
  • for Year Diagram: around 5 samples a month, so I suggest one sample every 6 days thus please enter number 8640 at Cycles (no.) input and use a 61 rows (memory ring) archive

There is no need to operate changes inside the module definition. All the above numbers represent minimum memory utilisation for best diagrams display. You can always use more frequent sampling and larger archives but as a best practice try to divide the above number of cycles to whatever number you want and get an integer as a result (e.g. from 1440 you can safely use 720, 480, 360, 288, 240, 180, 144, 120, 90, 72, 60, 45, 36, 30, 18, 15, 12, 10, 9, 6, 5, 4, 3, 2 and 1 depending on your other uses for the archive). Make sure you scale the number of rows in the archive definition with the same factor you divide the recommended number of cycles!

Sample project:

Logic worksheet sample

Hour diagram in QuadClient

Day diagram in QuadClient

Week diagram in QuadClient

Month diagram in QuadClient

Year diagram in QuadClient

Please write a comment if you have any troubles with that.

Recent am întâmpinat o problemă destul de spinoasă referitoare la modul în care pot fi constituite arhivele pentru afişarea diagramelor anumitor semnale analogice folosind interfaţa QuadClient a lui HomeServer. Astfel de diagrame sunt destul de utile în ceea ce priveşte urmărirea consumurile energetice, a temperaturii exterioare, a vitezei vântului şi aşa mai departe.

Modul logic personalizat în limbaj PhytonQuadClient oferă posibilitatea afişării grafice a unui set de valori memorate în prealabil pe intervale de timp de 1 oră, 1 zi, 1 săptămână, 1 lună şi 1 an. Desigur este de aşteptat ca granulaţia iniţială a arhivării datelor, pentru diagrama de 1 oră, să fie destul de mică, de exemplu citirea valorilor semnalelor în fiecare minut. Cu 60 de valori se poate construi un grafic destul de frumos. Cu toate acestea a folosi o singură arhivă de date pentru toate diagramele devine prohibitiv atât din punctul de vedere al utilizării memoriei cât şi al vitezei de calcul la afişarea diagramei. Gândiţi-vă câte minute se regăsesc într-o presupusă arhivă pe un an întreg – în jurul a 400000.

Soluţia elegantă folosită de QuadClient este accesarea unor arhive diferite pentru intervale de timp diferite. Crearea unei arhive nu este o problemă grea de rezolvat în HomeServer, cu toate acestea eşantionarea datelor la intervale foarte mari de timp scade relevanţa informaţiilor şi implicit a diagramei respective.

Să luăm exemplul puterii electrice consumate. Dacă eşantioanele pentru graficul de 1 an sunt luate la fiecare 8000 de minute, este foarte posibil ca momentul eşantionării să cadă la orele dimineţii, foarte devreme, când consumul electric este foarte mic. O astfel de valoare nu are nici un fel de relevanţă pentru consumul real realizat în cele 8000 de minute care s-au scurs.

Soluţia care se întrevede cu uşurinţă este calcularea unor valori medii ale semnalelor între perioadele de eşantionare şi plasarea lor în arhive diferite, nefolosind mai mult de 300 de valori memorate pentru un singur semnal de afişat.

Modulele logice existente la ora aceasta în HomeServer nu oferă o cale uşoară de a realiza acest lucru şi prin urmare am pornit pe calea mai dificilă de a scrie un modul logic suplimentar. Acest lucru a fost realizat  în decurs de două săptămâni care au implicat anumite studii precum limbajul de programare Phyton şi a reprezentat un succes şi o un nou nivel, mai profund, de utilizare a HomeServer. Am putea spune că dacă înainte prin sintagma “HomeServer poate realiza orice” înţelegeam că poate realiza foarte multe acum putem spune că suntem capabili să realizăm la modul literal orice cu această maşină deosebită.

Folosirea modulului în sistemul de logică

Etichete: ,

« Înregistrări mai vechi