Zigbee – Installazione Chiavetta USB – Home Assistant
in questa guida vedremo come installare una chiavetta ZIGBEE nel nostro hassio.
Per prima cosa inseriamo la chiavetta coordinator ad una porta Usb del nostro RPI
Andiamo ora ad aggiungere il suo ADD-ON cercandolo dal menu SUPERVISOR / ADD-ON STORE e nella barra di ricerca digitiamo ZIGBEE
Installiamo quello di sinistra con la dicitura ZIGBEE2MQTT che è la versione stabile.
Una volta aperto l’add-on andiamo nella sua pagina di configurazione selezionandola in alto e configuriamo l’add-on come segue:
Qui il codice completo se usate una chiavetta cc2531:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
data_path: /share/zigbee2mqtt external_converters: [] devices: devices.yaml groups: groups.yaml homeassistant: true permit_join: false mqtt: base_topic: zigbee2mqtt server: 'mqtt://homeassistant' user: xxxxxxxx password: xxxxxxxxxxx serial: port: /dev/ttyACM0 disable_led: true advanced: pan_id: 6754 channel: 11 network_key: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 0 - 2 - 4 - 6 - 8 - 10 - 12 - 13 availability_blocklist: [] availability_passlist: [] device_options: {} blocklist: [] passlist: [] queue: {} frontend: port: 8099 experimental: new_api: true socat: enabled: false master: 'pty,raw,echo=0,link=/dev/ttyZ2M,mode=777' slave: 'tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5' restartdelay: 1 initialdelay: 1 options: '-d -d' log: false ban: [] whitelist: [] |
Se usate la nuova versione di Giovanni allora nella config dovete modificare alla voce PORT al posto di ttyACM0 mettete ttyUSB0.
Tuttavia se invece state usando la chiavetta CONBEE 2 nella configurazione in questo punto dovete mettere come segue:
1 2 3 |
serial: port: /dev/ttyACM0 adapter: deconz |
E togliere la riga: disable_led: true
USERNAME e PASSWORD che andremo a inserire nella config sono gli stessi usati per MOSQUITTO MQTT.
Fatto ciò salviamo e avviamo l’add-on.
Verifichiamo che il log non dia errori e che sia stato creato il file: configuration.yaml che troveremeo nel seguente percorso :
\\HASSIO\share\zigbee2mqtt\configuration.yaml
Dentro deve esserci tutto quello che avete inserito nella configurazione prima.
Ora dobbiamo creare un package per permettere ai dispositivi l’accoppiamento quindi creiamo il file: pkg_chiavetta_zigbee.yaml dentro la cartella package come da immagine
E al suo interno mettiamo quanto segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
mqtt: broker: core-mosquitto #homeassistant # This will have to be your mqtt broker discovery: true homeassistant: customize: script.update_mappa_zigbee: icon: mdi:graphql input_boolean: zigbee_permit_join: name: Allow devices to join initial: off icon: mdi:cellphone-wireless input_text: remove_sensor: name: "Sensore da Rimuovere" initial: "-" icon: mdi:textbox zigbee2mqtt_old_name: name: Zigbee2mqtt Old Name zigbee2mqtt_new_name: name: Zigbee2mqtt New Name zigbee2mqtt_remove: name: Zigbee2mqtt Remove zigbee2mqtt_update: name: Zigbee2mqtt Update input_select: zigbee2mqtt_log_level: name: Zigbee2mqtt Log Level options: - debug - info - warn - error initial: info icon: mdi:format-list-bulleted timer: zigbee_permit_join: name: Time remaining duration: 600 # Updated this to the number of seconds you wish sensor: - platform: mqtt name: Bridge state state_topic: "zigbee2mqtt/bridge/state" icon: mdi:router-wireless # Sensor for Showing the Zigbee2mqtt Version - platform: mqtt name: Zigbee2mqtt Version state_topic: "zigbee2mqtt/bridge/config" value_template: "{{ value_json.version }}" icon: mdi:zigbee # Sensor for Showing the Coordinator Version - platform: mqtt name: Coordinator Version state_topic: "zigbee2mqtt/bridge/config" value_template: "{{ value_json.coordinator }}" icon: mdi:chip switch: - platform: mqtt name: "Zigbee2mqtt Main join" state_topic: "zigbee2mqtt/bridge/config/permit_join" command_topic: "zigbee2mqtt/bridge/config/permit_join" payload_on: "true" payload_off: "false" automation: - id: zigbee_join_enabled alias: Zigbee Join Enabled trigger: platform: state entity_id: switch.zigbee2mqtt_main_join to: "on" action: service: timer.start entity_id: timer.zigbee_permit_join - id: zigbee_join_disabled alias: Zigbee Join Disabled trigger: - platform: event event_type: timer.finished event_data: entity_id: timer.zigbee_permit_join - platform: state entity_id: switch.zigbee2mqtt_main_join to: "off" action: - service: timer.cancel data: entity_id: timer.zigbee_permit_join - service: switch.turn_off entity_id: switch.zigbee2mqtt_main_join - id: disable_zigbee_join_timer alias: Disable Zigbee joining by timer initial_state: true trigger: - platform: event event_type: timer.finished event_data: entity_id: timer.zigbee_permit_join action: - service: mqtt.publish data: topic: zigbee2mqtt/bridge/config/permit_join payload: 'false' - service: input_boolean.turn_off data: entity_id: input_boolean.zigbee_permit_join - alias: "ZigBee restart" initial_state: true trigger: platform: homeassistant event: start action: - delay: '00:00:40' - service: hassio.addon_restart data: addon: "7ad98f9c_zigbee2mqtt" - alias: Zigbee2mqtt Log Level initial_state: "on" trigger: platform: state entity_id: input_select.zigbee2mqtt_log_level action: - service: mqtt.publish data: payload_template: "{{ states('input_select.zigbee2mqtt_log_level') }}" topic: zigbee2mqtt/bridge/config/log_level script: update_mappa_zigbee: alias: Aggiornamento Mappa Zigbee sequence: service: zigbee2mqtt_networkmap.update zigbee2mqtt_remove: alias: Zigbee2mqtt Remove sequence: service: mqtt.publish data_template: topic: zigbee2mqtt/bridge/config/remove payload_template: "{{ states.input_text.zigbee2mqtt_remove.state | string }}" zigbee2mqtt_rename: alias: Zigbee2mqtt Rename sequence: service: mqtt.publish data_template: topic: zigbee2mqtt/bridge/config/rename payload_template: >- { "old": "{{ states.input_text.zigbee2mqtt_old_name.state | string }}", "new": "{{ states.input_text.zigbee2mqtt_new_name.state | string }}" } zigbee2mqtt_update: alias: Zigbee2mqtt Update sequence: service: mqtt.publish data_template: topic: zigbee2mqtt/bridge/ota_update/update payload_template: "{{ states.input_text.zigbee2mqtt_update.state | string }}" |
Questo codice presuppone che quando avete installato MQTT abbiate abilitato la funzione DISCOVERY. Se cosi non fosse decommentate le prime tre righe.
Salviamo il tutto e controlliamo la configurazione da IMPOSTAZIONI / CONTROLLI DEL SERVER alla voce CONVALIDA LA CONFIGURAZIONE e riavviamo HA.
Andiamo ora a creare una card lovelace con le varie entià create inserendo il codice seguente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
entities: - entity: switch.zigbee2mqtt_main_join - entity: timer.zigbee_permit_join - entity: script.update_mappa_zigbee - type: divider - entity: sensor.bridge_state - entity: sensor.zigbee2mqtt_version - entity: sensor.coordinator_version - entity: input_select.zigbee2mqtt_log_level - type: divider - entity: input_text.zigbee2mqtt_old_name - entity: input_text.zigbee2mqtt_new_name - entity: script.zigbee2mqtt_rename - type: divider - entity: input_text.zigbee2mqtt_remove - entity: script.zigbee2mqtt_remove - type: divider - entity: input_text.zigbee2mqtt_update - entity: script.zigbee2mqtt_update show_header_toggle: false title: ZigBee type: entities |
La card sarà simile alla seguente :
Una volta creata la card Lovelace siamo pronti per accoppiare i nostri dispositivi ZIGBEE ad Home Assistant.
Per farlo dobbiamo per prima cosa andare nella card appena creata e premere/ attivare lo switch ALLOW DEVICE TO JOIN.
Poi aprire dal menu SUPERVISOR l’add-on ZIGBEE2MQTT e andare nella pagina del log
E da qui premete il tasto REFRESH mentre state provando ad accoppiare un dispositivo.
Il Pairing
Di norma per mettere in modalità PAIRING i dispositivi premete su di essi il tasto RESET per 5 secondi e il device emetterà 3 brevi lampeggi.
A questo punto rilasciare il tasto reset, attendete 2 o 3 lampeggi (circa 1/3 secondi) e premete e rilasciate subito il tasto RESET.
Il dispositivo dovrebbe quindi fare un breve lampeggio.
Ripetete questa ultima procedura della pressione veloce del tasto RESET e attesa del breve lampeggio per un pò di volte e nel frattempo premete il tasto REFRESH nel LOG dell’add-on per controllare se il dispositivo si è accoppiato.
Nel caso non fosse avvenuto l’accoppiamento ripetere l’operazione.
La modalità di accoppiamento indicata fa riferimento a sensori Xiaomi Aqara ed altri da noi testati ma può variare da dispositivo a dispositivo.
Avete domande? dubbi? perplessità?
seguite la discussione sul forum al seguente link :
Installazione chiavetta ZIGBEE
Interessato alla chiavetta Conbee II? Acquistala qui :