kopia lustrzana https://github.com/martin-ger/esp_mqtt
51 wiersze
1.3 KiB
Plaintext
51 wiersze
1.3 KiB
Plaintext
% Timeclock example for using alarms
|
|
% Publish time values (format hh:mm:ss) on the "/timeclock/on_time" and "/timeclock/on_time" topics
|
|
% to the brocker and the build-in LED will switch at the given times.
|
|
|
|
% Config params, overwrite any previous settings from the commandline
|
|
config ntp_server 1.pool.ntp.org
|
|
config ntp_timezone 1
|
|
|
|
% Now the initialization, this is done once after booting
|
|
on init
|
|
do
|
|
% Command prefix
|
|
setvar $command_prefix = "/timeclock"
|
|
% Command topic
|
|
setvar $command_topic = $command_prefix | "/#"
|
|
|
|
% local subscriptions once in 'init'
|
|
subscribe local $command_topic
|
|
|
|
% Now the events, checked whenever something happens
|
|
|
|
% Is there a remote command?
|
|
on topic local $command_topic
|
|
do
|
|
if ($this_topic = $command_prefix | "/on-time") then
|
|
println "Received on command: " | $this_data
|
|
setalarm 1 $this_data
|
|
endif
|
|
|
|
if ($this_topic = $command_prefix | "/off-time") then
|
|
println "Received off command: " | $this_data
|
|
setalarm 2 $this_data
|
|
endif
|
|
|
|
if ($this_topic = $command_prefix | "/switch") then
|
|
println "Received switch command: " | $this_data
|
|
gpio_out 2 not($this_data)
|
|
endif
|
|
|
|
% Switch on
|
|
on alarm 1
|
|
do
|
|
println "Switch on at " | $timestamp
|
|
gpio_out 2 0
|
|
|
|
% Switch off
|
|
on alarm 2
|
|
do
|
|
println "Switch off at " | $timestamp
|
|
gpio_out 2 1
|