开云体育

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Crestron Home Driver Using the Driver SDK


 

开云体育

I've had a request to port the Weatherflow Tempest weather station driver I wrote to Crestron Home.? How bad can it be.? So, I downloaded the driver SDK from crestron.com/developer and got it installed on my laptop.? Then I started to try and dig in.? Crestron supplies a bunch of sample projects so I figured that was the best place to start.? I could find a nice simple sample and then start digging through the code and the help files to see what is going on.

Now my understanding is that a driver for an extension device, like a weather station, is the easiest type of driver to create so again, how bad can it be.?

So, I look at the extension driver samples and there is one for a door lock.? Opening up the sample Crestron has chosen to include every possible bit of functionality you can think of for a door lock.? It includes access list support, jam support, and the list goes on.? All that extra functionality in a sample that you are using to try and just get started with something new obfuscates the underlying structure you are trying to understand.

When I want to start learning something new I want to start at the "see spot run" level.? As stupid simple as possible.? Once I have a clue I can take baby steps and move onward to something a bit more complex.? Now a door lock isn't like trying to learn to speak English by trying to read "War and Peace" but with all the added functionality Crestron included it is certainly at the level of a novel by Earnest Hemingway.?

So, this saga finally brings me to my question.? Does anyone, who has gone down this path before me, have a really, really, really basic example of an extension driver they are willing to share?? Something at the level of controlling an IoT relay from Crestron home where all you can do is turn it on/off.?

Thanks in advance for the help.

Jay


 

I can't answer your question, but I find it more than a little ironic that Crestron's door lock example would have so many features, when door locks in Crestron Home have only the bare minimum functionality. Or at least that's the way it was the last time I looked, and people have complained about it for years.

--- On Wednesday, February 17, 2021 at 9:17 PM, Jay Basen wrote:

I've had a request to port the Weatherflow Tempest weather station driver I
wrote to Crestron Home. How bad can it be. So, I downloaded the driver SDK
from crestron.com/developer and got it installed on my laptop. Then I started
to try and dig in. Crestron supplies a bunch of sample projects so I figured
that was the best place to start. I could find a nice simple sample and then
start digging through the code and the help files to see what is going on.

Now my understanding is that a driver for an extension device, like a weather
station, is the easiest type of driver to create so again, how bad can it be.

So, I look at the extension driver samples and there is one for a door
lock. Opening up the sample Crestron has chosen to include every possible bit
of functionality you can think of for a door lock. It includes access list
support, jam support, and the list goes on. All that extra functionality in a
sample that you are using to try and just get started with something new
obfuscates the underlying structure you are trying to understand.

When I want to start learning something new I want to start at the "see spot
run" level. As stupid simple as possible. Once I have a clue I can take baby
steps and move onward to something a bit more complex. Now a door lock isn't
like trying to learn to speak English by trying to read "War and Peace" but
with all the added functionality Crestron included it is certainly at the level
of a novel by Earnest Hemingway.

So, this saga finally brings me to my question. Does anyone, who has gone down
this path before me, have a really, really, really basic example of an
extension driver they are willing to share? Something at the level of
controlling an IoT relay from Crestron home where all you can do is turn it
on/off.

Thanks in advance for the help.

Jay


 

开云体育

We are just about to release version 2 of our Pentair IntelliCenter module which was a SIMPL+ module rewrite in SIMPL#. That task alone was a fun challenge and we were about to release that version until we decided to wrap in the Crestron Home components in the same library that plays with SIMPL Windows. It’s taken me about a month – from not knowing anything about extensions, to about to release the Pentair IntelliCenter Driver. While I don’t have any code that I can share, I started off following the Create an Extension Driver section of the SDK documentation with the goal of just having a button do something on the CP4-R, and worked out from there which I think would be good for someone starting out. It wasn’t until I didn’t understand one of the steps that I referenced the samples. While the samples do compile and run(I think I actually ran them once when Lincoln had enough of me screaming at the CP4-R in a WTH moment) I only use them for reference material. The process was certainly A LOT of trial and error. ?Documentation is ok, there is a lot of reading between the lines, and a lot of going may places on the SDK site to put the jigsaw puzzle together.

?

Jay I know you know your way around Visual Studio, but for anyone else reading this, if you haven’t really played with SIMPL# and/or SIMPL#Pro and you’re trying this out, be prepared for steep uphill battle.

?

Caleb

?

Caleb Radecky | Manager, Online Products & Services
Crestron Silver Certified Programmer | DMC-D-4K | DMC-E-4K
ControlWorks Consulting, LLC | Crestron Services Provider | 8228 Mayfield Rd. #6B Rear Cleveland OH 44026
D. 440.771.4809 | O.440.449.1100 X1109 | F.440.449.1106 |

?

