Bonjour @benj29
Pour moi, je suis plus intéressé par tes nouveaux designs
Merci pour tous ces partages, vraiment très utile pour avancer plus rapidement avec jeedom
Benoit5672
- 1
les design !
Bonjour Benj29,
je suis admiratif de tout le travail que tu fais et le temps que tu passes a nous expliquer et nous aider dans la domotique.
tu nous dis dans un message du 25/02
pourrais tu nous détailler rapidement comment fais tu pour changer la couleur des ouvrants en fonction de la présence ou de l’absence dans ton tableau de suivi des pièces? Je bataille depuis quelques jours dessus, j’ai peut être loupé une étape
merci encore pour le temps que tu passes pour tout ces précieux renseignements
bonne journée
à te lire!
Bonjour,
Super travail !
Serait il possible de m’expliquer comment a été réalisé le widget historique des messages ?
L’historique des messages n’est pas réellement un widget. Il est constitué d’une image de fond sur le design en arrière plan avec un virtuel en avant plan.
L’image de fond (je tiens à préciser que chez moi la pseudo IA s’appelle « Eva »):
Le virtuel:
Voici la configuration du virtuel:
Avec une disposition tableau et quelques commandes css pour personnaliser l’affichage:
le widget utilisé sur chaque commande:
Le contenu du Widget::
<div class="tooltips cmd cmd-widget #history#" data-type="info" data-subtype="string" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#" style="display: block;">
<center><span style="font-size : 12px;#hideCmdName#" class="cmdName">#name_display#</span> </center>
<div style="text-align:left"><strong class="state"></strong>
</div>
<script>
jeedom.cmd.update['#id#'] = function(_options){
$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate)
$('.cmd[data-cmd_id=#id#] .state').empty().append(_options.display_value);
if(_options.alertLevel){
$('.cmd[data-cmd_id=#id#]').removeClass('label label-warning label-danger')
if(_options.alertLevel == 'warning'){
$('.cmd[data-cmd_id=#id#]').addClass('label label-warning');
}else if(_options.alertLevel == 'danger'){
$('.cmd[data-cmd_id=#id#]').addClass('label label-danger');
}
}
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
Ensuite à chaque fois qu’un message vocal est diffusé, j’enrichis les données du virtuel dans le scénario, sachant que tous mes messages font toujours appel au même scénario.
Je décale tous mes messages vers le bas et garnit la première ligne avec l’heure + le message passé par tag.
Je ne suis pas sûr de comprendre ton problème.
Le code de @noodom travaille sur les options d’un widget. Donc si ton widget n’a pas d’options tu vas chercher longtemps.
Perso, j’utilise le widget info button donné sur ce fil :
Par exemple, j’ai un bouton pour commander le volet. Suivant l’état de la maison je le colorise. Orange s’il est fermé et que nous sommes à la maison, blanc si ouvert est à la maison, rouge si nous sommes absents et ouverts etc.
Pour changer l’attribut couleur, un simple scénario se déclenchant sur l’état du volet ou l’état de la maison… pour changer la couleur.
et le scénario qui appelle celui de @noodom
Pour info, on peut faire la même chose sur des infos sans ce widget. Je l’utilise.
Un widget qui change d’état en fonction d’une variable passé par les options du widget.
Exemple pour la gestion de l’alarme de la moto où je remonte l’état de l’alarme et le niveau de batterie. Et en fonction couleur si je suis là ou non.
<div class="tooltips cmd cmd-widget #history#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#" style="display: block;">
<center>
<span class="iconCmd"></span><span><strong class="state" style="font-size: 25px;"></strong></span><span class="unite"></span>
</center>
<script>
jeedom.cmd.update['#id#'] = function(_options){
var state = _options.display_value;
var cmd = $('.cmd[data-cmd_id=#id#]');
var alarme = is_numeric('#alarme#') ? parseFloat('#alarme#'):0;
cmd.attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
// alarme = 0 (alarme = 0, online = 1)
if (alarme == 0) {
if (state >= 40) {
// vert car alarme désactivée, vert car en ligne, vert batterie car ok
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-open-variant" style="color:#30b455;font-size:20px;"></i><div style="font-size:10px;color:#30b455;">#state#<span style="font-size:10px;color:#30b455;">%</span></div>');
}
else {
// orange car alarme requiert attention, rouge var batterie déchargé
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-open-variant" style="color:#ff8c00;font-size:20px;"></i><div style="font-size:10px;color:#da3037;">#state#<span style="font-size:10px;color:#da3037;">%</span></div>');
}
}
// alarme = 1 (alarme = 1, online = 1)
else if (alarme == 1) {
if (state >= 40) {
// rouge car alarme activée, vert car batterie OK
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-check" style="color:#da3037;font-size:20px;"></i><div style="font-size:10px;color:#30b455;">#state#<span style="font-size:10px;color:#30b455;">%</span></div>');
}
else {
// rouge car alarme activée, rouge car batterie déchargée
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-alert" style="color:#da3037;font-size:20px;"></i><div style="font-size:10px;color:#da3037;">#state#<span style="font-size:10px;color:#da3037;">%</span></div>');
}
}
// alarme = 2 (alarme = 1, online = 0)
else if (alarme == 2) {
if (state >= 40) {
// rouge car alarme activée, vert car batterie ok
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-question" style="color:#da3037;font-size:20px;"></i><div style="font-size:10px;color:#30b455;">#state#%<span style="font-size:10px;color:#30b455;">%</span></div>');
}
else {
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-question" style="color:#da3037;font-size:20px;"></i><div style="font-size:10px;color:#da3037;">#state#<span style="font-size:10px;color:#da3037;">%</span></div>');
}
}
// alarme = 3 (alarme = 0, online = 0)
else if (alarme == 3) {
if (state >= 40) {
// vert car alarme désactivée, vert car
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-question" style="color:#30b455;font-size:20px;"></i><div style="font-size:10px;color:#30b455;">#state#<span style="font-size:10px;color:#30b455;">%</span></div>');
}
else {
cmd.find('.iconCmd').empty().append('<i class="Mdi mdi-lock-question" style="color:#30b455;font-size:20px;"></i><div style="font-size:10px;color:#da3037;">#state#<span style="font-size:10px;color:#da3037;">%</span></div>');
}
}
//cmd.find('.state').empty().append(' '+state);
//cmd.find('.unite').empty().append(' #unite#');
if(_options.alertLevel){
$('.cmd[data-cmd_id=#id#]').removeClass('label label-warning label-danger')
if(_options.alertLevel == 'warning'){
$('.cmd[data-cmd_id=#id#]').addClass('label label-warning');
}else if(_options.alertLevel == 'danger'){
$('.cmd[data-cmd_id=#id#]').addClass('label label-danger');
}
}
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
Le widget est un numeric (niveau de la batterie) et je change l’icone en fonction de l’option de l’état de l’alarme.
Autre solution, utilisez le plugin jeelog très complet et bien paramétrable.
L’idée de @superbricolo est une bonne fifo. J’avoue avoir pensé à l’intégrer sur le design mais comme j’ai un monodesign, j’ai laissé tomber.
Perso, je remonte ce type de notifications dans un télégram dédié sur mon tél.
@benj29 tu as pour moi la plus grosse et complète installation domotique que j’ai vu.
Tu as poussé le sujet vraiment loin derrière nous. C’est impressionnant.
Grace à toi, j’en découvre à chacun de tes post.
Pour ton blog, j’attend avec impatience un tuto pour le design et surtout les popup j’ai ça clarifierai pas mal les design
Dans tout les cas, tous tes articles sont des découvertes du potentiel énorme de la domotique. Tu fait un sacré job !! Grand merci à toi !
Oula, c’est gentil !
Mais je suis loin d’avoir une installation poussée. Certains ici ont des installations plus poussées notamment sur l’aspect TTS avec interactions.
Elle fait surtout ce que je lui ai demandée selon ma sensibilité avec un vrai WAF validé au quotidien car madame n’aime surtout pas être embêté par ces trucs et c’est là le but de la domotique ; rendre la vie plus simple.
Alors c’est sûr que quand une update de plugin fait pêter une prise Xiaomi sans changelog on apprécie le sérieux ou pas ! (allez… je rigole ! rigueur ou pas…).
A mes yeux, les travaux de @dJuL (JPI permet tellement sur mon installation), @superbricolo (sans suivi conso… va faire de beaux rapports de suivi ou amortissement), @revlys (et mes PI pour récupérer tous les compteurs, contacts dans le jardin etc) viennent compléter magnifiquement le travail de l’équipe Jeedom qui permet de mettre un outil assez facile à appréhender. Après, il y a tellement de possibilités pour faire les choses ; tellement de solutions…
Bonjour Benj29,
merci encore pour toutes ces explications très claires
bonne journée
Je vois qu il y a beaucoup d infos sur une seul page de l ecran de la tablette.
Quel résolution utilises tu pour quelle taille d écran ?
Beau travail.
1024x600 de mémoire.
Après c’est lisible sans lunette face à la tablette.
Je l’explique sur le blog. Je passe par le site screenresolution.
Merci !
Merci, j’ai utilisé ce site pour établir la résolution de ma tablette.
Ce que je ne comprend pas c’est que ce site m’indique une résolution de 1280 x 800 alors que sur la fiche technique c’est une 2560 x 1600 (Samsung Galaxy tab S).
C’est la résolution max de la tablette.
Tu peux jouer des dpi et de la résolution au besoin
android - how to use adb to change resolution of device - Stack Overflow
Salut Benj, Merci pour l’article sur l’alarme,
Je le trouve très instructif et très bien construit,
Je vois que tu as mis en place le widget digicode pour ton ancienne version v3,
Aurais-tu le code et fichiers à mettre à disposition pour la V4 depuis ton article ?
Encore merci pour ton partage et à très bientôt dans un nouvel article
Bonjour,
Je suis en train de finaliser l’article pour la piscine, sa gestion et l’iopool. Il est clair qu’il n’intéressera pas tout le monde, mais il y a quand même quelques idées à prendre pour l’automatisation notamment avec Android.
Merci en tout cas pour tes commentaires. Oui, pour le digicode, j’avoue avoir galéré, je m’étais même rabattu sur celui développé par @tomitomas ; mais bien trop complet et lourd pour un « pauvre » digicode comme je l’utilise le matin au réveil.
Attention à bien positionner les fichiers dans un répertoire non-core car en cas d’update, vous les perdez !
Le widget est à créer en mode code.
<div class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="message" data-template="default" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<script>
$.include([ '/data/fonts/Digicode/digicode.css',
'/data/fonts/Digicode/digicode.js' ],
function() {
$('div.cmd[data-cmd_id="#id#"]').digicode(function(fct, code) {
jeedom.cmd.execute({
id: '#id#',
value: { title : fct, message: code }
});
}, 4);
}
);
</script>
</div>
Et le code js et le code css , personnellement j’ai mis ici :
Attention, j’ai modifié les codes pour mon installation : polices, couleurs, tailles.
digicode_css.txt (1,4 Ko) digicode_js.txt (2,4 Ko)
Attention, supprimer l’extension .txt et le _extension à passer en .extension.
J’ai prévu de faire une grosse mise à jour du blog en V4 mais après la publication de l’article des designs en V4 et celui de la piscine.
Il faut créer un virtuel :
value_digicode en information est utilisé par un scénario de désactivation sans aucun déclencheur :
digicode est une info qui lance LE scénario :
Merci pour ta réponse et ton partage,
Bonne journée,
J’ai édité mon message
C’est parfait, merci, bonne journée,
Et voilà, nouvel article sur la gestion de la piscine, la filtration, l’iopool Eco etc
https://www.jeedom-facile.fr/index.php/2021/06/03/une-gestion-de-piscine-simple-et-efficace/
Quelques principes avec le Sonoff, le parfait Jeedouino de @revlys et la pierre angulaire JPI de @dJuL.
Je m’appuie sur Macrodroid et Automate, tellement pratique.
Bonne lecture !
Eléments de réflexion pour une installation domotique :
- Besoins & Motivations : à travers mon expérience, retrouvez les besoins et les motivations ; cette étape de réflexion nécessaire pour dimensionner votre installation.
- Choix du matériel et son intégration dans Jeedom : encore à travers mon expérience, retrouverez les raisons de mes choix du matériel et son intégration dans Jeedom.
- La surveillance de vos équipements : comment s’assurer que tout est en ligne, fonctionne ou se relance en cas de problème…
- Configurez l’historisation des données que vous stockez dans Jeedom et comprenez l’intérêt !
- Surveillez et pilotez votre serveur domotique en cas de problème par un second Jeedom !
Catégorie sécurité :
- La vidéo-surveillance avec la domotique sous Jeedom et MotionEye : comment intégrer une détection de mouvement fiable et un accès aisé à vos caméras.
- La mise en place d’une alarme automatique, fiable et de l’intelligence autour : comment mettre en place une alarme fiable avec toute la gestion, la mise en forme des événements ou les designs…
Catégorie interactions :
- Domowidget ou comment piloter Jeedom depuis Android facilement !
- Météo, vigilance météo, notifications & scénarios
- JPI et les possibilités domotiques : synthèse vocale, design, pilotage de chargeur, etc
- Toutes mes astuces pour un design réussi sous Jeedom : la compilation de tous mes trucs !
- Les notifications par écrit, la voix : la base de votre installation domotique !
Catégorie automatisation :
- Éclairage de Noël : fait-il jour ou nuit ? scénarios d’éclairage automatisés avec interrupteurs virtuels, widgets personnalisés.
- Pilotage du ballon d’eau chaude : comment optimiser votre chauffe d’eau et ainsi réduire votre facture d’électricité ?
- La gestion d’humidité et des VMC dans une maison : ou comment piloter votre (vos) VMC avec interactions, notifications et automatisme.
- La gestion des volets : Maitrisez interactions, programmation, automatisation !
- La gestion du confort, des habitudes : Automatisez chauffage, climatisation et vos habitudes quotidiennes.
- La gestion des personnes et de la présence : Automatisez les actions de présence et d’absence en sachant si les personnes sont là ou non !
Catégorie autres :
- La notification du courrier, colis, qui a pris le courrier : ou comment éviter d’attendre que la Poste passe ou d’ouvrir sa boite aux lettres vide !
Le matériel et sa configuration nécessaire pour une installation domotique :
- Votre serveur domotique
- L’architecture de votre réseau
- Choix du matériel et son intégration dans Jeedom
- Le VPN ou comment se simplifier en sécurité la vie !
- Le domaine et les sous-domaines ou comment accéder à chez soi
- La Raspberry, 3 fonctions clés en domotique !
- JPI et ses possibilités matérielles
- Pilotage d’un ballon d’eau chaude
- Domotisation d’une boite aux lettres
- Pilotage de VMC et d’humidité
- Gestion de la présence et des personnes
- La gestion de votre piscine, sa filtration et sa « connexion » avec l’Iopool EcO : automatisez la filtration de votre piscine et utilisez une solution alternative connectée avec un excellent rapport qualité/prix telle que l’Iopool EcO !
L’installation et la configuration d’un hyperviseur permettant la virtualisation :
- Installation de Proxmox 5
- Gestion de la sauvegarde sous Proxmox
- Ajout d’un compte administrateur à Proxmox
- Notifications par email sous Proxmox
- Surveillance du disque dur sous Proxmox
- Sécurisation du login sous Proxmox
- Surveillance de l’onduleur sous Proxmox
- Administrer facilement Proxmox à distance ou en local
- Modifications du refroidissement du serveur domotique
- Installation ou Migration à Proxmox 6 et toute sa configuration
Les machines virtuelles :
- Machine virtuelle APACHE, brique de base des autres VM – rendre accessible des services depuis Internet de manière sécurisée avec une adresse sousdomaine.domaine.com
- Machine virtuelle JEEDOM, configuration, restauration, sauvegarde et quelques éléments de base pour Jeedom !
- Machine virtuelle BLEA, mal nécessaire pour palier à un problème de stabilité du plugin du même nom et une antenne externe
- Machine virtuelle MOTIONEYE ou comment mettre en place une détection de mouvement fiable
- Machine virtuelle PIHOLE ou comment filtrer la publicité et piloter tout cela depuis Jeedom & Android
Je n’avance pas comme je le souhaite mais peu à peu le blog se remplit…