http://tinkerman.cat/rpi3_iot_server.pdf (Catalan)
- download the latest image
"""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}} |
/* 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 { |
http://tinkerman.cat/rpi3_iot_server.pdf (Catalan)
#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, |