Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 1,806
» Latest member: beltmoon8
» Forum threads: 11,172
» Forum posts: 78,644

Full Statistics

Online Users
There are currently 67 online users.
» 0 Member(s) | 65 Guest(s)
Bing, Google

Latest Threads
Apple buys Dark Sky...
Forum: General Automation
Last Post: kblagron
06-14-2022, 09:25 PM
» Replies: 5
» Views: 2,535
Event Server Error
Forum: CQC Support
Last Post: Bugman
06-05-2022, 08:54 AM
» Replies: 4
» Views: 128
RainMachine Sprinkler Irr...
Forum: Driver Development
Last Post: kblagron
06-03-2022, 11:27 PM
» Replies: 58
» Views: 17,547
Help with RIVACmd
Forum: CQC Support
Last Post: kblagron
05-23-2022, 08:54 PM
» Replies: 2
» Views: 168
6.x Beta Release Discussi...
Forum: Beta Discussions
Last Post: Shaky
05-09-2022, 08:25 PM
» Replies: 26
» Views: 3,397
An Idea - CQC as Front En...
Forum: CQC Support
Last Post: kblagron
04-28-2022, 07:58 PM
» Replies: 3
» Views: 235
Admin Interface Help Does...
Forum: CQC Support
Last Post: Dean Roddey
04-28-2022, 01:14 PM
» Replies: 1
» Views: 155
Recurring Errors - Help t...
Forum: CQC Support
Last Post: Bugman
04-02-2022, 07:52 AM
» Replies: 1
» Views: 212
MQTT Verify Configuration...
Forum: CQC Support
Last Post: Dean Roddey
03-17-2022, 01:07 PM
» Replies: 4
» Views: 348
Trigger not Working after...
Forum: CQC Support
Last Post: sic0048
03-02-2022, 05:35 AM
» Replies: 4
» Views: 367

 
  SmartThings API V1 driver
Posted by: kfly - 02-01-2022, 04:38 PM - Forum: Driver Development - Replies (5)

Looks like SmartThings released a new API “V1” that can give CQC access to 5,000+ devices.

Was trying to figure out how to add new unsupported devices into CQC and extend my CQC system for many years to come. As everyone knows there is no other HA system out that compares to the configurability of the GUI interface or the back-end control you get from CQC.

Here is a first cut of a driver.
Driver install prompts:
1. SmartThings Personal access token(PAT) (see below)
2. Polling Interval (default is 5)
3. SmartThings Hub Location ID  (driver needs to lookup the device ID)
4. List of devices to poll(cloud) in device type:name,,,,  format(see below)

Note:

  • It polls the SmartThings cloud API. (hopefully a local poll of hub will come soon)
  • It does one small status poll for each device at poll time. (so keep it to a small number of devices not supported by CQC)
  • Current device types supported are: lightswitch,dimmerswitch,doorlock,floodsensor.
  • Driver creates fields based on SmartThings device Names after a one time lookup on the hub. So if no ST_ field is created you may have a typo on your device configuration during driver install.
I have a SmartThings V3 Hub and currently use CQC as a secondary zwave controller.
After a few weeks of testing. Seems to work well at 5 seconds poll times.

You need to Generate a PAT(Personal Access Token)
https://account.smartthings.com/tokens
(as you will need a Bearer Token)

To get your LocationID   (Hub ID)
https://graph.api.smartthings.com/
If you drill down into your Hubs or Devices off that ,locationID, hubID, DeviceID  will be at end of the  url “897ssd87f-bc9d-433ae-d32e-a5bcb0f2xxxx”
This is what my URL looks like.
"https://graph-na04-useast2.api.smartthings.com/device/show/897ssd87f-bb9d-433ae-d32e-a5bcb0fxxxxx"

Devices to Poll:
Format is device type: name (example below)
Note: This is the name in SmartThings app or website.
lightswitch:Garage Lights,Landscape Lights&dimmerswitch:Foyer,Liv Rm Inside&doorlock:Front  Door Lock&floodsensor:Laundry Flood Sensor


.cqcdrvpack   SmartThings_0.5.CQCDrvPack (Size: 20.66 KB / Downloads: 0)

Please feel free to fix, enhance or change driver as needed
    maybe:
  • Do one larger all device stat poll and parse instead of many small polls.
  • Transition to local hub requests.(when available)
  • Add more device types(or a more elegant lookup table of some kind)