From: [email protected] <[email protected]> On Behalf Of jbasen
Sent: Wednesday, February 17, 2021 21:17
To: [email protected]
Subject: [crestron] Crestron Home Driver Using the Driver SDK

?

I've had a request to port the Weatherflow Tempest weather station driver I wrote to Crestron Home.? How bad can it be.? So, I downloaded the driver SDK from crestron.com/developer and got it installed on my laptop.? Then I started to try and dig in.? Crestron supplies a bunch of sample projects so I figured that was the best place to start.? I could find a nice simple sample and then start digging through the code and the help files to see what is going on.

Now my understanding is that a driver for an extension device, like a weather station, is the easiest type of driver to create so again, how bad can it be.?

So, I look at the extension driver samples and there is one for a door lock.? Opening up the sample Crestron has chosen to include every possible bit of functionality you can think of for a door lock.? It includes access list support, jam support, and the list goes on.? All that extra functionality in a sample that you are using to try and just get started with something new obfuscates the underlying structure you are trying to understand.

When I want to start learning something new I want to start at the "see spot run" level.? As stupid simple as possible.? Once I have a clue I can take baby steps and move onward to something a bit more complex.? Now a door lock isn't like trying to learn to speak English by trying to read "War and Peace" but with all the added functionality Crestron included it is certainly at the level of a novel by Earnest Hemingway.?

So, this saga finally brings me to my question.? Does anyone, who has gone down this path before me, have a really, really, really basic example of an extension driver they are willing to share?? Something at the level of controlling an IoT relay from Crestron home where all you can do is turn it on/off.?

Thanks in advance for the help.

Jay


 


Thanks Caleb.?

I’ll take a look at that section of the SDK.? I’ve just always liked to start with something that illustrates the correct approach to a programming paradigm rather than trying to figure that out from documentation.?

All the drivers I’ve been releasing on my GitHub are S# with S+ wrappers.? However I’ve only dug into S# Pro once and that was years ago during the original S# beta.? I just haven’t had a need for S# Pro since

It doesn’t give me a lot of confidence that it has taken you a month to take an existing S# module and port it to Home.? How many people can dedicate that much time to develop a single driver for a real world project?

Thanks again?

Jay

On Wed, Feb 17, 2021 at 8:03 PM Caleb Radecky <caleb@...> wrote:

We are just about to release version 2 of our Pentair IntelliCenter module which was a SIMPL+ module rewrite in SIMPL#. That task alone was a fun challenge and we were about to release that version until we decided to wrap in the Crestron Home components in the same library that plays with SIMPL Windows. It’s taken me about a month – from not knowing anything about extensions, to about to release the Pentair IntelliCenter Driver. While I don’t have any code that I can share, I started off following the Create an Extension Driver section of the SDK documentation with the goal of just having a button do something on the CP4-R, and worked out from there which I think would be good for someone starting out. It wasn’t until I didn’t understand one of the steps that I referenced the samples. While the samples do compile and run(I think I actually ran them once when Lincoln had enough of me screaming at the CP4-R in a WTH moment) I only use them for reference material. The process was certainly A LOT of trial and error.? Documentation is ok, there is a lot of reading between the lines, and a lot of going may places on the SDK site to put the jigsaw puzzle together.

?

Jay I know you know your way around Visual Studio, but for anyone else reading this, if you haven’t really played with SIMPL# and/or SIMPL#Pro and you’re trying this out, be prepared for steep uphill battle.

?

Caleb

?

Caleb Radecky | Manager, Online Products & Services
Crestron Silver Certified Programmer | DMC-D-4K | DMC-E-4K
ControlWorks Consulting, LLC | Crestron Services Provider |
D. 440.771.4809 | O.440.449.1100 X1109 | F.440.449.1106 |

?

From: [email protected] <[email protected]> On Behalf Of jbasen
Sent: Wednesday, February 17, 2021 21:17
To: [email protected]
Subject: [crestron] Crestron Home Driver Using the Driver SDK

?

I've had a request to port the Weatherflow Tempest weather station driver I wrote to Crestron Home.? How bad can it be.? So, I downloaded the driver SDK from and got it installed on my laptop.? Then I started to try and dig in.? Crestron supplies a bunch of sample projects so I figured that was the best place to start.? I could find a nice simple sample and then start digging through the code and the help files to see what is going on.

Now my understanding is that a driver for an extension device, like a weather station, is the easiest type of driver to create so again, how bad can it be.?

So, I look at the extension driver samples and there is one for a door lock.? Opening up the sample Crestron has chosen to include every possible bit of functionality you can think of for a door lock.? It includes access list support, jam support, and the list goes on.? All that extra functionality in a sample that you are using to try and just get started with something new obfuscates the underlying structure you are trying to understand.

