Skip to content

Instantly share code, notes, and snippets.

View 9zigen's full-sized avatar
🎯
Focusing

Alexey Volkov 9zigen

🎯
Focusing
View GitHub Profile
"""Module to handle quirks of the Alap CO2 Sensor.
manufacturer specific attributes to control displaying and specific configuration.
"""
import logging
import zigpy.profiles.zha as zha_p
from zigpy.quirks import CustomCluster, CustomDevice
from zigpy.zcl.clusters.homeautomation import Diagnostic
from zhaquirks import Bus, LocalDataCluster, QuickInitDevice
const {deviceEndpoints, numeric, onOff, commandsOnOff, binary, quirkAddEndpointCluster} = require('zigbee-herdsman-converters/lib/modernExtend');
const definition = {
zigbeeModel: ['alab.switch'],
model: 'alab.switch',
vendor: 'Alab',
description: 'Four channel relay board with four inputs',
extend: [
deviceEndpoints({
endpoints: {"l1":1,"l2":2,"l3":3,"l4":4,"in1":5,"in2":6,"in3":7,"in4":8}}
@9zigen
9zigen / alab-relay-board.js
Created November 25, 2023 21:42
inputs as switch
/* Custom converter for 4/8/12 channel zigbee switch */
const {
fromZigbeeConverters,
toZigbeeConverters,
exposes
} = require('zigbee-herdsman-converters');
const e = exposes.presets;
const ea = exposes.access;
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 ota = require('zigbee-herdsman-converters/lib/ota');
const {} = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
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 ota = require('zigbee-herdsman-converters/lib/ota');
const {} = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const {binary, temperature, humidity, numeric} = require('zigbee-herdsman-converters/lib/modernExtend');
const definition = {
zigbeeModel: ['Alab-CO2-1.0', 'Alab-CO2-1.1'],
model: 'Alab-CO2-1.1',
vendor: 'Alab',
description: '[Zigbee CO2 Sensor](https://www.tindie.com/products/a_lab_technology/zigbee-co2-sensor-v2/)',
extend: [
temperature(),
humidity(),
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 ota = require('zigbee-herdsman-converters/lib/ota');
const {} = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
#######################################################################
# CUSTOM NGINX CS-CART SETUP
# Simon Nicklin @SimonNjO
#######################################################################
#######################################################################
# A default configuration for domains and IP address.
#######################################################################
server {
@9zigen
9zigen / rpi3_iot_server.md
Created January 9, 2019 00:07 — forked from xoseperez/rpi3_iot_server.md
Raspberry Pi 3 with Mosquitto, Node-RED, InfluxDB, Grafana and Nginx (as a reverse proxy)
@9zigen
9zigen / ESP_Plasma.ino
Created July 19, 2018 23:54 — forked from AdySan/ESP_Plasma.ino
ESP8266/Arduino Plasma effect demo using esp8266-oled-ssd1306 library.
#include <Wire.h>
#include "SSD1306.h"
#define SET_BIT_HIGH(__mem, __x, __y) \
__mem[x + (y >> 3)*128] |= _BV( y - ((y >> 3) << 3) )
static const uint8_t sinustable[ 0x100 ] = {
0x80, 0x7d, 0x7a, 0x77, 0x74, 0x70, 0x6d, 0x6a,
0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52,
0x4f, 0x4d, 0x4a, 0x47, 0x44, 0x41, 0x3f, 0x3c,