1
0
mirror of https://github.com/Utyff/Zintercom.git synced 2026-01-12 09:17:41 +03:00

updated readme battery mode part

updated external converter
updated some images
This commit is contained in:
lost
2021-04-15 18:01:05 +03:00
parent 23626a37d1
commit 2b89cbc188
5 changed files with 44 additions and 65 deletions

View File

@@ -1,6 +1,6 @@
# Zintercom
## Zigbee Intercom Automator
This device is designed to control the matrix intercom using Zigbee
##### Zigbee Intercom Automator
This device is designed to control the matrix intercom using Zigbee.
Using zigbee2mqtt you can:
1. Receive notification when the intercom rings. (also support **direct bind**)
@@ -8,10 +8,10 @@ Using zigbee2mqtt you can:
3. Automatically or manually open the door or hang up when the intercom rings.
There are 4 work modes:
Never - ordinary work mode, use handset to control
Once - one time open door when intercom rings
Always - open door when intercom rings
Drop - hangs up all intercom rings, right after start
1. `Never` - ordinary work mode, use handset to control
2. `Once` - one time open door when intercom rings
3. `Always` - open door when intercom rings
4. `Drop` - hangs up all intercom rings, right after start
You can change the operating mode with z2m or by pressing the button.
After pressing the button, the LED will flash.
@@ -23,14 +23,13 @@ Reset to FN by press and hold BTN for 5 seconds.
LED will flash during reset.
<img src="./images/z2m_dashboard.gif" width="45%">
### How to add device into zigbe2mqtt
Use [external converters](https://www.zigbee2mqtt.io/information/configuration.html#external-converters-configuration) feature
Converter file located [here](./converters/DIY_Zintercom.js)
<img src="./images/z2m_dashboard.png" width="45%">
<img src="./images/z2m_exposes.png" width="90%">
### Schematic
@@ -48,7 +47,9 @@ Converter file located [here](./converters/DIY_Zintercom.js)
Support `router` and `end device` modes.
Install `E18-MS1PA1`, `E18-MS1PA2` or `E18-MS1-PCB`.
<img src="./images/front_side.png" width="70%">
<img src="./images/back_DC_5-9V.png" width="70%">
@@ -56,4 +57,30 @@ Install `E18-MS1PA1`, `E18-MS1PA2` or `E18-MS1-PCB`.
Support only `end device` mode.
Install `E18-MS1-PCB` only!
Do not turn off `sound` because it turns U2 forever, which will drain the battery much faster.
Since the device is in sleep mode, it cannot receive commands.
But you have the ability to set the button mode or at the time of the call.
If any commands are in the coordinator's queue, they will be executed after a button is pressed or a call is received.
<img src="./images/back_2xAAA.png" width="70%">
##### The mode set by the Zigbee command `overwrites` the mode set by the button.
### Binding
The device supports direct binding of an incoming call to the onOff cluster.
For example, you can turn on the light while a call comes to the intercom, for notification in mute mode.
### Files to reproduce
* [Gerbers and BOM](https://github.com/diyruz/Zintercom/tree/master/hardware) by [xyzroe](https://t.me/xyzroe)
* [Firmware](https://github.com/diyruz/Zintercom/releases) by [xyzroe](https://t.me/xyzroe)
### Inspired by
The original scheme of the intercom opener by [Alexander Vaidurov](https://easyeda.com/Alex_AW/domofon-with-battery)
Various hardware solutions by [Jager](https://modkam.ru)
Firmware for different Zigbee devices by [Anonymous](https://github.com/nurikk/)

View File

@@ -7,11 +7,6 @@ const {
const ep = exposes.presets;
const ea = exposes.access;
const ZCL_DATATYPE_INT16 = 0x29;
const ZCL_DATATYPE_UINT8 = 0x20;
const ZCL_DATATYPE_UINT16 = 0x21;
const ZCL_DATATYPE_BOOLEAN = 0x10;
const ZCL_DATATYPE_INT32 = 0x2b;
const bind = async (endpoint, target, clusters) => {
for (const cluster of clusters) {
await endpoint.bind(cluster, target);
@@ -63,8 +58,6 @@ const repInterval = {
MINUTE: 60,
};
const fz = {
diy_zintercom_config: {
cluster: 'closuresDoorLock',
@@ -150,11 +143,10 @@ const tz = {
const device = {
zigbeeModel: ['DIY_Zintercom'],
model: 'DIY_Zintercom',
vendor: 'xyzroe',
description: '[Intercom Auto Opener]',
supports: '',
//homeassistant: [hass.temperature, hass.presure, hass.humidity, hass.co2],
model: 'DIYRuZ_Zintercom',
vendor: 'DIYRuZ',
description: '[Matrix intercom auto opener](https://diyruz.github.io/posts/zintercom/)',
icon: 'https://github.com/diyruz/Zintercom/blob/master/images/z2m.png?raw=true',
fromZigbee: [
fromZigbeeConverters.battery,
fz.diy_zintercom_config,
@@ -169,37 +161,11 @@ const device = {
configure: async (device, coordinatorEndpoint) => {
const firstEndpoint = device.getEndpoint(1);
//await bind(firstEndpoint, coordinatorEndpoint, ['msCO2', 'closuresDoorLock', 'genOnOff']);
await bind(firstEndpoint, coordinatorEndpoint, ['closuresDoorLock', 'genPowerCfg']);
const overides = {min: 0, max: 3600, change: 0};
await configureReporting.batteryVoltage(firstEndpoint, overides);
await configureReporting.batteryPercentageRemaining(firstEndpoint, overides);
/*
if (device.applicationVersion < 3) { // Legacy PM2 firmwares
const payload = [{
attribute: 'batteryPercentageRemaining',
minimumReportInterval: 0,
maximumReportInterval: 3600,
reportableChange: 0,
}, {
attribute: 'batteryVoltage',
minimumReportInterval: 0,
maximumReportInterval: 3600,
reportableChange: 0,
}];
await firstEndpoint.configureReporting('genPowerCfg', payload);
}
*/
/*
const msBindPayload = [{
attribute: 'measuredValue',
minimumReportInterval: 0,
maximumReportInterval: 3600,
reportableChange: 0,
}];
await firstEndpoint.configureReporting('msCO2', msBindPayload);
*/
const payload = [{
attribute: {
@@ -212,20 +178,6 @@ const device = {
},
];
await firstEndpoint.configureReporting('closuresDoorLock', payload);
/**/
/*
await firstEndpoint.configureReporting('msTemperatureMeasurement', msBindPayload);
await firstEndpoint.configureReporting('msRelativeHumidity', msBindPayload);
const pressureBindPayload = [{
attribute: 'scaledValue',
minimumReportInterval: 0,
maximumReportInterval: 3600,
reportableChange: 0,
}];
await firstEndpoint.configureReporting('msPressureMeasurement', pressureBindPayload);
*/
},
exposes: [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 KiB

After

Width:  |  Height:  |  Size: 192 KiB

BIN
images/z2m_dashboard.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB