### Link
https://support.sinopetech.com/en/1.5.7.3/
### Database entry
…{"id":3,"type":"Router","ieeeAddr":"0x500b91400003e680","nwkAddr":973,"manufId":4508,"manufName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","modelId":"VA4220ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":3,"inClusterList":[0,1,3,4,5,6,8,1026,1280,1794,2821,65281],"outClusterList":[3,6,25],"clusters":{"genBasic":{"attributes":{"modelId":"VA4220ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","manufacturerName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":129,"zclVersion":2,"appVersion":12,"stackVersion":3,"hwVersion":0,"dateCode":"20201104\u0000\u0000\u0000\u0000\u0000\u0000\u0000","swBuildId":"3405\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00124b0026b6a0f8","zoneState":1}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":12,"stackVersion":3,"hwVersion":0,"dateCode":"20201104\u0000\u0000\u0000\u0000\u0000\u0000\u0000","swBuildId":"3405\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","zclVersion":2,"interviewCompleted":true,"meta":{},"lastSeen":1670446481691,"defaultSendRequestWhen":"immediate"}
### Comments
Hi,
Trying to bring support to Sinopé Smart Water Valve Gen 2 ZIgbee. Both models VA4220ZB and VA4221ZB are the same valve with the difference of the 4220 being for 3/4'' pipes and the 4221 for 1'' pipes. I own the VA4220ZB variant. I followed the guides to add new device support and made an external converter. I used info from an already supported water valve from Sinopé (model VA4200WZ) from zigbee-herdsman-converters/devices/sinope.js. The already supported model VA4200WZ looks to be a very similar model of VA4220ZB, the main differences appears to only be that the VA4200WZ is both WiFi and Zigbee, the VA4220ZB is Zigbee only (and 2nd gen from the manufacturer).
So I copied the code from sinope.js under VA4200WZ and pasted it inside my external converted that I made for my valve (VA4220ZB.js). At that point, I was able to operate the valve from zigbee2mqtt: send close and open commands, the valve would report it's status correctly (Open, Close, position in % from 0 to 100 and Battery Low: False). However, Battery % exposed as ''unknown'' %.
Looking at the debug log, I saw that I still had a message because of a missing converter for SSiasZone:
```
Zigbee2MQTT:debug 2022-12-07 17:09:42: Received Zigbee message from 'Main Water Valve', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"extendedstatus":0,"zonestatus":50}' from endpoint 1 with groupID 0
Zigbee2MQTT:debug 2022-12-07 17:09:42: No converter available for 'VA4220ZB' with cluster 'ssIasZone' and type 'commandStatusChangeNotification' and data '{"extendedstatus":0,"zonestatus":50}'
```
I tried to add the missing converter by adding an existing one ( fz.ias_water_leak_alarm_1) from zigbee-herdsman-converters/converters/fromZigbee.js in the definition
Now, I do not have the debug message for the missing converter anymore but Battery level in % is still unknown and the Info log is showing this:
`info 2022-12-07 00:10:30: MQTT publish: topic 'zigbee2mqtt/Main Water Valve', payload '{"**battery":null**,"battery_low":null,"linkquality":165,"position":null,"state":null}'`
Which make me beleive i'm simply not using the correct converter for SSiasZone. I dont really know what to do at this point since I'm a new user. Any help would be appreciated.
Regards,
alray
![Z2M screenshot](https://user-images.githubusercontent.com/115857857/206309485-09d0be89-59a1-4749-82b1-79ea027f3182.jpg)
@MattL0 I think you might be able to help me since you look to be active in the sinope.js file?
### External converter
```shell
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const constants = require('zigbee-herdsman-converters/lib/constants');
const utils = require('zigbee-herdsman-converters/lib/utils');
const e = exposes.presets;
const ea = exposes.access;
const definition = {
zigbeeModel: ['VA4220ZB'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
model: 'VA4220ZB', // Vendor model number, look on the device for a model number
vendor: 'Sinopé', // Vendor of the device (only used for documentation and startup logging)
description: 'Sedna smart water valve', // Description
fromZigbee: [fz.ias_siren, fz.cover_position_via_brightness, fz.cover_state_via_onoff, fz.battery],
toZigbee: [tz.cover_via_brightness],
exposes: [e.valve_switch(), e.valve_position(), e.battery_low(), e.battery()],
configure: async (device, coordinatorEndpoint) => {
const endpoint = device.getEndpoint(1);
const binds = ['genOnOff', 'genLevelCtrl', 'genPowerCfg'];
await reporting.bind(endpoint, coordinatorEndpoint, binds);
await reporting.batteryPercentageRemaining(endpoint);
await reporting.onOff(endpoint);
await reporting.brightness(endpoint); // valve position
},
};
module.exports = definition;
```
### Supported color modes
_No response_
### Color temperature range
_No response_