Présentation de l'installation - Benj29

3000€
Présentation de l'installation - Benj29
0

#6

Si je peux en motiver, aider, stimuler… Avec plaisir !


#7

Je suis vraiment bluffé de la façon avec laquelle tu as utilisé les scenarios et le design jeedom. Je debute seulement et pour le moment je n’ai pas encore fait beaucoup de scenario très poussé. Tu m’a donné quelques bonne idées. C’est top.


#8

Toujours aussi fan de ton travail :slight_smile:


#9

Merci à vous !


#10

Wouhaou !! C’est bluffant !
J’avoue que c’est super top et ton design l’est encore plus !!! Bravo !!


#11

Hello,

Merci. J’essaie de finir mon dernier design, celui des usages. La partie Multimédia est finie (via Harmony et quelques chacons), la partie eau & électricité aussi. Il me reste à présenter mes consommations correctement et ça prend forme…


#12

Je suis carrément bluffé !!
Tu maitrises Jeedom bien mieux que moi !! :wink:

Une question, comment as-tu fais pour afficher un “joli digicode” quand tu actives l’alarme ? :face_with_monocle:

Merci de ton aide :slight_smile:


#13

Bonjour,

Pour ce digicode, j’ai “détourné” celui de Djul que j’ai modifié directement au niveau CSS.
Il est sur un design donné qui s’active via JPI en fonction de l’état de l’alarme.
Un raccourci caché permet de revenir aux designs de base (mais pas de désactiver l’alarme qui ne se fait que par le digicode et d’autres moyens dans la maison).

Sinon je suis en train de finaliser mon installation de pré-détection de caméras, ce sera soit Shinobi, mais plus probablement ZoneMinder…


#14

Merci pour ton retour. J’ai fini par trouvé le plugin de djul qui n’est disponible qu’en bêta actuellement. Je l’ai installé mais il n’a pas voulu fonctionner… Peut être que le problème vient du fait que j’ai plusieurs mode (jour, nuit et total)…
En tout cas je te remercie pour les infos :wink:


#15

Non il s’agit du widget… :wink:


#16

Ah ok, je vais voir ça :wink:


#17

Je peux au pire partager mon CSS et code pour ceux qui veulent. Car je l’ai bien modifié.


#18

Avec grand plaisir :smiley:


#19

Côté affichage du widget, je n’ai fait que forcer l’écriture du texte en noir dans les options (on décoche le texte par défaut, couleur noire).

Côté widget, le code

<head>
<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
</head>
<style>
  center {
  	padding: 0 !important;
  }
</style>
<div class="cmd tooltips cmd-widget" data-type="action" data-subtype="message" data-cmd_id="#id#"></div>
<script type="text/javascript">
  $.include([ 'plugins/widget/core/template/dashboard/cmd.action.message.dJuL_DIGICODE/digicode.css',
              'plugins/widget/core/template/dashboard/cmd.action.message.dJuL_DIGICODE/digicode.js'
            ],
            function() {
              $('div.cmd[data-cmd_id="#id#"]').digicode(function(code) {
                jeedom.cmd.execute({
                  id: '#id#',
                  value: { title : '', message: code }
                });
              }, 4);
            }
  );
</script>

Côté CSS :

.digicode {
  /**font-family: 'HelveticaNeue-UltraLight', 'HelveticaNeue-Light', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif;**/
  font-family:Montserrat, Arial;
  font-weight: 400;
  line-height: 1.42857;
  color: #fff;
  margin: 5px;
}

.digicode ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 0em;
}
  
.digicode ul.digiEvent {
  margin: 5px 0;
}

.digicode .digiEvent li {
  display: inline-block;
  margin: 3px;
  border: 2px solid rgba(0, 0, 0, 0.85);
  height: 12px;
  width: 12px;
  border-radius: 75px;
  -moz-border-radius: 75px;
  -webkit-border-radius: 75px;
}

.digicode .digiEvent li.digiFilled {
  background-color: #333333;
    /**#368EFF;**/
  border: 1px solid rgba(255, 255, 255, 0.60);
}
  
.digicode .digiEvent li.digiFilledOK {
  background-color: #F89406;
}  

.digicode .digicodePanel li {
  background: #333;
  cursor: pointer;
  display: inline-block;
  padding-top: 7px;
  margin: 5px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  height: 47px;
  width: 47px;
  border-radius: 75px;
  -moz-border-radius: 75px;
  -webkit-border-radius: 75px;
  text-align: center;
  font-size: 20px;
}

.digicode .digicodePanel li.digiSel {
  background: #777;
  border: 2px solid rgba(255, 255, 255, 0.25);
  color: #6699ff;
}

.digicode .digicodePanel li.digiReset {
  background: #dd0530;
  border: 2px solid rgba(51, 9, 9, 0.41);
}

Côté JS :

