Comfort  Automation/ Security System Forums Home
Home Search search Menu menu Not logged in - Login | Register

ComfortClient
 Moderated by: juwi_uk, Ingo
 New Topic   Reply   Printer Friendly 
 Rating:  Rating
AuthorPost
 Posted: Sunday Oct 13th, 2013 10:19 am
   PM  Quote  Reply 
1st Post
juwi_uk
Member


Joined: Friday May 25th, 2007
Location: Newbury, United Kingdom
Posts: 1255
Status: 
Offline

  back to top

For those who are following ComfortClient developments, I have now started work on the next version; this will be known as version 4.

One of the key features will be an extensible "Connector" model. Connectors will be "typed" i.e.; Email, Database, Application, SMS etc. Each of these types is a dedicated Connector DLL. So over time more can be added (in the same way as Plugins) to extend functionality.

Connectors will be setup centrally via a new "Connection Manager" (See taster screenshot) application by adding one or more connection entries to each type node. You will also where appropriate be able to test the connector (ie for an email connector send a test message).

Once setup these connectors can be used on floorplan objects and trigger via conditions. So for example if a value of a counter goes beyond a certain threshold (defined by condition)you could send an email and also log to a database table purely by adding both connectors and setting their "payload" content in Object Properties. The "payload" will hopefully also support object placeholders too so for say a SQL connection the payload could be something like (you obviously are SQL experts hey if you want to use SQL!):

"...
insert into CC_log_table (cc_date, cc_id, cc_value) values (getdate(), {ObjectID:Value}, KitchenDoor:Value})
..."

Or for emails and SMS you can use in the body of the message. The "payloads" attributes for the email connector would include email title, body text, priority, to, CC etc.

You hopefully get the idea. The intention is to connect events with external applications and pass the necessary data over.

enough of that thought for now... :)

Also in v4 I intend to add license keys and there will be online/offline activation. All that will be needed to request as many licence keys as you want will be a user/registrant name and email address. So integrators can request keys for their customers centrally too or the customers can request for them etc. A key will be locked to a machine.

Regards

Julian

Attachment: ConnectionManager.png (Downloaded 65 times)

Last edited on Sunday Oct 20th, 2013 06:37 am by juwi_uk



 Posted: Sunday Oct 13th, 2013 02:01 pm
   PM  Quote  Reply 
2nd Post
Ingo
UCM Pi Users


Joined: Sunday Jan 21st, 2007
Location: South Africa
Posts: 557
Status: 
Offline

  back to top

Julian,

The first thing I thought of was to use the DB connector to log all my Power Usage data for later use by some sort of report generator to draw nice graphs.

Other useful stuff could be Heater element 'On' time, Solar water temperatures etc. From there you could start to predict usage based on historical data and current weather input EG. cloudy, rainy, full sun and also current geyser water temperature.

Can't wait...

Ingo



 Posted: Sunday Jan 5th, 2014 04:22 pm
   PM  Quote  Reply 
3rd Post
juwi_uk
Member


Joined: Friday May 25th, 2007
Location: Newbury, United Kingdom
Posts: 1255
Status: 
Offline

  back to top

All,

A short update on where I currently am with the next version.

The new extensible "connector framework" is coming together nicely and it'll be pretty easy to add new output connectors if people ask for them.

At the moment I have put together connectors for:
* Email; SMTP
* Application; any external application or URL (ie web service)
* SQL Server Database; any version post SQL 2005 including express edition
* MySQL Database; latest versions.

I still need to add more features to each of these and final debug but they are working well right now.

I have parked the "SMS" connector for the moment until Comfort can support sending on-the-fly messages to SMS via the comfort protocol. At the moment even with the GSM4 we can only send pre-stored messages which seem a tad limiting compared with what I'd like to see.

I can add more output connectors if people want specifics.

Here's a screenshot of the two parts comprising the solution:
* Connection Manager for Services
* Connection Manager for Events

First you setup your Service and the credentials if necessary needed to connect to it (can be local or on another PC depending on where the external services are hosted). Then you can combine these Services with normal conditions on objects on you floorplan where you need the event to trigger. You can test out your settings at every stage.

Simples! :D

Julian

Attachment: Connections.jpg (Downloaded 53 times)

Last edited on Sunday Jan 5th, 2014 04:35 pm by juwi_uk



 Posted: Sunday May 4th, 2014 04:36 pm
   PM  Quote  Reply 
4th Post
juwi_uk
Member


Joined: Friday May 25th, 2007
Location: Newbury, United Kingdom
Posts: 1255
Status: 
Offline

  back to top

Hi

For those that watch my developments with ComfortClient please note that a new version will be available shortly;  it's just going through final testing but the code set is now complete and frozen for release.

The main focus for this release is the new Connector framework and an initial set of connectors to get everyone going.  Performance is also improved, a lot of fixes and some other new features.

Changes are as below.

Stay tuned.

Regards

Julian

