[2] With camera powered up, press reset for 30+ secs. Then power cycle Login "administrator" no pass. URL is http://ipaddr/img/video.mjpeg. From https://itbyfire.blogspot.com/2017/03/hacking-xfinitys-home-security-cameras.html
[5] Sometimes you need to truly remove battery and reconnect / power cycle to get ziggbee2mqtt+HA to see settings made on the thermostat manually.
/opt/zigbee2mqtt/data/configuration.yaml: ... external_converters: - cl3156105.js ... /opt/zigbee2mqtt/data# cat cl3156105.js 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 e = exposes.presets; const ea = exposes.access; const fzLocal = { centralite3156105: { cluster: 'hvacThermostat', type: ['raw'], convert: (model, msg, publish, options, meta) => { const result = {}; const dp = msg.data; meta.logger.debug(`Ricks centralite3156105: ${dp[2]} ${dp[5]} `); const lookupmode = {0:'off',1:'heat',2:'cool',}; const value = lookupmode[dp[5]]; return {system_mode: value}; }, }, }; const definition = { zigbeeModel: ['3156105'], model: '3156105', vendor: 'Centralite', description: 'Centralite HA,', fromZigbee: [fzLocal.centralite3156105, fz.battery, fz.thermostat, fz.fan, fz.ignore_time_read], toZigbee: [tz.factory_reset, tz.thermostat_local_temperature, tz.thermostat_local_temperature_calibration, tz.thermostat_occupied_heating_setpoint, tz.thermostat_occupied_cooling_setpoint, tz.thermostat_setpoint_raise_lower, tz.thermostat_remote_sensing, tz.thermostat_control_sequence_of_operation, tz.thermostat_system_mode, tz.thermostat_relay_status_log, tz.fan_mode, tz.thermostat_running_state, tz.thermostat_temperature_setpoint_hold ], exposes: [e.battery(), exposes.binary('temperature_setpoint_hold', ea.ALL, true, false) .withDescription('Prevent changes. `false` = run normally. `true` = prevent from making changes.'), exposes.climate().withSetpoint('occupied_heating_setpoint', 10, 30, 1).withLocalTemperature() .withSystemMode(['off', 'heat', 'cool', 'emergency_heating']) .withRunningState(['idle', 'heat', 'cool', 'fan_only']).withFanMode(['auto', 'on']) .withSetpoint('occupied_cooling_setpoint', 10, 30, 1) .withLocalTemperatureCalibration(-30, 30, 0.1)], meta: {battery: {voltageToPercentage: '3V_1500_2800'}}, configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'hvacThermostat', 'hvacFanCtrl']); await reporting.batteryVoltage(endpoint); await reporting.thermostatRunningState(endpoint); await reporting.thermostatTemperature(endpoint); await reporting.fanMode(endpoint); await reporting.thermostatTemperatureSetpointHold(endpoint); await reporting.thermostatOccupiedCoolingSetpoint(endpoint); await reporting.thermostatOccupiedHeatingSetpoint(endpoint); }, }; module.exports = definition;
[6] USB + careful antenna placement via low loss cable safer than remote serial. Tasmota sometimes reboots itself and has lost serial port config. No good if away from home. Wifi 2 zigbee (virt serial port) bridges are prone to errors in the link (tasmota+sonoff zbbridge). I noticed high traffic on a wifi link can drown out the low bw wifi2zigbee. Also need separate UPS for such a bridge for power outages. USB based /dev/ttyUSBx adapter gets power from already UPS'd server.
[8] No need for wifi half of unit. use power/setup dongle to keep it wired. Hold reset behind camera down for 10 sec. Then "adminstrator". URL http://ipaddr/img/video.mjpeg See excellent descripiton by https://itbyfire.blogspot.com/2017/03/hacking-xfinitys-home-security-cameras.html
[1]
#!/bin/bash if [ $# -lt 2 ]; then echo $0 uid cmd exit 0 fi mqttip="-h 127.0.0.1 -p 1883" uid=`echo "$1" | tr '[:upper:]' '[:lower:]'` name=`echo $1 | sed s/_/' '/g` xx="{\"name\": \"$name\", \"device_class\": \"door\", \"state_topic\": \"homeassistant/binary_sensor/$uid/state\", \"unique_id\":\"$uid\" }" #echo \'$xx\' #echo "$xx" if [ "$2" = "config" ]; then # need -r mosquitto_pub $mqttip -r -t "homeassistant/binary_sensor/$uid/config" -m "$xx" elif [ "$2" = "delete" ]; then mosquitto_pub $mqttip -t "homeassistant/binary_sensor/$uid/config" -m '' else mosquitto_pub $mqttip -t "homeassistant/binary_sensor/$uid/state" -m "$2" fi exit 0