J’installe une Nabu Casa Skyconnect sur une Nabu Casa Green

Mon objectif

J’apprécie le travail propre de Nabu Casa et c’est l’occasion de leur rendre hommage en installant la SkyConnect sur leur Green Box

Je découvre la SkyConnect

La clé est vraiment minuscule, la plus petite que j’ai utilisée.

Je consulte la documentation

Le seul papier fourni avec la clé est une information proposant de consulter le site :

J’ai consulté ce lien, les informations sont très claires et très intéressantes.

Seul souci, la totalité des explications pousse à une bascule vers ZHA (qu’on vienne de Zigbee2MQTT ou de Deconz). Je ne vais donc pas suivre ces explications, je compte rester sur Zigbee2MQTT.

Je trouve caché dans les FAQ une page qui peut m’intéresser :

Je suis déçu de lire ce peu d’ouverture de Nabu Casa mais c’est aussi un business :

The Home Assistant team officially supports ZHA (Zigbee Home Automation), the Zigbee stack integrated into Home Assistant Core.

The Zigbee2MQTT project has experimental support (in beta stage) for the Silicon Labs radio on Home Assistant SkyConnect. With this setting, Zigbee2MQTT is known to work on Home Assistant SkyConnect.

Je connecte la SkyConnect

C’est parti, au bout de sa rallonge USB fournie, je connecte la SkyConnect.

J’ai une notification qui m’informe que des équipements sont découverts, je trouve ceci :

Je clique sur configuré et là, je vous avoue que le message me laisse sans voix :

Heureusement que le message est en français car je ne comprends pas tous les mots. Pour moi la clé Skyconnect est un coordinateur Zigbee, par contre, un routeur de bordure Thread, c’est la première fois que j’en entends parlé, je questionne ChatGPT et sa réponse ne m’explique pas plus. J’en déduis que c’est bien d’un coordinateur Zigbee dont j’ai besoin.

Je choisis donc Zigbee.

Le cadre de la SkyConnect à changé :

Le logo Zigbee a remplacé le logo de la SkyConnect. Et ZHA a apparu également. Je ne veux pas l’utiliser, je regarde comment m’en sortir pour le supprimer ou le désactiver. Dans la doc, Nabu Casa a écrit :  If you are using Zigbee2MQTT, remember to delete and ignore the discovered Zigbee Home Automation integration to avoid interference.

J’appuie donc sur le bouton Ignorer.

Toute trace de ZHA a disparu à l’écran, je n’ai rien supprimé, juste ignoré, je verrai par la suite si une manipulation complémentaire pour éviter le conflit Zigbee2MQTT/ZHA.

J’installe Zigbee2MQTT sur la NC Green.

Je dois avoir un user mqtt 

Je vais créer un utilisateur mqtt, password mqtt qui ne peut se connecter que sur le réseau local et qui est administrateur.

 

Je dois installer Zigbee2MQTT

Je vais dans paramètres / Modules complémentaires / Boutique / … en haut à droite / Dépôts / https://github.com/zigbee2mqtt/hassio-zigbee2mqtt / Ajouter

F5 pour actualiser l’écran, cette nouvelle ligne apparait :

Je clique sur le premier cadre Zigbee2MQTT et je clique sur Installer.

J’appuie sur Démarrer et je coche les options, Zigbee2MQTT apparait dans la barre de gauche.

Je dois installer le broker Mosquitto

Je clique sur Installer puis je le Démarre.

Je configure Mosquitto

Dans l’onglet configuration, j’ajoute les informations du login et j’enregistre.

Je configure Zigbee2MQTT

Dans la section MQTT, j’ajoute :

base_topic: zigbee2mqtt
server: mqtt://core-mosquitto
user: mqtt
password: mqtt

Je dois trouver le port de la SkyConnect.

Je vais dans Paramètre / Système / Hardware / Tout le matériel et tout en bas, je trouve la clé USB sur son port :

 

Dans la section Serial, j’ajoute :

serial:
  adapter: ezsp
  port: /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_38c38b1c7bd8ed11a33c786162c613ac-if00-port0
  baudrate: 115200
  rtscts: true

Je vois passer ce warning :

warning: zh:ezsp: Deprecated driver ‘ezsp’ currently in use, ’ember’ will become the officially supported EmberZNet driver in next release. If using Zigbee2MQTT see https://github.com/Koenkk/zigbee2mqtt/discussions/21462