When I want to start learning something new I want to start at the "see spot run" level.? As stupid simple as possible.? Once I have a clue I can take baby steps and move onward to something a bit more complex.? Now a door lock isn't like trying to learn to speak English by trying to read "War and Peace" but with all the added functionality Crestron included it is certainly at the level of a novel by Earnest Hemingway.?

So, this saga finally brings me to my question.? Does anyone, who has gone down this path before me, have a really, really, really basic example of an extension driver they are willing to share?? Something at the level of controlling an IoT relay from Crestron home where all you can do is turn it on/off.?

Thanks in advance for the help.

Jay


 

开云体育

Well, to be fair there is a pile of stuff going on inside the Pentair module and there was a bit of "well if I knew I was going to need the data this way" moments. I feel pretty confident that the next one I attempt will take me 1/8th the amount of time this one took.?

The steps to create an extension in the documentation do show how to implement them, I'd start there.

Caleb Radecky |?Manager, Online Products & Services
Crestron Silver Certified Programmer | DMC-D-4K | DMC-E-4K
ControlWorks Consulting, LLC |?Crestron Services Provider?| 8228 Mayfield Rd. Suite 6B Rear, Cleveland OH 44026
D.?440.771.4809 |?O.440.449.1100?X1109 | F.440.449.1106 |


From: jbasen <jay.m.basen@...>
Sent: Wednesday, February 17, 2021 22:24
To: [email protected]
Subject: Re: [crestron] Crestron Home Driver Using the Driver SDK


Thanks Caleb.?

I’ll take a look at that section of the SDK.? I’ve just always liked to start with something that illustrates the correct approach to a programming paradigm rather than trying to figure that out from documentation.?

All the drivers I’ve been releasing on my GitHub are S# with S+ wrappers.? However I’ve only dug into S# Pro once and that was years ago during the original S# beta.? I just haven’t had a need for S# Pro since

It doesn’t give me a lot of confidence that it has taken you a month to take an existing S# module and port it to Home.? How many people can dedicate that much time to develop a single driver for a real world project?

Thanks again?

Jay

On Wed, Feb 17, 2021 at 8:03 PM Caleb Radecky <caleb@...> wrote:

We are just about to release version 2 of our Pentair IntelliCenter module which was a SIMPL+ module rewrite in SIMPL#. That task alone was a fun challenge and we were about to release that version until we decided to wrap in the Crestron Home components in the same library that plays with SIMPL Windows. It’s taken me about a month – from not knowing anything about extensions, to about to release the Pentair IntelliCenter Driver. While I don’t have any code that I can share, I started off following the Create an Extension Driver section of the SDK documentation with the goal of just having a button do something on the CP4-R, and worked out from there which I think would be good for someone starting out. It wasn’t until I didn’t understand one of the steps that I referenced the samples. While the samples do compile and run(I think I actually ran them once when Lincoln had enough of me screaming at the CP4-R in a WTH moment) I only use them for reference material. The process was certainly A LOT of trial and error.? Documentation is ok, there is a lot of reading between the lines, and a lot of going may places on the SDK site to put the jigsaw puzzle together.

?

Jay I know you know your way around Visual Studio, but for anyone else reading this, if you haven’t really played with SIMPL# and/or SIMPL#Pro and you’re trying this out, be prepared for steep uphill battle.

?

Caleb

?

Caleb Radecky | Manager, Online Products & Services
Crestron Silver Certified Programmer | DMC-D-4K | DMC-E-4K
ControlWorks Consulting, LLC | Crestron Services Provider |
D. 440.771.4809 | O.440.449.1100 X1109 | F.440.449.1106 |

?

From: [email protected] <[email protected]> On Behalf Of jbasen
Sent: Wednesday, February 17, 2021 21:17
To: [email protected]
Subject: [crestron] Crestron Home Driver Using the Driver SDK

?

I've had a request to port the Weatherflow Tempest weather station driver I wrote to Crestron Home.? How bad can it be.? So, I downloaded the driver SDK from and got it installed on my laptop.? Then I started to try and dig in.? Crestron supplies a bunch of sample projects so I figured that was the best place to start.? I could find a nice simple sample and then start digging through the code and the help files to see what is going on.

Now my understanding is that a driver for an extension device, like a weather station, is the easiest type of driver to create so again, how bad can it be.?

So, I look at the extension driver samples and there is one for a door lock.? Opening up the sample Crestron has chosen to include every possible bit of functionality you can think of for a door lock.? It includes access list support, jam support, and the list goes on.? All that extra functionality in a sample that you are using to try and just get started with something new obfuscates the underlying structure you are trying to understand.

When I want to start learning something new I want to start at the "see spot run" level.? As stupid simple as possible.? Once I have a clue I can take baby steps and move onward to something a bit more complex.? Now a door lock isn't like trying to learn to speak English by trying to read "War and Peace" but with all the added functionality Crestron included it is certainly at the level of a novel by Earnest Hemingway.?

