Bonjour,
J'ai commencé à remplacer quelques éléments de ma config par le plugin mode. De ce fait j'en profite pour faire quelques retours :
1) Quand je duplique un "mode" qui contient des scénarios et des tags, le nom des scénario et l'action sont systématiquement "aucun" et "start" dans le nouveau mode...
Pour la duplication reste event/équipement ça fonctionne. Bug ouvert JEED-941
2 ) J'ai pas trouvé où sont les logs, j'ai pourtant bien basculé le plugin en "debug" et le fichier est toujours vide
3) Comme j'ai beaucoup les virtuels "centralisateurs de commandes" et que je trouve pas le visuel par défaut du mode pas à mon goût, j'ai tenté une expérience presque concluante :
un mode "mtmp" (vide car j'ai pour l'instant pas besoin de déclencher des actions)
un virtuel"vtmp", qui reprends, les infos du mode "mtmp"
Donc à l'usage, je clique dans mon bouton tmp1 de mon virtuel vtmp, ça active le mode tmp1, ça mets à jour le widget par défaut du mode et ensuite le valeur de "visutmp" de mon virtuel "vtmp".... Idem pour tmp2. C'est exactement ce que je veux
Le souci, c'est lors du refresh de la page, la valeur de visumtmp est à 0....C'est lié au nouveau mécanisme de refresh ?
Il y a-t-il une solution plus simple/élégante que
- d'ajouter une commande "event" dans le mode pour forcer le contenu de visutmp
- utiliser les pre-action/post actions des boutons pour lancer le mode (et laisser le fonctionnent similaire au toggle)
Merci pour vos idées
Plugin Mode version du 2018-05-09
Plugin Mode version du 2018-05-09
- Pièces jointes
-
- otmp.PNG (10.11 Kio) Consulté 2261 fois
Dernière édition par Naboleo le 24 mars 2019, 13:44, édité 1 fois.
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
Re: Plugin Mode version du 2018-05-09
Edit : finalement mon souci ci-dessus est corrigé. Je suis reparti de 0 et ça marche. A priori, il faut bien attendre la totalité de la configuration pour sauvegarder (notamment les types d'info) sinon ça casse tout
Par contre j'ai trouver un autre bug, si on renomme un des états d'un mode, qui est lui-même utilisé dans un autre mode, alors on se retrouve avec un ancien #id# à la place de la commande renommée. Bug ouvert JEED-942
Par contre j'ai trouver un autre bug, si on renomme un des états d'un mode, qui est lui-même utilisé dans un autre mode, alors on se retrouve avec un ancien #id# à la place de la commande renommée. Bug ouvert JEED-942
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
Re: Plugin Mode version du 2018-05-09
Pour ceux que ça intéresse j'ai ajouté une petite gestion des log.
J'ai fait un PR sur github https://github.com/jeedom/plugin-mode/pull/10
En attendant, il suffit de remplacer la fonction "doAction" dans /var/www/html/plugins/mode/core/class/mode.class.php
Voilà à quoi ça ressemble
J'ai fait un PR sur github https://github.com/jeedom/plugin-mode/pull/10
En attendant, il suffit de remplacer la fonction "doAction" dans /var/www/html/plugins/mode/core/class/mode.class.php
Code : Tout sélectionner
public function doAction($_mode, $_type, $_previousMode = '') {
if (!is_array($this->getConfiguration('modes'))) {
return;
}
if ($_previousMode == '') {
$_previousMode = $this->getConfiguration('previousMode');
}
foreach ($this->getConfiguration('modes') as $key => $value) {
if ($value['name'] != $_mode) {
continue;
}
$txtmode='['.$this->getName().']['.$_type.']['.$_mode.']';
log::add('mode', 'info','Lancement de '.$txtmode);
$i=0;
foreach ($value[$_type] as $action) {
$i+= 1;
$act=$action['cmd'];
$txtact=$txtmode.'[#'.$i.']=> '.$act;
if (isset($action['onlyIfMode']) && $action['onlyIfMode'] != 'all' && $action['onlyIfMode'] != $_previousMode) {
log::add('mode', 'debug','*SKIP* '.$txtact.' car condition ['.$_mode.' != '.$action['onlyIfMode'].']');
continue;
}
try {
$options = array();
if (isset($action['options'])) {
$options = $action['options'];
}
scenarioExpression::createAndExec('action', $action['cmd'], $options);
log::add('mode', 'info','*RUN* '.$txtact);
if (is_array($options)) {
foreach ($options as $key => $value) {
if($key == 'enable'){
continue;
}else{
log::add('mode', 'debug',$txtact.' -> ['.$key.'='.$value.']');
}
}
}
} catch (Exception $e) {
log::add('mode', 'error', __('Erreur lors de l\'éxecution de ', __FILE__) . $action['cmd'] . __('. Détails : ', __FILE__) . $e->getMessage());
}
}
log::add('mode', 'info','Fin de ['.$this->getName().']['.$_type.']['.$_mode.']');
return;
}
}
Code : Tout sélectionner
[2019-03-29 17:35:11][INFO] : Lancement de [TMP][inAction][mode1]
[2019-03-29 17:35:11][INFO] : Run [TMP][inAction][mode1][#1]=> log
[2019-03-29 17:35:11][DEBUG] : [TMP][inAction][mode1][#1]=> log -> [background=0]
[2019-03-29 17:35:11][DEBUG] : [TMP][inAction][mode1][#1]=> log -> [message=blabla1]
[2019-03-29 17:35:11][DEBUG] : [TMP][inAction][mode1][#2]=> scenario SKIPPED car condition [mode1 != mode2]
[2019-03-29 17:35:11][INFO] : Fin de [TMP][inAction][mode1]
[2019-03-29 17:36:59][INFO] : Lancement de [TMP][inAction][mode1]
[2019-03-29 17:36:59][INFO] : RUN [TMP][inAction][mode1][#1]=> log
[2019-03-29 17:36:59][DEBUG] : [TMP][inAction][mode1][#1]=> log -> [background=0]
[2019-03-29 17:36:59][DEBUG] : [TMP][inAction][mode1][#1]=> log -> [message=blabla1]
[2019-03-29 17:36:59][DEBUG] : SKIP [TMP][inAction][mode1][#2]=> scenario car condition [mode1 != mode2]
[2019-03-29 17:36:59][INFO] : Fin de [TMP][inAction][mode1]
[2019-03-29 17:37:23][INFO] : Lancement de [TMP][inAction][mode1]
[2019-03-29 17:37:23][INFO] : *RUN* [TMP][inAction][mode1][#1]=> log
[2019-03-29 17:37:23][DEBUG] : [TMP][inAction][mode1][#1]=> log -> [background=0]
[2019-03-29 17:37:23][DEBUG] : [TMP][inAction][mode1][#1]=> log -> [message=blabla1]
[2019-03-29 17:37:23][DEBUG] : *SKIP* [TMP][inAction][mode1][#2]=> scenario car condition [mode1 != mode2]
[2019-03-29 17:37:23][INFO] : Fin de [TMP][inAction][mode1]
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 13 invités