Bug Fixes/Changes 
• Update Checkers switched to call HTTPS based url.
• Opening Condition Manager from the Object Properties window in FloorplanEditor (via the “Filter” icons) and renaming any Visibility or Sound Filters already selected (in the dropdown lists) would blank that filter as the dropdown lists are updated.
• Fix resolution of placeholders would stop when the first placeholder resolver error was found such that subsequent placeholders were left unconverted.  Now the error will be shown before the placeholder that errored in format “|1|…conversion error….|{..Placeholder}”
• Added word-wrap to Tooltip attributes in Floorplan Object Properties.
• UCM decodes updated with later modules; CBUS2, KNX2, Honeywell PHC, eHomeGreen etc.
• Initial decode support for new “Lu” command.  If UCM replies with “Lu00” and user is not logged in it will be assumed an incorrect user code.
• The "User Logout.....Please Wait!" status message would sometimes not clear correctly on logout or disconnect.
• Fixed status bar would sometimes show user as logged on even when logged off for up to 1 minute.
• In FloorplanEditor,  Connectors & possibly Plugins (depends on what the author has defined) can also now advertise updates in the menu bar.   ComfortClient can already do this for Plugins & Connectors are also added this release.
• Initial basic decodes for “TT”, “A?”, “OV”,“OQ”, “id”, “PR”, “v?” and “ST” commands.
• More detailed decodes for existing “a?” and “AL” commands in support of the extra bits added in later firmwares.• Serial Number decode added to System Information.
• Query Refresh does now not query module versions;  this is done when System Info is checked.  This speeds up refreshes.
• Number of Keypads decoded is increased to 15 to match Comfort firmware.
• The Query All Flags (f?00) command now supports decode of 256 flags.
• Floorplan refresh will now use the f?00 command instead of individual Flag queries if it is available in the Comfort firmware used.
• Refactoring’s aimed principally for performance improvement where possible.
 New Features
• New Connector Framework is added.  Connectors are interfaces to external applications and services that are triggerable through events raised by a floorplan object. Conditions are used to trigger events and protection (“Safeguards”) are built-in to prevent event saturation.   Some “Standard” connectors will be shipped in the ComfortClient whilst others “Optional” will be available through separate installers:
“Standard” Connectors include:
o Email
o Application
“Optional” Connectors (separate installers) include:
o SQL Server
o MySQL
• New licence activation system, using a commercial licencing component, has been added to ComfortClient.  Only the core ComfortClient application needs activation,  other modules such as FloorplanEditor, Plugins & Connectors remain open.   The activation system included support for Trial periods and the licences are activated against a PC name.  Note the licence metadata determines how many PC’s, any expiry date etc that apply to the licence. 
• New Object Placeholder Selector & Preview on object attributes that support placeholders.  This makes placeholder selection much more visible and easier to configure.
• New Option in ComfortClient and FloorplanEditor (“Display Adverts”) to show or suppress online update notifications in the main menu bar respectively.
• Support for Cbus2 in Template ClickResponses.
• New Debug Monitor window/function added for internal testing and debugging and it may be used in the progression of technical support cases.
• Works with the new dual port feature of the UCM/Eth3 so multiple ComfortClients on different 2 difference PC’s can connect to the same Comfort UCM.

Last edited on Wednesday May 7th, 2014 04:16 pm by juwi_uk



 Posted: Wednesday May 7th, 2014 03:47 pm
   PM  Quote  Reply 
5th Post
juwi_uk
Member


Joined: Friday May 25th, 2007
Location: Newbury, United Kingdom
Posts: 1255
Status: 
Offline

  back to top

I was asked about creating a connector for Excel so that an event can output into a specific cell in a spreadsheet.

Anybody else interested in that?

The only challenge I can see is making sure that file locking is robust as multiple events may be trying to write out at the same time.

Julian

Last edited on Wednesday May 7th, 2014 03:48 pm by juwi_uk



 Posted: Saturday May 10th, 2014 02:38 pm
   PM  Quote  Reply 
6th Post
juwi_uk
Member


Joined: Friday May 25th, 2007
Location: Newbury, United Kingdom
Posts: 1255
Status: 
Offline

  back to top

A couple of points to note if you are running multiple ComfortClients (on different PC's) against a single UCM/Eth3 using the new dual port feature of the Eth3:

  • Because all bus responses go back to both Clients then if you have events/conditions etc that update something externally (via connector or plugin) or back to Comfort,  then maybe prudent to disable in one or the other Client Configurations.  

  • A refresh in one Client can create a lot of traffic in the other Client (causing unnecessary screen updates and sounds etc) .  I'm discussing with Chiu on this one to see if we can fix as I think this is going to affect any application and not just ComfortClient.  Again this is caused by commands (i.e. an initial object refresh) created in one Client being sent to the UCM and it replying on both ports to both Clients. 
Regards

Julian

 

Last edited on Saturday May 10th, 2014 02:40 pm by juwi_uk



 Current time is 09:58 am
Top




UltraBB 1.172 Copyright © 2007-2014 Data 1 Systems