So, this saga finally brings me to my question.? Does anyone, who has gone down this path before me, have a really, really, really basic example of an extension driver they are willing to share?? Something at the level of controlling an IoT relay from Crestron home where all you can do is turn it on/off.?

Thanks in advance for the help.

Jay


 

But isn’t there a pile of stuff going on in almost every driver?? Of course the next one will go much,much faster. I’m just concerned about the learning cliff.

Thanks?

On Wed, Feb 17, 2021 at 8:38 PM Caleb Radecky <caleb@...> wrote:
Well, to be fair there is a pile of stuff going on inside the Pentair module and there was a bit of "well if I knew I was going to need the data this way" moments. I feel pretty confident that the next one I attempt will take me 1/8th the amount of time this one took.?

The steps to create an extension in the documentation do show how to implement them, I'd start there.

Caleb Radecky |?Manager, Online Products & Services
Crestron Silver Certified Programmer | DMC-D-4K | DMC-E-4K
ControlWorks Consulting, LLC |?Crestron Services Provider?|
D.?440.771.4809 |?O.440.449.1100?X1109 | F.440.449.1106 |

From: jbasen <jay.m.basen@...>
Sent: Wednesday, February 17, 2021 22:24
To: [email protected]
Subject: Re: [crestron] Crestron Home Driver Using the Driver SDK


Thanks Caleb.?

I’ll take a look at that section of the SDK.? I’ve just always liked to start with something that illustrates the correct approach to a programming paradigm rather than trying to figure that out from documentation.?

All the drivers I’ve been releasing on my GitHub are S# with S+ wrappers.? However I’ve only dug into S# Pro once and that was years ago during the original S# beta.? I just haven’t had a need for S# Pro since

It doesn’t give me a lot of confidence that it has taken you a month to take an existing S# module and port it to Home.? How many people can dedicate that much time to develop a single driver for a real world project?

Thanks again?

Jay

On Wed, Feb 17, 2021 at 8:03 PM Caleb Radecky <caleb@...> wrote:

We are just about to release version 2 of our Pentair IntelliCenter module which was a SIMPL+ module rewrite in SIMPL#. That task alone was a fun challenge and we were about to release that version until we decided to wrap in the Crestron Home components in the same library that plays with SIMPL Windows. It’s taken me about a month – from not knowing anything about extensions, to about to release the Pentair IntelliCenter Driver. While I don’t have any code that I can share, I started off following the Create an Extension Driver section of the SDK documentation with the goal of just having a button do something on the CP4-R, and worked out from there which I think would be good for someone starting out. It wasn’t until I didn’t understand one of the steps that I referenced the samples. While the samples do compile and run(I think I actually ran them once when Lincoln had enough of me screaming at the CP4-R in a WTH moment) I only use them for reference material. The process was certainly A LOT of trial and error.? Documentation is ok, there is a lot of reading between the lines, and a lot of going may places on the SDK site to put the jigsaw puzzle together.

?

Jay I know you know your way around Visual Studio, but for anyone else reading this, if you haven’t really played with SIMPL# and/or SIMPL#Pro and you’re trying this out, be prepared for steep uphill battle.

?

Caleb

?

Caleb Radecky | Manager, Online Products & Services
Crestron Silver Certified Programmer | DMC-D-4K | DMC-E-4K
ControlWorks Consulting, LLC | Crestron Services Provider |
D. 440.771.4809 | O.440.449.1100 X1109 | F.440.449.1106 |

?

From: [email protected] <[email protected]> On Behalf Of jbasen
Sent: Wednesday, February 17, 2021 21:17
To: [email protected]
Subject: [crestron] Crestron Home Driver Using the Driver SDK

?

I've had a request to port the Weatherflow Tempest weather station driver I wrote to Crestron Home.? How bad can it be.? So, I downloaded the driver SDK from and got it installed on my laptop.? Then I started to try and dig in.? Crestron supplies a bunch of sample projects so I figured that was the best place to start.? I could find a nice simple sample and then start digging through the code and the help files to see what is going on.

Now my understanding is that a driver for an extension device, like a weather station, is the easiest type of driver to create so again, how bad can it be.?

So, I look at the extension driver samples and there is one for a door lock.? Opening up the sample Crestron has chosen to include every possible bit of functionality you can think of for a door lock.? It includes access list support, jam support, and the list goes on.? All that extra functionality in a sample that you are using to try and just get started with something new obfuscates the underlying structure you are trying to understand.

When I want to start learning something new I want to start at the "see spot run" level.? As stupid simple as possible.? Once I have a clue I can take baby steps and move onward to something a bit more complex.? Now a door lock isn't like trying to learn to speak English by trying to read "War and Peace" but with all the added functionality Crestron included it is certainly at the level of a novel by Earnest Hemingway.?

