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 :
 
			
