Podle šablony z Tasmota repozitáře šablon se mi podařilo do zařízení nahrát Tasmotu do které jsem vložil šablonu která už obsahuje i příkazy nastavení, ale pozor, ta na stránkách k dnešnímu dni obsahuje chybu. Použijte proto tuto následující (musel jsem ji použít dvakrát, nevím proč, ale na poprvé nezabrala).
Kód: Vybrat vše
{"NAME":"YX-088","GPIO":[0,2272,0,2304,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":54,"CMND":"TuyaMCU 11,1|TuyaMCU 61,2|TuyaMCU 62,3|TuyaMCU 12,5|TuyaMCU 63,6|TuyaMCU 21,7|TuyaMCU 24,8|TuyaRGB 3|DimmerRange 1,255|TuyaEnumList 1,2|TuyaEnumList 2,2|TuyaEnumList 3,1"}
Kód: Vybrat vše
Rule1
on power1#state=0 do publish stat/aroma_difuzer/fanmode none endon
on tuyareceived#dptype5id9 do publish stat/aroma_difuzer/error %value% endon
on tuyareceived#dptype4id2==0 do publish stat/aroma_difuzer/fanmode medium endon
on tuyareceived#dptype4id2==1 do publish stat/aroma_difuzer/fanmode low endon
on tuyareceived#dptype4id2==2 do publish stat/aroma_difuzer/fanmode high endon
on tuyareceived#dptype4id3==0 do publish stat/aroma_difuzer/timer 2h timer endon
on tuyareceived#dptype4id3==1 do publish stat/aroma_difuzer/timer 4h timer endon
on tuyareceived#dptype4id3==2 do publish stat/aroma_difuzer/timer timer off endon
on tuyareceived#dptype4id6==0 do publish stat/aroma_difuzer/colormode solid endon
on tuyareceived#dptype4id6==1 do publish stat/aroma_difuzer/colormode cycle endon
on event#fanmode==-1 do power1 0 endon
on event#fanmode!=-1 do backlog power1 1; tuyaenum1 %value% endon
on event#solid do tuyaenum3 0 endon
on event#cycle do tuyaenum3 1 endon
Nyní je nutné do konzole zadat příkaz pro spuštění pravidla Rule1, což jsem nevěděl a docela dlouho se trápil.
Takže do konzole:
Kód: Vybrat vše
Rule1 1
Kód: Vybrat vše
Backlog WebButton1 Ventilátor; WebButton2 Osvětlení; FriendlyName1 Difuzér ventilátor; FriendlyName2 Difuzér osvětlení
Na řadě je konfigurace Home Assistenta. V té jsem opět přepsal topic mqtt a po chybových hláškách jsem opravil dva řádky (17 else if na elif) a (72 payload_not_avail na payload_not_available)
Kód: Vybrat vše
fan:
- platform: mqtt
name: "Difuzér"
icon: "mdi:smoke"
state_topic: "stat/aroma_difuzer/RESULT"
state_value_template: "{% if value_json.POWER1 is defined %}{{ value_json.POWER1 }}{% endif%}"
command_topic: "cmnd/aroma_difuzer/POWER1"
preset_modes:
- "2h timer"
- "4h timer"
- "timer off"
preset_mode_state_topic: "stat/aroma_difuzer/timer"
preset_mode_command_topic: "cmnd/aroma_difuzer/tuyaenum2"
preset_mode_command_template: >-
{% if value == "2h timer" %}
{{ 0 }}
{% elif value == "4h timer" %}
{{ 1 }}
{% else %}
{{ 2 }}
{% endif %}
percentage_state_topic: "stat/aroma_difuzer/fanmode"
percentage_value_template: >-
{% if value == "low" %}
{{ 1 }}
{% elif value == "medium" %}
{{ 2 }}
{% elif value == "high" %}
{{ 3 }}
{% else %}
{{ 0 }}
{% endif %}
percentage_command_topic: "cmnd/aroma_difuzer/event"
percentage_command_template: >-
{% if value == 1 %}
{{ 'fanmode=1' }}
{% elif value == 2 %}
{{ 'fanmode=0' }}
{% elif value == 3 %}
{{ 'fanmode=2' }}
{% else %}
{{ 'fanmode=-1' }}
{% endif %}
speed_range_max: 3
availability_topic: "tele/aroma_difuzer/LWT"
payload_available: "Online"
payload_not_available: "Offline"
unique_id: "fan-diffuser"
select:
- platform: mqtt
name: "Diffuser Color Mode"
command_topic: "cmnd/aroma_difuzer/event"
state_topic: "stat/aroma_difuzer/colormode"
options:
- "solid"
- "cycle"
availability:
- payload_available: "Online"
payload_not_available: "Offline"
topic: "tele/aroma_difuzer/LWT"
unique_id: "select-livingroom-diffueser-color-mode"
binary_sensor:
- platform: mqtt
name: "Difuser Error"
state_topic: "stat/aroma_difuzer/error"
value_template: "{{ 'ON' if value != '0X00' else 'OFF' }}"
device_class: problem
availability_topic: "tele/aroma_difuzer/LWT"
payload_available: "Online"
payload_not_available: "Offline"
unique_id: "binary-diffueser-error"
Nyní tedy postup o 99% ve funkčosti. Ještě tam ale vidím malinkou chybičku, ale snad na ní přijdu.
Každopádně takto je Aroma Difuzér zcela funkční.
Po přidání doplňků:
light-entity-card
fan-percent-button-row
fan-mode-button-row
timer-bar-card
můžete vytvořit kartu v lovelaci:
Kód: Vybrat vše
type: vertical-stack
cards:
- shorten_cards: false
consolidate_entities: false
child_card: false
hide_header: false
header: LED efekty Aroma Difuzér
color_wheel: true
persist_features: true
brightness: true
color_temp: true
white_value: true
color_picker: true
smooth_color_wheel: false
speed: true
intensity: true
force_features: false
show_slider_percent: false
full_width_sliders: false
brightness_icon: weather-sunny
white_icon: file-word-box
temperature_icon: thermometer
speed_icon: speedometer
intensity_icon: transit-connection-horizontal
type: custom:light-entity-card
entity: light.led_rgb
effects_list: true
- type: custom:fan-percent-button-row
entity: fan.difuzer
name: Aroma
reverseButtons: true
customTheme: true
isOnLowColor: rgb(204, 255, 153)
isOnMedColor: rgb(51, 255, 51)
isOnHiColor: rgb(0, 53, 0)
buttonInactiveColor: '#202020'
isOffColor: RED
customHiText: SILNÉ
customLowText: SLABÉ
customMedText: STŘEDNÍ
customOffText: 'OFF'
width: 55px
height: 45px
- type: custom:fan-mode-button-row
entity: fan.difuzer
name: Časovač
twoModeFan: false
reverseButtons: true
customTheme: true
isOnModeOneColor: '#FF99FF'
isOnModeTwoColor: '#FF33FF'
isOnModeThreeColor: '#CC00CC'
buttonInactiveColor: '#202020'
isOffColor: red
customModes: true
modeOff: 'OFF'
modeOne: 2h timer
modeTwo: 4h timer
modeThree: timer off
customText: true
customOffText: 'OFF'
customModeOneText: 2 HOD
customModeTwoText: 4 HOD
customModeThreeText: ∞ HOD
width: 55px
height: 45px
- type: entity-filter
entities:
- entity: timer.difuzer_2h_timer
name: 2 hodiny
- entity: timer.difuzer_4h_timer
name: 4 hodiny
state_filter:
- active
card:
type: custom:timer-bar-card
entities:
- entity: timer.difuzer_2h_timer
name: Aroma 2 hodiny
- entity: timer.difuzer_4h_timer
name: 4 hodiny
bar_direction: rtl
bar_foreground: '#eee'
bar_background: 'var(--mdc-theme-primary, #6200ee)'
[spoiler=Důsledek nezapnuté Rule1]Co mi ale nefunguje je využití atributů pro intenzitu, atributů pro světelné efekty a výběr select-solid a select-cycle.
Dokážu zapnout časovač na 2 i 4 hodiny a vypnout jej, dokážu rozsvítit osvětlení a zvolit barvu (uvedené efekty ale bohužel).
Dokáže mi někdo poradit, co jsem zvojtil nebo přehlédl?
Možná to ani více neumí...
Přidám jeden základní flow do Node Red které s tím umí zacházet:
Kód: Vybrat vše
[{"id":"8e85bb987201447b","type":"mqtt out","z":"2ff8cc01d29dd0bd","name":"","topic":"cmnd/aroma_difuzer/POWER1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d167a8c.417f84","x":530,"y":100,"wires":[]},{"id":"fa1841213fb6ce42","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér ON aroma","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"on","payloadType":"str","x":210,"y":100,"wires":[["8e85bb987201447b"]]},{"id":"7156571b02b3f3bc","type":"mqtt out","z":"2ff8cc01d29dd0bd","name":"","topic":"cmnd/aroma_difuzer/TuyaEnum2","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d167a8c.417f84","x":540,"y":340,"wires":[]},{"id":"9b926076637930ba","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér Off aroma","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"off","payloadType":"str","x":210,"y":160,"wires":[["8e85bb987201447b"]]},{"id":"97bf46a54b6e0fce","type":"mqtt out","z":"2ff8cc01d29dd0bd","name":"","topic":"cmnd/aroma_difuzer/POWER2","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d167a8c.417f84","x":530,"y":220,"wires":[]},{"id":"6ba25b08e02d4fe2","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér ON osvětlení","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"on","payloadType":"str","x":210,"y":220,"wires":[["97bf46a54b6e0fce"]]},{"id":"a7e5012f19380eb4","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér Off osvětlení","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"off","payloadType":"str","x":210,"y":280,"wires":[["97bf46a54b6e0fce"]]},{"id":"c8c3ced247218b40","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér 2 hodiny aroma","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":220,"y":340,"wires":[["7156571b02b3f3bc"]]},{"id":"9153ee98c70212ed","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér 4 hodiny aroma","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":220,"y":400,"wires":[["7156571b02b3f3bc"]]},{"id":"48924a086f37d65c","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér časovač off","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"2","payloadType":"num","x":210,"y":460,"wires":[["7156571b02b3f3bc"]]},{"id":"f2ead6d2865380c1","type":"mqtt out","z":"2ff8cc01d29dd0bd","name":"","topic":"cmnd/aroma_difuzer/event","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d167a8c.417f84","x":520,"y":520,"wires":[]},{"id":"e8fa93277263607c","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér aroma málo","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"fanmode=1","payloadType":"str","x":210,"y":520,"wires":[["f2ead6d2865380c1"]]},{"id":"9881eeccc4e99203","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér aroma středně","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"fanmode=0","payloadType":"str","x":220,"y":580,"wires":[["f2ead6d2865380c1"]]},{"id":"5d5270a2366a1d4d","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér aroma silně","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"fanmode=2","payloadType":"str","x":210,"y":640,"wires":[["f2ead6d2865380c1"]]},{"id":"84fb2c48887f165c","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér aroma","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"fanmode=-1","payloadType":"str","x":190,"y":700,"wires":[["f2ead6d2865380c1"]]},{"id":"ee7b1f983cfe229f","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér světlo režim solid","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"solid","payloadType":"str","x":230,"y":760,"wires":[["4e457c2278ef1e3b"]]},{"id":"249659bc966faf9b","type":"inject","z":"2ff8cc01d29dd0bd","name":"Difuzér světlo režim cycle","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"\"cycle\"","payloadType":"str","x":230,"y":820,"wires":[["4e457c2278ef1e3b"]]},{"id":"4e457c2278ef1e3b","type":"mqtt out","z":"2ff8cc01d29dd0bd","name":"","topic":"cmnd/aroma_difuzer/event","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d167a8c.417f84","x":540,"y":760,"wires":[]},{"id":"4d167a8c.417f84","type":"mqtt-broker","name":"","broker":"192.168.1.200","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
EDIT2:
Přidávám package soubor obsahující vše potřebné k provozu Aroma Difuzéru.
Vytvoří několik pomocníků, nakonfiguruje HA, vloží automazaci k ovládání AD.
Zařízení bude Ihned funkční pokud v tasmotě zařízení nastavíte Topic takto:
Kód: Vybrat vše
aroma_difuzer
Light Entity Card
doinstalujte jej.
[/spoiler]