So, this saga finally brings me to my question.? Does anyone, who has gone down this path before me, have a really, really, really basic example of an extension driver they are willing to share?? Something at the level of controlling an IoT relay from Crestron home where all you can do is turn it on/off.?

Thanks in advance for the help.

Jay


 

The reason I (and others) have said that Extension Devices are easier to implement than other CCD device types is kind of a "bad thing" if you're looking to be a CCD purist.
It's largely because you have greater opportunity to NOT follow the CCD SDK architecture and go off-piste.

CCD has a specific architecture which is (very roughly) a base driver class, coupled with a transport (e.g. TCP, Serial, ...) and a device (or device family) specific protocol (e.g. the language the device speaks).? These classes are dependant upon one another and need to interact in some very specific ways to work properly, such as device instantiation and removal - what does my device do at start-up, how do I clean up after myself, are commands fire and forget, or do we need to maintain a connection, what happens when the connection is broken, and so on.? In the case of a Display, Cable box or AVR, you really need to stay in your lane for this stuff - but it's often not apparent (from the docs/samples) how you're supposed to do that.

As Caleb pointed out - you find your way through a lot of trial and error, which isn't where we want to be as driver developers.

Extension devices are a bit different - because the consuming app (i.e. Crestron Home) doesn't have any understanding of what the driver actually *does*, it's easier (or less improper) to break out of the CCD mould and implement your transport and protocol any way you like, and if you already have that code from a SIMPL#/S+ version, then it's either that, or re-write the older driver code from scratch in a CCD conformant architecture.

Even so, Extension devices have other elements that "normal" drivers don't - such as the UI definition, translation files, and - most likely - a heavier reliance on User Attributes (a CCD way of passing in custom data).? They all come with their own ways to trip you up on your first few outings... or even after a few years!

And before anyone asks - yes - the frustrations and challenges and suggestions on where improvement can/should be made is all reported back to Crestron, directly into the drivers team & product managers.


 

开云体育

Thanks Oliver.

I guess I have to start reading and follow the path that Crestron has laid out rather than the way I usually learn new things.

P.S. - I didn't know you were a skier.? You gave it away with your "off-piste" reference?

On 2/18/2021 3:30 AM, Oliver Hall wrote:

The reason I (and others) have said that Extension Devices are easier to implement than other CCD device types is kind of a "bad thing" if you're looking to be a CCD purist.
It's largely because you have greater opportunity to NOT follow the CCD SDK architecture and go off-piste.

CCD has a specific architecture which is (very roughly) a base driver class, coupled with a transport (e.g. TCP, Serial, ...) and a device (or device family) specific protocol (e.g. the language the device speaks).? These classes are dependant upon one another and need to interact in some very specific ways to work properly, such as device instantiation and removal - what does my device do at start-up, how do I clean up after myself, are commands fire and forget, or do we need to maintain a connection, what happens when the connection is broken, and so on.? In the case of a Display, Cable box or AVR, you really need to stay in your lane for this stuff - but it's often not apparent (from the docs/samples) how you're supposed to do that.

As Caleb pointed out - you find your way through a lot of trial and error, which isn't where we want to be as driver developers.

Extension devices are a bit different - because the consuming app (i.e. Crestron Home) doesn't have any understanding of what the driver actually *does*, it's easier (or less improper) to break out of the CCD mould and implement your transport and protocol any way you like, and if you already have that code from a SIMPL#/S+ version, then it's either that, or re-write the older driver code from scratch in a CCD conformant architecture.

Even so, Extension devices have other elements that "normal" drivers don't - such as the UI definition, translation files, and - most likely - a heavier reliance on User Attributes (a CCD way of passing in custom data).? They all come with their own ways to trip you up on your first few outings... or even after a few years!

And before anyone asks - yes - the frustrations and challenges and suggestions on where improvement can/should be made is all reported back to Crestron, directly into the drivers team & product managers.


 

Lol - I can draw metaphors with the best of ‘em!
I love skiing, but I’m not that great, and age is starting to out-strip my ability. ?The result being injury!


 

开云体育

If you ever make it to Sun Valley I'll be glad to show you around the mountain.?

Having been here for over 10 years now I can attest that you can continue to improve but it takes time on the mountain and ongoing lessons help too.? I know people that are over 80 and ski almost every day.?

On 2/18/2021 2:17 PM, Oliver Hall wrote:

Lol - I can draw metaphors with the best of ‘em!
I love skiing, but I’m not that great, and age is starting to out-strip my ability. ?The result being injury!


 

