29 lines
921 B
Nix
29 lines
921 B
Nix
|
let
|
||
|
tasmota_pwm = name: topic: pwmid: max:
|
||
|
let
|
||
|
id = "PWM${toString pwmid}";
|
||
|
in { platform = "mqtt";
|
||
|
inherit name;
|
||
|
state_topic = "/bam/${topic}/stat/RESULT";
|
||
|
state_value_template = ''{%- if value_json["PWM"]["${id}"]| int > 0 -%} ${toString max} {%- else -%} 0 {%- endif -%}'';
|
||
|
|
||
|
command_topic = "/bam/${topic}/cmnd/${id}";
|
||
|
on_command_type = "brightness";
|
||
|
brightness_command_topic = "/bam/${topic}/cmnd/${id}";
|
||
|
brightness_value_template = ''{{value_json["PWM"]["${id}"]}}'';
|
||
|
brightness_scale = max;
|
||
|
payload_on = "${toString max}";
|
||
|
payload_off = "0";
|
||
|
availability_topic = "/bam/${topic}/tele/LWT";
|
||
|
payload_available= "Online";
|
||
|
payload_not_available= "Offline";
|
||
|
retain = true;
|
||
|
optimistic = false;
|
||
|
qos = 0;
|
||
|
};
|
||
|
in
|
||
|
[
|
||
|
# (tasmota_pwm "RedButton LED" "redbutton" 1 1023) #LED PWM1
|
||
|
(tasmota_pwm "RedButton Buzzer" "redbutton" 2 512) #buzzer PWM2
|
||
|
]
|