devices.esphome.io
Zemismart Moonlamp
Zemismart Moonlamp
Device Type: lightElectrical Standard: globalBoard: esp8266
The moonlamp has both RGB and Cold / Warm white handled by three groups of three leds.
Manufacturer: Zemismart
The moonlamp is powered by USB, so no special regional plugs needed.
How to flash
Open
There are 3 screws securing the bottom to the 3D printed moon.
Unmount circuit from the box
5 more screws, securing the diffuser to the print, and the print to the socket.
Pins
There are pads for RX, TX, 3.3v, GND and I00 nicely marked on the board, ignore my mess with the solder, the GND is rather large and takes a lot of heat, and the solder I have at the moment is terrible, and I'm just waiting for something new to arrive.
REMEMBER to disconnect the battery and the USB power before flashing!!!!
There is only 1 MB on the onboard esp8266, so the code has every thing 'extra' removed to keep it small, and being able to do OTA. The WW and CW temperature values are unknown, so purely guesses. The CW/WW and colour LED's are mutually exclusive in the original firmware, probably to conserve power, this behaviour is kept in esphome.
Missing features: The original firmware claims to have touch control, so it will change colour when you tap the globe, I haven't had the luck to figure out how that is done. It seems to use slightly more power when running esphome than the original firmware (the included battery doesn't last as long).
Basic Config
substitutions: device_name: Moonlamp espname: moonlamp
esphome: name: "${espname}" platform: ESP8266 board: esp01-1m
wifi: ssid: !secret wifi_ssid password: !secret wifi_password reboot_timeout: 60min manual_ip: static_ip: 1.2.3.4 gateway: 10.2.3.1 subnet: 255.255.255.0 # use_address: 1.2.3.5 fast_connect: true # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "${device_name} Hotspot" password: !secret appw
logger: baud_rate: 0
api:
ota: password: !secret otapw
output: - platform: esp8266_pwm id: output_red pin: GPIO4 - platform: esp8266_pwm id: output_green pin: GPIO12 - platform: esp8266_pwm id: output_blue pin: GPIO14 - platform: esp8266_pwm id: output_warm_white pin: GPIO13 - platform: esp8266_pwm id: output_cold_white pin: GPIO5
light: - platform: rgbww name: "${espname}" id: "${device_name}" color_interlock: true red: output_red green: output_green blue: output_blue warm_white: output_warm_white cold_white: output_cold_white warm_white_color_temperature: 2800 K cold_white_color_temperature: 6200 K