Charmed Quark Systems, Ltd. - Support Forums and Community
Lock device class - Printable Version

+- Charmed Quark Systems, Ltd. - Support Forums and Community (
+-- Forum: General Discussion (
+--- Forum: CQC Support (
+--- Thread: Lock device class (/showthread.php?tid=11132)

Lock device class - bryanb - 06-21-2020


In the online CQC documentation, there's a V2 Device Classes section. In there, there's a class called "Locks". I've developed a Raspberry Pi/ZWave based lock controller. I've written a driver for but I would like to convert the driver to a V2 driver. The other V2 drivers call a "helper" method in the RegisterFields method. Things like V2Help.GetPowerFlds and V2Help.GetDevInfoFlds. Is there a V2Help.GetLockFlds or GetLocksFlds helper method? If so, I can't seem to find it. Please point me to it. Also, is there a semantic type for Locks? Any help would be appreciated. Thanks.


RE: Lock device class - Dean Roddey - 06-22-2020

I don't think there's one for locks. Mostly those helpers are for ones that are more tricky or that have more fields. Locks are pretty simple, just one field, so there isn't one.

The device class docs are here:

RE: Lock device class - Dean Roddey - 06-22-2020

Once you have the driver going in the IDE, there's a main menu tool option to validate it. It will check any V2 classes that the driver manifest claims it supports and see if all of the fields are present and that they have the correct attributes.

RE: Lock device class - bryanb - 06-22-2020

OK, I understand that there's only one field but how do I create a field called LOCK#AnyName? It loads and runs fine if the field name is LOCK-AnyName but never connects if it's LOCK#AnyName. I must be missing something.


RE: Lock device class - Dean Roddey - 06-23-2020

Have you marked the driver as V2 compliant and indicated it supports the lock device class in the manifest file? Check one of the Z-Wave driver manifests for an example if not.

RE: Lock device class - bryanb - 06-23-2020

Yes, this is my manifest file. Does it look correct?

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE CQCCfgBig GrinriverCfg PUBLIC "" "CQCDriverCfg.DTD">

<!-- =========================================================================
  - This is the driver manifest for Bryan's Lock Controller. It uses a Raspberry Pi running the Domoticz
  - Home Automation package and controls Z-Wave Smart Locks.
  - =========================================================================
<CQCCfgBig GrinriverCfg CQCCfg:ArchVer="2">

    <!-- Define the server driver config -->
    <CQCCfg:ServerCfg  CQCCfg:LibName="MEng.User.CQC.Drivers.Bryans.ZWave-Lock-Control.DriverImpl"
                        CQCCfgBig GrinrvType="Macro"/>

    <!-- Define the common driver config -->
    <CQCCfg:CommonCfg  CQCCfg:Author="Bryan Brademan"
                        CQCCfgBig Grinescription="Supports the Raspberry Pi Lock Controller."
                        CQCCfgBig GrinevClasses="Lock"
                        CQCCfgBig GrinisplayName="Lock Controller"
      - Prompt for the connection configuration.
    <CQCCfg:ConnCfg CQCCfg:Editable="True">
        <CQCCfg:IPConn CQCCfgTongueort="8080"


</CQCCfgBig GrinriverCfg>

RE: Lock device class - Dean Roddey - 06-24-2020

That looks reasonable.