Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:domotique:server_v2 [2025/02/10 17:37] – supprimée - modification externe (Date inconnue) 127.0.0.1 | fr:domotique:server_v2 [2025/02/15 15:23] (Version actuelle) – [Mise à jour] kodein | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Grande migration ====== | ||
+ | Le Lenovo étant un peu bruyant dans le salon (oui, je suis chiant et j' | ||
+ | |||
+ | ===== Le problème des SD ===== | ||
+ | |||
+ | Le raspberry tourne sur une carte SD, OpenHab écrit énormément de données de log etc. Le risque est de tuer la carte SD très rapidement. De plus, je voudrais pouvoir utiliser le rapberry pi pour d' | ||
+ | ==== Berryboot ==== | ||
+ | C' | ||
+ | |||
+ | Donc, un DL, une installation de raspbian et quelques tests plus tard, tout se passe bien. Le transfert de la config d'une install à l' | ||
+ | <gallery lightbox& | ||
+ | |||
+ | ==== ENCORE DU BRUIT AAAARGH ==== | ||
+ | Par contre le ventilateur de 30mm de côté installé dans le boitier, n'est pas très efficace malgré le bruit qu'il génère. Même sous volté à 3.3V, le bruit dans la maison calme est tellement insupportable que je craque et commande un radiateur passif. Autant en profiter et ajouter un capteur Aqara de température, | ||
+ | |||
+ | Après installation du radiateur passif, je remarque que le CPU tourne à des t° moins élevées sans aucun bruit et même si la carte semble moins protégée des éléments extérieurs, | ||
+ | |||
+ | Le capteur Aqara est une plaie à appairer dans un réseau ZigBee (parce que le capteur ne respecte pas à 100% la norme ZigBee), mais ça fini par passer et les valeurs sont remontées au serveur. Pour réussir à appairer " | ||
+ | |||
+ | ====== Création de Règles ====== | ||
+ | |||
+ | J'ai fait le choix d' | ||
+ | |||
+ | ==== Première tentative ==== | ||
+ | |||
+ | Créons une gestion de " | ||
+ | * Créer un item de type string dans Paper UI qui servira de trigger. | ||
+ | * Dans HabPanel, créer un widget de type sélection avec comme valeurs Eteint, TV et Lecture. | ||
+ | * créer un fichier .rules dans le dossier dédié d' | ||
+ | * programmer ! | ||
+ | |||
+ | ==== Code ==== | ||
+ | |||
+ | rule "Salon scenes" | ||
+ | when // Zone de définition du trigger | ||
+ | Item sSceneSalon changed // Détection de changement de valeur | ||
+ | then | ||
+ | // Ici se trouve le code exécuté lorsque le trigger est déclenché | ||
+ | // J' | ||
+ | switch sSceneSalon.state { | ||
+ | case " | ||
+ | logDebug(" | ||
+ | // pour chaque élément dans le groupe lampe blanches du salon, | ||
+ | // si l' | ||
+ | // par contre, si ce n'est pas un dimmer, on envoie la commande OFF | ||
+ | gEclairageBlancSalon.members.forEach[b| | ||
+ | if (b instanceof DimmerItem & | ||
+ | else { b.sendCommand(OFF) } | ||
+ | ] | ||
+ | gEclairageCouleurSalon.members.forEach[c|c.sendCommand(0)] | ||
+ | logDebug(" | ||
+ | } | ||
+ | case " | ||
+ | logDebug(" | ||
+ | gEclairageBlancSalon.members.forEach[b| | ||
+ | if (b instanceof DimmerItem) { b.sendCommand(5) } | ||
+ | else { b.sendCommand(OFF) } | ||
+ | ] | ||
+ | gEclairageCouleurSalon.members.forEach[c|c.sendCommand(10)] | ||
+ | } | ||
+ | [...] | ||
+ | logDebug(" | ||
+ | end | ||
+ | |||
+ | |||
+ | Globalement, | ||
+ | |||
+ | Évidemment, | ||
+ | |||
+ | Comme par exemple, ajouter la gestion de la température des ampoules blanches en fonction des heures de lever et coucher du soleil ou activer automatiquement la scène TV dans le salon quand on active l' | ||
+ | |||
+ | ====== Mais comment on l' | ||
+ | |||
+ | ===== Ce qui se faisait ===== | ||
+ | |||
+ | La solution historique dans OpenHab, c'est de créer un sitemap qui sera exploitée dans Basic UI. | ||
+ | |||
+ | Pour ce faire, un générateur nommé Home Builder est installé d' | ||
+ | |||
+ | <a href=" | ||
+ | |||
+ | L' | ||
+ | |||
+ | ===== Ce qui se fait ===== | ||
+ | |||
+ | PaperUI étant une interface d' | ||
+ | |||
+ | L<a href=" | ||
+ | |||
+ | Ces boutons sont redimensionnables et positionnables (dans une certaines mesure vu qu'il " | ||
+ | |||
+ | <a href=" | ||
+ | |||
+ | Il est donc quasiment impossible de créer une interface qui soit universelle pour format vertical et horizontal. Heureusement il est possible de sauver de multiples configurations de panneau ! Prévoyez au moins 2 formats : un vertical pour votre téléphone et le second horizontal. Un bon conseil si vous prévoyez d' | ||
+ | |||
+ | Boutons, curseurs, voyants et bien d' | ||
+ | |||
+ | La plupart du temps, après avoir renseigné le ou les items avec lesquels le widget va interagir dans les menus déroulants et sauvé les modifications, | ||
+ | |||
+ | J'ai choisi un thème sombre histoire de ne pas terminer aveugle quand je l' | ||
+ | |||
+ | ==== Améliorations ==== | ||
+ | |||
+ | <img style=" | ||
+ | |||
+ | L' | ||
+ | |||
+ | Les dimensions des deux colonnes supérieures sont mieux équilibrées et permet d' | ||
+ | |||
+ | Il reste encore quelques soucis de mise en page. La taille du texte casse la mise en page et le CSS sombre ne contient pas la classe mettant la première lettre d'un texte en majuscule. | ||
+ | |||
+ | De plus, le créateur du widget semble ne pas avoir prévu le cas où on voudrait utiliser son widget sur un fond clair. Les icônes pour la l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Et plus loin ==== | ||
+ | |||
+ | Des utilisateurs encore plus avancés se sont amusés à créer des plans d' | ||
+ | |||
+ | Je suppose qu'il ne me reste plus qu'à prendre grossièrement les mesures de la maison et refaire un plan sur un logiciel de dessin vectoriel. Une fois que ça sera fait, il sera possible d' | ||
+ | |||
+ | ====== Mise à jour ====== | ||
+ | |||
+ | Après une mise à jour malencontreuse qui semblait avoir cassé des trucs dans mon serveur OpenHab, tout ça est quelque peu resté à l' | ||
+ | |||
+ | Puis un jour, l' | ||
+ | [[.: |