jQuery.fn.extend({
  
  digicode: function(callback, delayReset) {
    
    this.html('<ul class="digiEvent"><li></li><li></li>	<li></li><li></li><li></li></ul><ul class="digicodePanel"><div><li>1</li><li>2</li><li>3</li></div><div><li>4</li><li>5</li><li>6</li></div><div><li>7</li><li>8</li><li>9</li></div><div><li>A</li><li>0</li><li class="digiReset">X</li></div></ul>');
    this.addClass('digicode');   
    this.delayReset = $.isNumeric(delayReset) ? delayReset : 4; //DELAY EN SECONDE POUR AUTO RESET CODE
    this.jeedomExecute = $.isFunction(callback) ? callback : (function () {}) ; 	
    this.keys = this.find('.digicodePanel li');
    this.Displays = this.find('.digiEvent li');
    this.inputs = [];
    this.timer = null;
    this.delayReset *= 1000;

    this.displayInputs = (function() {
      this.Displays.removeClass('digiFilled digiFilledOK');
      $.each(this.inputs, (function(i, e) {
        this.Displays.eq(i).addClass('digiFilled');
      }).bind(this));
    }).bind(this);
    
    this.clearCode = (function() {
      this.inputs = [];
      this.displayInputs();
      clearInterval(this.timer);
    }).bind(this);

    this.resetTimer = (function(resetTimer) {
      if (this.timer != null) {
        clearInterval(this.timer);
      }
      this.timer = setInterval(this.clearCode, this.delayReset);
    }).bind(this);
   
    this.codeReady = (function() {
      this.jeedomExecute(this.inputs.join(''));
        setTimeout((function() {
          this.Displays.addClass('digiFilledOK');
        }).bind(this), 200);
        setTimeout((function() {
          this.clearCode();
        }).bind(this), 500);
    }).bind(this);

    this.keys.on(('ontouchstart' in document.documentElement) ? "touchstart" : "click", (function(e) {
      var el = $(e.currentTarget);
      if (el.hasClass('digiReset')) {
        this.clearCode();
      }
      else {
        el.addClass('digiSel');
        this.inputs.push(el.text());
        this.displayInputs();
        this.resetTimer();
        if (this.inputs.length == 5) {
          this.codeReady();
        }
      }
    }).bind(this));

    this.keys.on('mouseup mouseleave touchend', function() {
      var el = $(this);          
      if (!el.hasClass('digiReset')) {
        setTimeout(function() { 
          el.removeClass('digiSel');
        }, 150);
      }
    });
  }
});```

#20

Bizarre, je n’arrive pas à mettre les bonnes balises, si un admin peut corriger, merci.


#21

Le fait d’avoir une alarme mode nuit, mode jour et mode total ne va pas pour moi … Il ne faut qu’un mode XXX et un mode total nan ?
En tout cas, merci pour le code, c’est sympa de ta part :wink:


#22

Pas compris ?
Moi j’ai un mode nuit, un mode hiver et un mode été.
Le mode nuit est utilisé uniquement quand nous sommes là la nuit.
Le mode hiver ou été est utilisé uniquement quand nous ne sommes pas là en fonction de l’aération de certaines fenêtres qui sont avec grille de protection.


#23

Pour répondre au MP de Deeper, je le transfère ici car je préfère toujours répondre pour que tout le monde puisse reprendre la solution.

Citation Bonsoir, peux tu m’expliquer comment tu as fait pour qu’il y ait le digicode car j’arrive à en mettre un, mais ça ne fonctionne pas… Je dois mal m’y prendre :’(
Merci

Le digicode se base sur une variable que je teste via un scénario.

Une valeur de digicode (variable du même nom), une action qui déclenche un scénario :

Bien sûr ce scénario se déclenche sur #[Sécurité][Digicode][value_digicode]#

Bien sûr codeàtaper… c’est pas mon code hein !


#24

Bonjour Benjamin,
Bien que je ne sois pas sous Jeedom, bravo pour ta présentation synthétique et claire et surtout d’avoir bien pensé à spécifier tes besoins et tes fonctions.
Je débute en domotique, mais il y a une règle que je me suis fixée, en cas de panne, toujours avoir un mode manuel (secours) : domotiser : oui mais en surcouche de l’existant… (Expérience de toute une carrière…).
Ton expérience que tu partages est gratifiante et m’a fait rêver. Jeedom n’est tout de même pas à la portée du premier venu si on ne possède pas un minimum de base en développement informatique et compréhension des réseaux.
Encore toutes mes félicitations et merci pour cette présentation…
Roland


#25

Bonjour,

Merci pour ce retour amical !
J’ai effectivement ce retour manuel pour tout (ou presque) :

  • sur la partie chauffage, les chacons peuvent être basculés sur chacon OFF en marche,
    Il suffit alors de baisser la consigne de chauffe (+/-) à une température normale de 20°C et de mettre un des modes manuels déjà programmés (qu’on utilisait avant),
  • sur les ouvrants : portail/garage, il y a sur nos clés des télécommandes qui pilotent tout cela (qu’on utilise si peu maintenant),
  • pour la piscine, un mode débrayage au tableau me permet de lancer une filtration,
  • pour les éclairages, ils sont tous sans exception sur une télécommande Chacon au besoin.
  • un seul point faible l’eau chaude. Là il faut ouvrir le tableau et démonter l’arrivée du chacon pour remettre le signal HC/HP, mais je ne pouvais pas faire autrement…