Sorry for the slight off tipic...
I am still trying to understand the purpose of Crestron Home. From Crestron prospective,? to capture more client base with same hardware but handicapped functionality.? Sounds good on paper but if it is so complicated to write a driver,? how are they attacking more vendors or are all drivers written by them? They seemed to be fully committed to it.

From dealer prospective,? limited numbers of vendors and models they can use. Must be a big issue now with the low stock of everything.?
Then when the client says 6 months in "I need this XYZ integrated" (XYZ being whatever the latest gimmick is), how do you tell them it can't be done?

From client's prospective,? cheaper but not customizable and limited life *cough* pyng *cough*

Yet I've seen multiple people that are Crestron savvy switching their personal systems from SIMPL to Home. So confusing.


 

开云体育

This is from a Commercial guy with Residential coworkers (including helping with development of an extension…which is just plain painful) so take it for what it is:

?

There are (at least two) two types of customers: The fiddly, “I want to be able to do anything and everything with any widget I can think of, for a system of any size or complexity” and the “I want a level of integration and I’ll more or less take what I can get”

?

?

Crestron Home is very well suited for the latter – if you can control the rules of engagement and the client is OK with more or less ‘standard’ functionality, and nothing too crazy as far as size or scope that’s exactly the niche that Crestron Home appears to play nicely with. The tradeoff, of course, is you are given a sandbox and going out of that sandbox is difficult/painful/impossible depending on what exactly you’re trying to do.

?

On the other hand the former is not well suited for Crestron Home, IMO – if you have weird subsystems, a giant property (or interdependent properties), very specific preferences on operation, etc. – that’s where full custom programming makes sense. Of course the tradeoff is higher overall costs.

?

Think of it like “tract home” vs “custom home” – sure in the tract home you might be able to change paint colors, carpet vs wood, etc. but by and large the floorplan is going to be the floorplan, the windows will be where the windows are and it might look like 6 other houses on the block (funny story from high school below)… but the cost per square foot is going to be lower because an architect is copy-pasting, the builders have muscle memory, and the overall attention to detail may not be a strong. On the other hand with a full-custom luxury build… You want 90,000 square feet? Done. Want 2 bathrooms for every bedroom? Done. Need a walk-in closet bigger than some European countries? No problem. Helipad? Sure. But you pay (not just in cash) for that flexibility.

?

Lincoln

?

?

(Ok so, I grew up in suburban Southern California… the land of the endless subdivision. My neighborhood had more variety than some – we had square accent windows and brown trip while the look-alike 3 lots down had rounded windows and grey trim, such variety! Other neighborhoods weren’t as diverse. One of my science teacher/swim coaches in particular, lived in a neighborhood where someone just fell asleep on the Ctrl+V button. One night he was startled to find a somewhat drunken neighbor stumble into his living room… not only did their houses look exactly the same 6 doors apart but they had happened to get locks using the same keys)

?

?

--

Lincoln King-Cliby, CTS, DMC-E-4K/T/D
Commercial Market Director
Sr. Systems Architect | Crestron Certified Master Programmer (Diamond)
ControlWorks Consulting, LLC
Direct: (+1)440.771.4807 | Cleveland: (+1)440.449.1100? | Boston: (+1)508.695.0188 | DC: (+1)202.381.9070? | Fax: (+1)440.449.1106
Crestron Services Provider | Biamp Authorized Independent Programmers | Extron Qualified Independent Programmer

?

From: [email protected] [mailto:[email protected]] On Behalf Of zac.sparrow@...
Sent: Thursday, February 18, 2021 4:46 PM
To: [email protected]
Subject: Re: [crestron] Crestron Home Driver Using the Driver SDK

?

Sorry for the slight off tipic...
I am still trying to understand the purpose of Crestron Home. From Crestron prospective,? to capture more client base with same hardware but handicapped functionality.? Sounds good on paper but if it is so complicated to write a driver,? how are they attacking more vendors or are all drivers written by them? They seemed to be fully committed to it.

From dealer prospective,? limited numbers of vendors and models they can use. Must be a big issue now with the low stock of everything.?
Then when the client says 6 months in "I need this XYZ integrated" (XYZ being whatever the latest gimmick is), how do you tell them it can't be done?

From client's prospective,? cheaper but not customizable and limited life *cough* pyng *cough*

Yet I've seen multiple people that are Crestron savvy switching their personal systems from SIMPL to Home. So confusing.


 

开云体育

I'll throw in one more perspective.? Not all dealers are created equal.? There are dealers that have a really good programming staff and others that may otherwise be really good at A/V but don't do programming well.? The best dealers can deliver? a very customized/large system but other dealers struggle and Crestron has to take the phone calls from unhappy homeowners who weren't educated enough to tell the difference until it was too late.? A product like Crestron home levels the playing field and allows a good A/V dealer that doesn't have great programmers to be successful delivering Crestron systems.?

Great story about your old science teacher/coach Lincoln.

