This is an old revision of the document!
{tag>project}
Ceiling lights control
State as of 12017-01-01 (he)
- 6 Ceiling lights
- 4 neon lights
- 2 LED strip neon replacements
- 2 5-wire 230V cables connect the lights to a self-made relay box
- Each ceiling light
- shares Earth and N
- has it's separate L
- relay box contains
- 1x 4-channel opto-isolator relay 5V/230V , switchable with 3.3V IO, pull low to GND to switch
- 1x 2-channel opto-isolator relay 5V/230V , switchable with 3.3V IO, pull low to GND to switch
- Lasercut-Box with Light-Switches on wall
- offers 6 2-way up/down switches
- offers 3 push-buttons
- --> 15 buttons
- contains Teensy 3.0 µC (??)
- contains RF433 transmitter
- Teensy µC
- reads 15 buttons
- controls RF433 tx
- has 6 unused gpio prepared to switch ceiling light directly
- firmware takes rf433 cmds on
/dev/ttyACM0
- firmware reports buttons and takes gpio-to-set-states on
/dev/ttyACM1
- firmware also switches currently unconnected gpio directly
- Relay-Box is connected to RaspberryPi1's GPIOS running as licht.realraum.at
- 5V to VDD
- 3V3 to VCC
- gpio4, gpio23, gpio18, gpio17, gpio22, gpio21
- RaspberryPi1
- installed in carton box on shelf above passage
- powered by USB-Multi-Charger
- runs golightctrl
- switches ceiling lights via GPIO
- which provides Webserver to switch lights
- reads Buttons from teensy
- knows ceiling light states from GPIO
- sends RF433 cmds directly via teensy or sends request to send to arduino on mursat shelf via MQTT
Current Problems
- if raspberryPi1 dies or has problems, light can not be switched
- teensy Firmware logic for gpios LOW == ON needs to be changed
- switching ceiling light power on/off is probably incompatible with planned change of installing ESP8266 based H801 for each light
Project CeilingLight on Steroids
Project Switches as Robust Fallback
TODO: 1. connect Relay directly to Teensy µC 2. change firmware to switch LOW for light-on 3. change firmware to have 2 Modes * Direct-Mode: µC directly switches ceiling lights on button-presses and reports current state to golightctrl * Indirect-Mode: µC only reports button presses, does not directly switch ceiling lights, golightctrl tells µC which ceiling light to switch 4. have firmware automatically switch back to Direct-Mode * if ttyACM gets closed * golightctrl fails to send SwitchToDirectMode-Cmd after 60s 5. change golightctrl to * periodically send SwitchToDirectMode-Cmd * switch power of ceiling lights via µC * know ceiling light state from µC * send MQTT cmd to H801 to switch ceiling light off instead of cutting power (because faster and less weird when switching on again) * only cut power to ceiling lights when presence==false or people hit off-switch/webbutton multiple times or H801 MQTT keepalive times out or MQTT msg could not be delivered