More info:
5,000+ devices compatibility on a SmartThings Hub.
www.smartthings.com/products-list
https://developer-preview.smartthings.co...ag/Devices

Postman resources:
www.postman.com/smartthings/workspace/smartthings-s-public-workspace/collection/

Just change in Auth Tab to Bearer Token(and put your token or variable  in)
I had to change in Headers Tab: unclick the Accept KEY.
https://developer-preview.smartthings.co...ns/scenes/
https://github.com/SmartThingsDevelopers...e-RulesAPI

Print this item

  Help on editing existing Driver
Posted by: Spot - 01-30-2022, 07:32 PM - Forum: Driver Development - Replies (5)

I want to dig into the RCS Thermostat Driver again and make a few changes, but want to do it the right way....Last time I was editing the stock Driver and when I made a mistake...I had to reinstall CQC to get things back to normal. 

I am trying to follow the instructions in the documentation, but, since I am relatively new to some of the terminology, I want to make sure that I am doing it correctly. The instructions read:



  1. Grab the current manifest, from the Master Server directory indicated above and copy it somewhere local. (This was the Easy Part)

  2. Change the Make and/or Model in the manifest so that it doesn't conflict with the deployed driver. The make/model in the manifest is the unique key for a driver. So you cannot have two drivers with the same make/model. If you are doing a temporary working version of an existing driver, the convention is to add -Dev to the model name to distinguish it. ( Did this by using a text editor on the XML Manifest File)

  3. Change the short description. Either for the new device; or, if doing a temp working version of an existing driver, to also indicate a -Dev or some other change to make it clear when reading through the available drivers which one is the deployed one and which is the development one.  (Text Editor on the XML File)

  4. Change the CML class path. If you are creating a copy of a system driver, just change System to User. If it's one of your own, you are already in User, so create another scope to put it in. Follow the existing convention of a Make/Model based hierarchy. I.e. all of the Denon drivers are under a Denon scope and individual models are under that.
    a. I changed: ClassPath MEng.System.CQC.Drivers.RCS.SerialRS485V2.DriverImpl;b. To : ClassPath MEng.User.CQC.Drivers.RCS.SerialRS485V2.DriverImpl;
  5. Open your manifest file in the IDE. It will say the class doesn't exist, do you want to create it. Say yes and it will create an empty class.
    - I did this...I did not expect that I had to go to the driver configuration before I would get the message...So I did it several times before I think I got it right.
  6. Do Ctrl-R to open for read only and navigate to the existing driver and open it. Select and copy the whole thing.

  7. Go back to your new copy and paste the contents in, overwriting the temporary content that was created above.

  8. Copy and paste any helper classes files that are part of the driver and that you are going to modify, to create your new versions of those.
    - I am unsure how helper classes are defined in the code.....
  9. Update any Import and ClassPath lines to reflect the new locations. Be careful to get this done or you'll be referring still to the original files.
     -This is where I am really unsure.  It seems that some of these are system classes that won't be present in the User directory...so should I change the paths?

    Initial Driver Code:
    Class=[NonFinal]   
    ClassPath MEng.System.CQC.Drivers.RCS.SerialRS485V2.DriverImpl;   
    ParentClass MEng.System.CQC.Runtime.CQCDriverBase;
    EndClass;

    Imports=    MEng.System.Runtime.CommCfg;   
    MEng.System.Runtime.CommPort;   
    MEng.System.Runtime.MemBuf;   
    MEng.System.Runtime.StringTokenizer;   
    MEng.System.CQC.Runtime.CQCFldDef;   
    MEng.System.CQC.Runtime.V2Helper;   

    #BeginDebug   
    MEng.System.Runtime.ConsoleOutStream;   
    #EndDebugEndImports;

    I Changed the working copy to (But unsure if it is correct):

    Class=[NonFinal]   
    ClassPath MEng.User.CQC.Drivers.RCS.SerialRS485V2.DriverImpl;   
    ParentClass MEng.System.CQC.Runtime.CQCDriverBase;
    EndClass;

    Imports=    MEng.User.Runtime.CommCfg;   
    MEng.User.Runtime.CommPort;   
    MEng.User.Runtime.MemBuf;   
    MEng.user.Runtime.StringTokenizer;   
    MEng.User.CQC.Runtime.CQCFldDef;   
    MEng.User.CQC.Runtime.V2Helper;   

    #BeginDebug   
    MEng.User.Runtime.ConsoleOutStream;   
    #EndDebugEndImports;

    It honestly seems like I am changing paths to some classes that do not to be changed...but my interpretation of the documentation appears to indicate otherwise....


    I don't want to continue until I get it right...since I don't want to have to reinstall CQC if I screw a driver up....

    Thanks for any thoughts...I apologize for my earlier formatting nightmare on the code segment.