Mais quand je remplace ezsp par ember, le daemon ne démarre pas, je garde donc ezsp pour l’instant.

Je vérifie les logs

Je vérifie les logs de Mosquito et de Zigbee2MQTt, tout va bien.

Le broker MQTT est trouvé

Voila, tout est bon, on a Zigbee2MQTT, Mosquito et le Broker MQTT, parfait !

Je mets à jour la SkyConnect (facultatif)

Pour tenter de pouvoir fonctionner avec ember et non plus ezsp, je tente de mettre à jour le Firmware.

Je suis obligé de prendre un navigateur qui gère les ports séries tel que Chrome ou Edge.

Je vais sur https://skyconnect.home-assistant.io/firmware-update/

Pour que la clé soit détectée, sur W10, je dois installer le driver Silicon Labs CP2102 driver.

Je constate que ember ne fonctionne pas, je repasse donc sur ezsp.

Je lance l’interface de Zigbee2MQTT

Zigbee2MQTT est parfaitement configuré et fonctionne !

 

 

 

 

 

 

 

 

 

J’installe Vaultwarden (Bitwarden) sur mon NAS Synology

Mon objectif

J’utilise depuis des mois KeepassXC, il fonctionne parfaitement, j’avais fait un Retex sur cela. Je mets en place mon gestionnaire de mots de passe sur tous mes ordinateurs et smartphone

Je rencontre une difficulté avec Keepass, c’est le partage des mots de passe. Certains mots de passe sont à partager entre ma femme et moi, cela n’est pas possible avec Keepass. Nous utilisons une base chacun car nous avons deux modes d’authentification pour ouvrir la base.

Je cherche donc une solution et Bitwarden le propose, on peut créer une “organisation” qui correspond à la famille et on peut avoir des mots de passe propres à chacun ou des mots de passe partagés. Parfait, c’est ce que je recherche.

Je vais donc installer Vaultwarden sur mon NAS Synology dans un docker de Container Manager. Configurer un nom de domaine pour cela, lui donner un certificat pour exploiter le https, choisir un port autre que 443 pour sécuriser un peu plus. Configurer mon routeur avec les redirections de ports puis configurer Vaultwarden, lui permettre d’envoyer des mails et de sécuriser l’utilisation avec une Yubikey et une authentification Microsoft Athentificator (TOTP)…. feu… Lire la suite

Aide mémoire Test de cartes Home Assistant

Mon objectif

Cette page me sert d’aide-mémoire mais peut être utile à d’autres.

Je voudrais tester des modifications sur des cartes Home Assistant, afin de proposer des améliorations aux développeurs.

Dans cette page, je vais modifier une carte de la série des cartes de Pronote de delphiki.

Organisation des fichiers sur Home Assistant

Les cartes sont des scripts JavaScript qui sont en principe enregistrés dans /homeassistant/www/community

Dans ces dossiers, on retrouve le fichier JS et sa version compactée en GZ.

Organisation des fichiers sur GitHub

Je prends donc l’exemple du dépôt des cartes Pronote.

Les fichiers sources des cartes sont dans lovelace-xx/src/cards.

Je récupère un fichier JS de carte et je le place sur mon HA

Dans mon exemple du jour, je vais récupérer la carte absences-card.js et je la place dans le dossier /homeassistant/www/community/lovelace-pronote/cards de mon HA.

Je dois déclarer cette carte comme Ressource dans HA

Dans Paramètres / Tableaux de bord / Ressources (3 points en haut à droite), je clique sur

J’ajoute donc mon fichier JS : /hacsfiles/lovelace-pronote/cards/absences-card.js

C’est terminé, à ce stade, la carte fonctionnera sur le Dashboard.

Je me suis demandé s’il fallait retirer la carte pronote.js des ressources pour tester la nouvelle carte, afin d’éviter un doublon de déclaration. Visiblement non, c’est la nouvelle qui est prise en compte. J’ignore comment HA gère la priorité des codes JS, je complèterai ce paragraphe si j’arrive à comprendre.

Je teste une carte absences sur le Dashboard

type: custom:pronote-absences-card
entity: sensor.pronote_xx_coralie_absences
display_header: true
child_name: Coralie

Cela fonctionne :

Je fais un test de modification

