pyalarmdotcom / alarmdotcom

Custom component to allow Home Assistant to interface with Alarm.com
MIT License
119 stars 36 forks source link

Request support for Qolsys IQ Water Valve controller #323

Open peteallen opened 1 year ago

peteallen commented 1 year ago

The alarmdotcom maintainers don't have direct access to all Alarm.com devices. We need your help to support new devices.

Please open one issue per device.

Which device would you like us to support? Qolsys IQ Water Valve (IQWV908-KIT-PG) - https://qolsys.com/iq-water-valve/

Where does this device appear in the Alarm.com mobile app? Water

What types of actions does this device support? Opening and closing water valves. Can be triggered by a flood sensor connected to Alarm.com, but I'd ideally like to be able to control it from Home Assistant so that other types of sensors can trigger it.

Which provider do you use? Surety Home

Include pyalarmdotcomajax Server Output

[
  {
    "id": "[redacted]",
    "type": "devices/water-valve",
    "attributes": {
      "state": 2,
      "desiredState": 2,
      "activeSensors": 0,
      "totalSensors": 1,
      "managedDeviceType": 20,
      "hasState": false,
      "canBeRenamed": true,
      "canBeDeleted": false,
      "canAccessWebSettings": false,
      "canAccessAppSettings": false,
      "webSettings": 1001,
      "canAccessTroubleshootingWizard": false,
      "troubleshootingWizard": null,
      "addDeviceResource": 0,
      "canBeAssociatedToVideoDevice": false,
      "associatedCameraDeviceIds": {},
      "macAddress": "",
      "manufacturer": "Custos",
      "isAssignedToCareReceiver": false,
      "isOAuth": false,
      "isZWave": false,
      "supportsCommandClassBasic": false,
      "isMalfunctioning": false,
      "canBeSaved": true,
      "canChangeDescription": true,
      "description": "Water Valve",
      "deviceModelId": 9361,
      "canConfirmStateChange": true,
      "canReceiveCommands": true,
      "remoteCommandsEnabled": true,
      "hasPermissionToChangeState": true,
      "deviceIcon": {
        "icon": 21
      },
      "batteryLevelNull": null,
      "lowBattery": false,
      "criticalBattery": false
    },
    "relationships": {
      "system": {
        "data": {
          "id": "[redacted]",
          "type": "systems/system"
        }
      },
      "stateInfo": {
        "data": {
          "id": "[redacted]",
          "type": "devices/state-info"
        }
      }
    }
  }
]

Include Action Endpoints https://www.alarm.com/web/api/devices/waterValves/{device_id}/close https://www.alarm.com/web/api/devices/waterValves/{device_id}/open

elahd commented 1 year ago

@peteallen Thanks for submitting. Would you mind testing whether this works in the underlying Python package?

Detailed instructions for installing are here.

  1. Install the development version of pyalarmdotcomajax from the git branch water-valve-support.
  2. Test that the valve shows up correctly using the Basic command template from the instruction page. Change the device state (open/close), then check that the new state shows up.
  3. Use the Stream Live Events command to set up a real-time event monitor. Open the valve, then close the valve. You should see updates appear in the event monitor.

Thanks!