Print this item

  Zwave lock BE469 and new BE469ZP
Posted by: kfly - 01-26-2022, 09:17 AM - Forum: CQC Support - Replies (1)

Just replaced a Dead Schlage lock (BE469) now cannot even do a “Query unit info” on the new lock.
Seems the new units are BE469ZP  ZP for zwave plus so I assume that is causing the issue. I use CQC/Aeotec controller as a secondary controller to the Smartthings Hub.

Guess I am out of luck with getting the new model locks to work  with CQC. Just wondering if anyone got them working in CQC as a main controller. Just trying to figure out if it’s the S2_ACCESS_CONTROL causing an issue during Aeotec replication(as a zwave remote) or something in the Driver itself that could be fixed like type and manufactor/model.
Kevin


OLD Schlage BE469
Data
MSR: 003B-6341-5044
fw: 104.21
manufacturer: Schlage
networkSecurityLevel: ZWAVE_S0_LEGACY
Raw Description zw:Fs type:4003 mfr:003B prod:6341 model:5044 ver:104.21 zwv:3.42 lib:06 cc:22,72,7A,98,86 sec:5D,85,20,80,70,62,71,63


New Schlage BE469ZP
Data
MSR: 003B-0001-0469
fw: 3.3
manufacturer: Schlage
networkSecurityLevel: ZWAVE_S2_ACCESS_CONTROL
Raw Description zw:Fs2ac type:4003 mfr:003B prod:0001 model:0469 ver:3.03 zwv:6.03 lib:06 cc:5E,98,9F,55 sec:6C,8A,22,5D,85,70,80,62,71,63,4E,72,86,7A,59,5A,73,87

Print this item

  Am I misusing System Equals?
Posted by: Spot - 01-25-2022, 06:54 PM - Forum: CQC Support - Replies (6)

I am trying to create an event that will turn an HVAC booster fan on.  I want it to run when the furnace is calling for heating or cooling.  

I initially set it up as two separate triggered events, one for on & one for off.  I used the "Fld Value equals" trigger & it seemed to work.  However, it wasn't as reliable as I'd like, so I decided to try a "Is Field Change For" trigger & do some event processing.  Now, it will turn the fan on...but not off.  My logic is failing at the "If" test & I think I must be missing something pretty basic.

The fields Thermostats_V2.Main_HeatStage1Stat & Thermostats_V2.Main_CoolStage1Stat are both MEng.Boolean fields.  When they are both "False," the If statement below still evaluates as "False: and executes the "Else" option & sends a command to keep the fan running.

Any thoughts would be appreciated.

---------------------------------------


// Trying to make a generic control for the Booster Fan vs having to have separate commands
//
// Get Current Status of Furnace into Local Vars (Call for heat or Cooling)
// There is no direct read of Fan Status from RCS Driver (it is controlled by furnace board)
//
LocalVars::CreateVarFromField
    P1=LVar:MainHeating
    P2=Thermostats_V2.Main_HeatStage1Stat

LocalVars::CreateVarFromField
    P1=LVar:MainCooling
    P2=Thermostats_V2.Main_CoolStage1Stat

//
// The only case that comparison should be False is if the Fan needs to be on
// There cannot be a True/True...Unless there is a malfunction
// False/False - Fan should be off
// True/False or False/True - Normal call for heating or cooling
//
If
System::Equals
    P1=LVar:MainHeating
    P2=LVar:MainCooling
    P3=No Case

//
// Evaluates as True...This means it is False/False (No heat or Cool) or True/True (Malfunction)
// Either Way, we want the fan off
Devices::FieldWrite
    P1=Insteon-ISY.LGHT#Sw_HVACBoosterFan
    P2=False
    P3=True

//
Else

// Turn the fan On
Devices::FieldWrite
    P1=Insteon-ISY.LGHT#Sw_HVACBoosterFan
    P2=True
    P3=True

End


-------------------

Thanks

Print this item

  Programmable Controllers?
Posted by: Darrie - 01-15-2022, 08:34 AM - Forum: CQC Support - Replies (7)

Does anyone know of any remote controllers compatible with CQC? The only methods of user input control to CQC is touchscreen and voice control. Please advise

