--- tags: Home Assistant --- # Part 5 - Configuration Automations in Home Assistant for MQTT publishing by scanning the QR code ##### `Home Assistant` `zewelor/bt-mqtt-gateway` `QR code scanner` `MQTT Tag Scanner` > [name=Mr. Akashic] [time=Sat, Jun 29, 2021] ## Implementation ### 設定 Configuration > Tags。  下圖選擇一個QR code (optionA)做自動化任務的設定後,就預設了一個Trigger的事件,就是設定自動化任務的QR code (optionA)被讀取後,就觸發設定的自動化任務。  下圖綠色的方框用來說明該自動化的內容,黃色的方框**Trigger type**屬性選擇<span class="dark_orange">MQTT</span>,**Topic**欄位填入<span class="dark_orange">nteumm/tag_scanned</span>,這表示當收到<span class="dark_orange">nteumm/tag_scanned</span>這個MQTT Topic傳來的訊息就觸發自動化任務,因此可以藉由<span class="dark_orange">nteumm/tag_scanned</span>這個MQTT Topic來判斷是哪一支QR code掃描器讀取QR code的。  :::warning :warning: **提醒:** <span class="dark_orange">nteumm/tag_scanned</span>這個MQTT Topic的設定在[Part 4](https://hackmd.io/@JGoK5hXkSQuAC32KMw8hHw/B1yor6Yid)文章的Implementation段落的第7點設定的。 ::: 下圖的Conditions在本篇文章範例不需做設定。Actions的**Action type**選擇<span class="dark_orange">Call service</span>;**Service**欄位選擇<span class="dark_orange">MQTT:Publish</span>;**Topic**欄位自訂(本篇文章為<span class="dark_orange">kebbiair/NB002/tag_id</span>);**Payload**欄位自訂(本篇文章為<span class="dark_orange">optionA</span>),完成後按SAVE。  以上就完成本篇紀錄Home Assistant的自動化任務的設定。 ### 修改 Configuration > Automations。  選擇要修改的自動化任務,進行修改,完成後按SAVE。  ## Introduction 在[Part 4](https://hackmd.io/@JGoK5hXkSQuAC32KMw8hHw/B1yor6Yid)的文章中完成了Home Assistant與QR code掃描器的連接。接著,本篇文章紀錄如何使用Home Assistant的Automations功能,承接[Part 4](https://hackmd.io/@JGoK5hXkSQuAC32KMw8hHw/B1yor6Yid)的範例做示範,在當QR code掃描器讀取QR code後,會傳送MQTT的訊息。 Home Assistant在自動化功能的設定上主要是三個部分: * Triggers - 瞬間發生的事件。 * Conditions (optional) - 持續發生的事件。 * Actions - 自動要執行的任務。 這三個的執行順序是當Triggers的事件發生了,檢查是否滿足Conditions,若符合Conditions則執行Actions;反之。 ## Acknowledgements [Understanding Automations](https://www.home-assistant.io/docs/automation/basics/) <style> .dark_orange { color: #FF8C00; background:#F6F6F6; border-radius:4px; padding-right:6px; padding-left:6px; } .sub_title { font-size: 25px; } .blockquote { background:#F6F6F6; } </style>
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up