Changes between Version 1 and Version 2 of WikiStart


Ignore:
Timestamp:
2014-02-15 03:05:59 (10 years ago)
Author:
anonymous
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v1 v2  
    1 = Welcome to Trac 0.12.3 = 
     1HarmonyHubControl 
     2========= 
    23 
    3 Trac is a '''minimalistic''' approach to '''web-based''' management of 
    4 '''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress. 
     4A Qt-based C++ executable to control the Logitech Harmony Hub/Link  
     5without need of the Logitech Harmony App or Remote. 
    56 
    6 All aspects of Trac have been designed with the single goal to  
    7 '''help developers write great software''' while '''staying out of the way''' 
    8 and imposing as little as possible on a team's established process and 
    9 culture. 
     7HarmonyHubControl was developed using the pyharmony library as a guide.   
     8It was written in C++ using Qt to allow simpler packaging than pyharmony 
     9and to reduce the number of dependencies. 
    1010 
    11 As all Wiki pages, this page is editable, this means that you can 
    12 modify the contents of this page simply by using your 
    13 web-browser. Simply click on the "Edit this page" link at the bottom 
    14 of the page. WikiFormatting will give you a detailed description of 
    15 available Wiki formatting commands. 
     11HarmonyHubControl was developed particularly to ease Harmony Hub/Link  
     12integration within home automation systems. 
    1613 
    17 "[wiki:TracAdmin trac-admin] ''yourenvdir'' initenv" created 
    18 a new Trac environment, containing a default set of wiki pages and some sample 
    19 data. This newly created environment also contains  
    20 [wiki:TracGuide documentation] to help you get started with your project. 
    21  
    22 You can use [wiki:TracAdmin trac-admin] to configure 
    23 [http://trac.edgewall.org/ Trac] to better fit your project, especially in 
    24 regard to ''components'', ''versions'' and ''milestones''.  
     14Special thanks to jterrace and petele for laying down the groundwork for  
     15this work to occur by implementing pyharmony. 
    2516 
    2617 
    27 TracGuide is a good place to start. 
    2818 
    29 Enjoy! [[BR]] 
    30 ''The Trac Team'' 
     19Protocol 
     20-------- 
    3121 
    32 == Starting Points == 
     22As the harmony protocol is based on xmpp (the Jabber protocol).   
     23A thorough description of the exchanges between the executable, Logitech's 
     24Harmony Web service, and the Harmony Hub can be found in the included  
     25PROTOCOL.md file, or in the original pyharmony GitHub repositories at:  
    3326 
    34  * TracGuide --  Built-in Documentation 
    35  * [http://trac.edgewall.org/ The Trac project] -- Trac Open Source Project 
    36  * [http://trac.edgewall.org/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions 
    37  * TracSupport --  Trac Support 
     27https://github.com/jterrace/pyharmony/ 
     28and 
     29https://github.com/petele/pyharmony/ 
    3830 
    39 For a complete list of local wiki pages, see TitleIndex. 
     31 
     32 
     33Functionality 
     34-------------- 
     35 
     36HarmonyHubControl provides the ability to perform the following functions 
     37without requiring the Logitech Harmony App or Remote. 
     38 
     39* Authenticate using Logitech's web service 
     40* Authenticate to the local harmony device. 
     41* Query for the harmony's entire configuration information. 
     42* Request a list of activities and devices from the harmony 
     43* Request the currently selected activity 
     44* Start an activity by ID 
     45 
     46 
     47 
     48Requirements 
     49------------ 
     50 
     51In order to successfully use the executable, it is expected that the following 
     52are in place: 
     53 
     54A Harmony Hub/Link that is pre-configured and working properly on the local network 
     55Your Logitech Harmony login email and password.  These are the same ones used in 
     56the app or online to edit the Harmony's configuration. 
     57 
     58The IP address of the Harmony is required. 
     59 
     60 
     61 
     62Usage 
     63----- 
     64 
     65The command line for HarmonyHubControl is as follows: 
     66 
     67    HarmonyHubControl.exe [email] [password] [harmony_ip] [command (optional)]\n"); 
     68     
     69where the [email] and [password] parameters are the login credentials used to log  
     70into your Logitech Harmony account to update the device configuration.  These are 
     71also the same credentials used with the Harmony app. 
     72 
     73[harmony_ip] is the IP address of the harmony device on your network 
     74 
     75 
     76[command] can be any of the following: 
     77 
     78        get_current_activity_id 
     79        list_devices 
     80        list_activities 
     81        start_activity [ID] 
     82        get_config 
     83 
     84 
     85Typical example usage would be as follows: 
     86 
     871) Query the device for a list of activities: 
     88 
     89        HarmonyHubControl.exe your_email@your_email_server.com your_password 192.168.0.XXX list_activities 
     90 
     912) Start an activity based on the activity identifiers listed in step 1: 
     92 
     93        HarmonyHubControl.exe your_email@your_email_server.com your_password 192.168.0.XXX start_activity 
     94 
     95For full argument information simply run the executablewith no parameters. 
     96 
     97 
     98 
     99Building from Source 
     100-------------------- 
     101 
     102Building the executable from source requires an install of Qt. The only version tested is 5.2.0 on  
     103Microsoft Visual Studio 2010 on Windows (x86) 
     104 
     105Once Qt is installed, a visual studio project file can be generated using qmake: 
     106 
     107        qmake -tp vc HarmonyHubControl.pro 
     108 
     109The application has no dependencies beside Qt, therefore Qmake should configure the project file  
     110automatically to allow compiling and running the application.   
     111 
     112 
     113 
     114To-do 
     115-------------------- 
     116 
     117Finish the "issue_command" interface to allow individual commands to be sent to devices. 
     118Re-organize the code into a library