-Thanks

Print this item

  Broadlink Support?
Posted by: Darrie - 01-15-2022, 08:02 AM - Forum: CQC Support - Replies (1)

Does the Broadlink blaster fall into a current driver category? Is there any driver support for this device. This would solve many if not all of my problems in connecting to all of my devices.

Print this item

  More CQC Errors
Posted by: znelbok - 01-14-2022, 12:12 PM - Forum: CQC Support - Replies (3)

Now started getting these errors only when the admin interface is started on this laptop (where I manage and configure the system from). As soon as I stop the admin clinet the messages stop.

V6.0.2

01/15 07:04:25-Makao, CQCClService, CIDOrbSrvWorkThread_1
{
    CIDOrb, CIDOrb_ThisFacility.cpp.576, Failed/Not Found, Error: 6503/0/0
    Object '{7EE18BDB7E607212-6455454A53F1497B}599D80BF0E250C3C-16115CEBFD380D45' was not found on this server
      <CQCIntfView> CQCKit_ClSrvClientProxy.cpp - 113
      <CQCIntfView> CQCMedia_ThisFacility.cpp - 2635

}
01/15 07:04:30-Makao, CQCAdmin, CQCMediaMDBCacher
{
    CQCMedia, CQCMedia_ThisFacility.cpp.2627, Failed/Internal
    An exception occurred in the media cache thread
}
01/15 07:04:30-Makao, CQCClService, CIDOrbSrvWorkThread_1
{
    CIDOrb, CIDOrb_ThisFacility.cpp.576, Failed/Not Found, Error: 6503/0/0
    Object '{7EE18BDB7E607212-6455454A53F1497B}599D80BF0E250C3C-16115CEBFD380D45' was not found on this server
      <CQCAdmin> CQCKit_ClSrvClientProxy.cpp - 113
      <CQCAdmin> CQCMedia_ThisFacility.cpp - 2635

}


The PC Makao is my laptop which has the client, admin tools and tools to write drivers - basically an engineering station.

I have no media drivers installed on this cqc system either (was before around upgrade time but I removed everything media related as I don't use it)

Any ideas

Thanks

Print this item

  Driver for Amazon 4k Stick
Posted by: Darrie - 01-13-2022, 03:27 PM - Forum: CQC Support - Replies (3)

Do anyone know of a possible way to create a driver for the Amazon Fire TV stick?

Print this item

  Only flushed 0 bytes from the output stream cache
Posted by: znelbok - 01-13-2022, 11:24 AM - Forum: CQC Support - No Replies

Hi All

Triggered events have started to become a bit hit and miss lately (again).

Took a look at the log server and this error was repeating constantly.

01/14 06:13:42-Zeus, CQCWebSrv, CQCWebRIVAGUIThread_0
{
    CIDLib, CIDLib_BinOutStream.cpp.355, Failed/Cannot Do, Error: 3366/0/0
    Only flushed 0 bytes from the output stream cache
      <CQCWebSrv> CQCWebSrvC_WebRIVAHandler.cpp - 966

}
01/14 06:13:42-Zeus, CQCWebSrv, CQCWebRIVAGUIThread_0
{
    CIDLib, CIDLib_BinOutStream.cpp.355, Failed/Cannot Do, Error: 3366/0/0
    Only flushed 0 bytes from the output stream cache
      <CQCWebSrv> CQCWebSrvC_WebRIVAHandler.cpp - 966

}
01/14 06:13:42-Zeus, CQCWebSrv, CQCWebRIVAGUIThread_0
{
    CIDLib, CIDLib_BinOutStream.cpp.355, Failed/Cannot Do, Error: 3366/0/0
    Only flushed 0 bytes from the output stream cache
      <CQCWebSrv> CQCWebSrvC_WebRIVAHandler.cpp - 966


Looks like its a WebRiva thing so I stopped the add on the iPad and its stopped being generated.  Connected via the web browser on this laptop and they were being generated again.

Any ideas at all?  I don't think this contribute to the triggered event issue as none of them were running when the triggered event should have run

Print this item

  Support for MATTER
Posted by: znelbok - 01-10-2022, 03:08 AM - Forum: CQC Support - No Replies

Matter is the buzz word at the moment with a lot of devices already including or being able to be upgraded to support the new protocol.

Has anyone looked into this yet and understood if CQC could support matter?  It would be a valuable tool in the CQC arsenal if it did include matter support

Print this item