On 2/18/2021 3:45 PM, Lincoln King-Cliby wrote:

This is from a Commercial guy with Residential coworkers (including helping with development of an extension…which is just plain painful) so take it for what it is:

?

There are (at least two) two types of customers: The fiddly, “I want to be able to do anything and everything with any widget I can think of, for a system of any size or complexity” and the “I want a level of integration and I’ll more or less take what I can get”

?

?

Crestron Home is very well suited for the latter – if you can control the rules of engagement and the client is OK with more or less ‘standard’ functionality, and nothing too crazy as far as size or scope that’s exactly the niche that Crestron Home appears to play nicely with. The tradeoff, of course, is you are given a sandbox and going out of that sandbox is difficult/painful/impossible depending on what exactly you’re trying to do.

?

On the other hand the former is not well suited for Crestron Home, IMO – if you have weird subsystems, a giant property (or interdependent properties), very specific preferences on operation, etc. – that’s where full custom programming makes sense. Of course the tradeoff is higher overall costs.

?

Think of it like “tract home” vs “custom home” – sure in the tract home you might be able to change paint colors, carpet vs wood, etc. but by and large the floorplan is going to be the floorplan, the windows will be where the windows are and it might look like 6 other houses on the block (funny story from high school below)… but the cost per square foot is going to be lower because an architect is copy-pasting, the builders have muscle memory, and the overall attention to detail may not be a strong. On the other hand with a full-custom luxury build… You want 90,000 square feet? Done. Want 2 bathrooms for every bedroom? Done. Need a walk-in closet bigger than some European countries? No problem. Helipad? Sure. But you pay (not just in cash) for that flexibility.

?

Lincoln

?

?

(Ok so, I grew up in suburban Southern California… the land of the endless subdivision. My neighborhood had more variety than some – we had square accent windows and brown trip while the look-alike 3 lots down had rounded windows and grey trim, such variety! Other neighborhoods weren’t as diverse. One of my science teacher/swim coaches in particular, lived in a neighborhood where someone just fell asleep on the Ctrl+V button. One night he was startled to find a somewhat drunken neighbor stumble into his living room… not only did their houses look exactly the same 6 doors apart but they had happened to get locks using the same keys)

?

?

--

Lincoln King-Cliby, CTS, DMC-E-4K/T/D
Commercial Market Director
Sr. Systems Architect | Crestron Certified Master Programmer (Diamond)
ControlWorks Consulting, LLC
Direct: (+1)440.771.4807 | Cleveland: (+1)440.449.1100? | Boston: (+1)508.695.0188 | DC: (+1)202.381.9070? | Fax: (+1)440.449.1106
Crestron Services Provider | Biamp Authorized Independent Programmers | Extron Qualified Independent Programmer

?

From: [email protected] [mailto:[email protected]] On Behalf Of zac.sparrow@...
Sent: Thursday, February 18, 2021 4:46 PM
To: [email protected]
Subject: Re: [crestron] Crestron Home Driver Using the Driver SDK

?

Sorry for the slight off tipic...
I am still trying to understand the purpose of Crestron Home. From Crestron prospective,? to capture more client base with same hardware but handicapped functionality.? Sounds good on paper but if it is so complicated to write a driver,? how are they attacking more vendors or are all drivers written by them? They seemed to be fully committed to it.

From dealer prospective,? limited numbers of vendors and models they can use. Must be a big issue now with the low stock of everything.?
Then when the client says 6 months in "I need this XYZ integrated" (XYZ being whatever the latest gimmick is), how do you tell them it can't be done?

From client's prospective,? cheaper but not customizable and limited life *cough* pyng *cough*

Yet I've seen multiple people that are Crestron savvy switching their personal systems from SIMPL to Home. So confusing.


 

Thanks guys. The other reason I was (and still am) is because I generally pick either the cheapest or the most expensive option.? Home is a middle ground but it seems to me if someone would spend the $ for Home, why not go all the way in.?

The part about dealers struggling with programming does makes sense though. Didn't think of it this way.?


 

开云体育

UI is also a big part of it.? Even if the programming works well and the system supports all the wiz-bang ideas the customer came up with making a decent UI takes a special talent that very few programmers have.?

On 2/18/2021 5:29 PM, zac.sparrow@... wrote:

Thanks guys. The other reason I was (and still am) is because I generally pick either the cheapest or the most expensive option.? Home is a middle ground but it seems to me if someone would spend the $ for Home, why not go all the way in.?

The part about dealers struggling with programming does makes sense though. Didn't think of it this way.?


 

Oh boy. I have just literally been going through this the past few days to write a custom Crestron Home driver.??
It's good to hear it's not just me.