Je fais un test de modification pour vérifier que mon code absences-card.js est bien celui qui génère la carte.

J’édite le fichier absences-card.js et je vais changer la ligne

<ha-icon icon="mdi:check"></ha-icon>

par la ligne

<ha-icon icon="mdi:account-school-outline"></ha-icon>

pour changer la coche d’absence.

Important !!!! Il faut actualiser le fichier JS qui est en cache dans le navigateur, il faut donc l’ouvrir et faire un petit F5.

Donc dans une autre fenêtre du navigateur, j’ouvre le fichier :

http://homeassistant.local:8123/hacsfiles/lovelace-pronote/cards/absences-card.js

Je reviens sur mon onglet Pronote et j’actualise la page, la coche a bien changé :

Je peux ainsi modifier le code

À ce stade, je peux donc modifier le code du fichier JS qui génère la carte.

Ainsi, si je peux proposer aux développeurs des améliorations, au lieu de jouer au …

Toute ressemblance avec des personnes existantes ou ayant existé est purement fortuite et non intentionnelle. 🥳

 

Je voudrais recevoir une notification sur mon téléphone quand on sonne au portail

Mon objectif

Je voudrais que Home Assistant m’envoie sur mon téléphone la photo de la caméra qui filme l’entrée de ma maison quand quelqu’un sonne au portail.

Mes prérequis

Evidemment, pour réaliser cela, il y a plusieurs prérequis nécessaires :

  • L’intégration SIP-HASS puisque mon portier est en SIP, je vais donc l’utiliser pour détecter le changement d’état de la ligne Portier.
  • L’intégration MJPEG IP Camera qui récupère mes flux de caméras mais toute autre intégration caméra fonctionnera.
  • L’intégration PushOver que j’utilise depuis très longtemps et qui est ma messagerie instantanée dédiée à la domotique mais toute autre intégration de notification devrait fonctionner.

Je vérifie comment avoir un instantané de la caméra.

Pour envoyer l’image de la caméra via PushOver, je dois l’avoir sur un fichier jpg local, idéalement, je la range bien. Je teste donc le service camera.snapshot

service: camera.snapshot
data:
  filename: /media/cameras/voitures/last.jpg
target:
  entity_id: camera.camera_voitures

La caméra qui affiche la vue de la sonnette est la camera_voitures. J’ai été surpris par la simplicité pour créer un dossier cameras puis voitures dans média ! C’est Ha qui a tout géré, je n’ai rien eu à déclarer, le premier lancement de ce service a créé les dossiers et réalisé le snapshot !

Je réalise mon Automatisation

alias: On sonne au Portier
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.100_state
    from: null
    to: In use
condition: []
action:
  - service: camera.snapshot
    data:
      filename: /media/cameras/voitures/last.jpg
    target:
      entity_id: camera.camera_voitures
  - service: notify.information
    data:
      message: On sonne au portier
      title: On sonne au portier
      data:
        sound: tugboat
        attachment: /media/cameras/voitures/last.jpg
mode: single

Cette automatisation est déclenchée quand l’entité sensor.100_state qui correspond à la ligne 100 SIP, c’est à dire mon portier, passe à “In use”, c’est à dire est utilisée.

Dans un premier temps, il faut générer le snapshot puis on envoie la notification “information” qui est programmée dans PushOver.

Je teste le résultat

Je sonne au portail et je reçois instantanément un message m’informant qu’on a sonné au portail et une photo.

Je veux sensibiliser au danger des clés USB inconnues

Mon objectif

Dans le contexte de formations aux utilisateurs informatiques, il est crucial de les sensibiliser aux risques liés à l’utilisation de clés USB inconnues.

Pour marquer les esprits, une démonstration pratique est souvent plus efficace qu’un simple discours. C’est pourquoi je souhaite me procurer une clé USB capable de simuler des dommages sur un ordinateur, afin de montrer concrètement les dangers encourus.

Les Rubber Ducky sont des clés USB utilisées par les pirates informatiques, mais leur coût est souvent prohibitif. Je cherche donc une solution plus économique pour créer cet outil de sensibilisation.

En somme, je souhaite trouver une alternative abordable aux Rubber Ducky pour sensibiliser les utilisateurs aux risques liés à l’utilisation de clés USB inconnues, en utilisant une clé USB capable de simuler des dommages sur un ordinateur. Lire la suite