Crestron is not my normal thing - I actually have spent my life making developer tools like compilers and debuggers, etc (embedded and non), as well as drivers and such for various devices on various platforms.
So i'm usually on the other end of this - providing the developer stuff necessary to build things and make stuff work.

I've certainly seen worse than the current SDK by far, but yeah.
Particularly the weird combination of rigidness/flexibility in the extension driver model.
Some of it also feels like they used Amazon's mechanical turk with a task like "write a page of samples and documentation", it got distributed to 100 different people, and then they just combined them and that's the manual.

For real questions i actually don't use the manual first or alone.? I actually just use ilspy or dotpeek, and see what the assembly actually does first, then read the manual and put the two together.? It's much easier to understand the manual once you see "what is the current implementation doing".?

That is not a great state.

To the original question of a simple relay driver - i went looking when I started.
On public github, there are only two people who have repositories that contain crestron home extension drivers.? ?
One of them appears to be ... wait for it .. a relay driver.



Now, unfortunately, it's not well commented, and seems to delve into the programmatic functionality.

The other extension retrieves the weather from the web, and may be a simpler example for your purposes:


--Dan


 

There's also the element of competition (or rather, competitive dis-advantage).? Control 4, and others (Savant, Elan, etc. to a lesser extent), -??whatever you think about those products - have a good following with integrators.
Crestron like to pull up the pyramid drawing at this point.? For commercial, that's high end bespoke board rooms at the pointy end, and gazillions of huddle spaces at the fat bottom.? For resi, we only really had the smaller pointy end, and Crestron want the fatter bottom space that Control 4 and others occupy.
I have no problem with the theory there - but to compete at the fat bottom takes a different mindset/approach which I'm not sure has been achieved yet.
Crestron Home (which, for the avoidance of doubt, *IS* Pyng, with a new skin) needs to cover a huge breadth of compatible products to be viable against those other guys, and Crestron don't have the bandwidth to do it all in-house.? Manufacturers don't (whatever people might claim) have the Crestron-specific skills to create drivers themselves.? That leaves people like CSPs or integrators with programming talent (and with S# skills) to mop up the shortfall.? Trying to reducing the friction here is probably what takes up 75% of my time with CCD at the moment.


 

I would strongly agree with this.

I've watched plenty of companies end up in this sort of situation.
The biggest challengeis often, as you say, the mindset.

APIs, like the drivers here, are almost always a tradeoff in where complexity is exposed and who bears the burden of handling it.
That, you can make the API simple to get right and the backend hard to get right, or the backend simple to get right and the API hard to get right.
(It's rare you can make both true)

Lots of times i would see the driver/etc APIs go from nothing to becoming one of the main user interfaces for developers.
But the engineers/etc would still focus on making the backend easy and be okay with making the APIs hard.

This almost always resulted in failure - the cases where it didn't is where the market share was so tremendous that nobody had a choice.
The companies that succeeded were eventually able to shift to making the APIs much easier, and eating the backend complexity.
This is a hard mindset shift to achieve - it requires getting people to be very empathetic to people they've often never really had to think of too much.

Crestron is definitely not there yet.

--Dan


 

Thanks Dan!

I will definitely checkout both of those?

I didn’t see a whole lot of comments in Crestron’s samples either so I’m hoping the relay driver at least offers a simple enough example to make it easier to understand the overall structure?

Thanks again

Jay

On Thu, Feb 18, 2021 at 11:04 PM <dberlin@...> wrote:

Oh boy. I have just literally been going through this the past few days to write a custom Crestron Home driver.??
It's good to hear it's not just me.

Crestron is not my normal thing - I actually have spent my life making developer tools like compilers and debuggers, etc (embedded and non), as well as drivers and such for various devices on various platforms.
So i'm usually on the other end of this - providing the developer stuff necessary to build things and make stuff work.

I've certainly seen worse than the current SDK by far, but yeah.
Particularly the weird combination of rigidness/flexibility in the extension driver model.
Some of it also feels like they used Amazon's mechanical turk with a task like "write a page of samples and documentation", it got distributed to 100 different people, and then they just combined them and that's the manual.

For real questions i actually don't use the manual first or alone.? I actually just use ilspy or dotpeek, and see what the assembly actually does first, then read the manual and put the two together.? It's much easier to understand the manual once you see "what is the current implementation doing".?

That is not a great state.

To the original question of a simple relay driver - i went looking when I started.
On public github, there are only two people who have repositories that contain crestron home extension drivers.? ?
One of them appears to be ... wait for it .. a relay driver.



Now, unfortunately, it's not well commented, and seems to delve into the programmatic functionality.

The other extension retrieves the weather from the web, and may be a simpler example for your purposes:


--Dan


 

Hi Jay,

First, I wanted to thank you for your code development over the years. I have used the Prowl module at home and it is great.?
Second, have you have any progress on the Tempest driver for Home??