Page 5 sur 6

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 30 déc. 2018, 03:18
par Eclaircix
Bonsoir,
Apres avoir tout testé, vérifié et revérifié, impossible de faire fonctionner sur mes 3 antennes BLEA ???
Les antennes ne sont jamais démarrée automatiquement...
du coup j'ai trouvé une autre méthode qui ma demandé 10mn de mise en place et qui fonctionne à merveille sans compter quelle me permet de superviser les antennes...
Voir l'excellent tuto de Benjamin sur https://jeedom-facile.fr/index.php/2018 ... omotiques/

Le principe,
a) un scénario "type Code" programmé toute les minutes qui va rechercher toutes les Antennes BLEA et stocker leurs état dans des variables
b) créer un Virtuel auquel on affecte nos variables d'état de chaque Antennes
c) créer un scénario "type Code" provoqué (qui contient le code pour restart démon des antennes)
d) création d'un scénario exécuté toutes les 5mn + provoqué sur chaque Etat du virtuel (ce scénario contient autant de bloc Si/Alors/Sinon qu'il y a d'antennes, et si etat antenne=0 alors exécute le scenario du point C + notification email)

Code scenario A

Code : Tout sélectionner

$remotes = blea_remote::all();
foreach ($remotes as $remote) {
  $last = $remote->getConfiguration('lastupdate','0');
  $_key = "BLEA_".$remote->getRemoteName()."_state";
  if ($last == '0' or time() - strtotime($last)>65){
    $scenario->setData($_key, 0);
  } else {
    $scenario->setData($_key, 1);
  }
}
Variables créées automatiquement par le scenario
Variables BLEA.png
Variables BLEA.png (14.35 Kio) Consulté 3560 fois

B Virtuel avec affectation des variables
Virtuel Etat BLEA.png
Virtuel Etat BLEA.png (167.64 Kio) Consulté 3560 fois

C scenarion avec code pour restart des démon BLEA HS

Code : Tout sélectionner

$remotes = blea_remote::all();
foreach ($remotes as $remote) {
  $last = $remote->getConfiguration('lastupdate','0');
  $_remoteId = $remote->getId(); 
  if ($last == '0' or time() - strtotime($last)>65){
    $scenario->setLog('Antenne BLEA : '. $remote->getRemoteName() . ' , état KO, redémarrage du démon');
    message::add('networks','Antenne BLEA : '. $remote->getRemoteName() . ' , état KO, redémarrage du démon');
    blea::launchremote($_remoteId);	  
  } else {
    $scenario->setLog('Antenne BLEA : '. $remote->getRemoteName() . ' , état OK');
  }
}

D Scénario de contrôle et de restart des antennes BLEA
controle et restart antennes.png
controle et restart antennes.png (179.92 Kio) Consulté 3560 fois
En espérant que cela puisse aider d'autres personnes ;-)
@++
Jacky

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 07 janv. 2019, 22:01
par coolfunk
Hello,

j'ai une question le script crée par Bull, sur la ligne est indiquée "apikey la.clef.api.de.BLEA".
Est ce que quelqu'un pourrais me dire où je peux trouver cette clé?

Désolé pour cette question bête, je débute sur jeedom.

Merci

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 07 janv. 2019, 23:06
par pascals
Configuration/onglet API/
C'est celui du clé API bluetooth advertisement



Envoyé de mon SM-N950F en utilisant Tapatalk


Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 08 janv. 2019, 08:20
par coolfunk
Merci Pascals,

Je regarde cela ce soir.

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 09 janv. 2019, 11:37
par MrVince
Bonjour à tous !

Pour ceux qui ont le soucis du status systemctl en dead, avez vous pensé à couper le daemon depuis Jeedom avant de le lancer en SSH ?

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 10 janv. 2019, 20:18
par Bull
Bonjour Eclaircix, j'ai fait quelques modifications dans un de mes RPI et j'ai pu vérifier que j'ai dû ajouter les lignes suivantes au fichier depuis que j'ai changé le type de connexion du wifi au réseau câblé. Je ne sais pas si c'est la raison pour laquelle vous n'avez pas obtenu votre demon automatiquement.

Code : Tout sélectionner

[Unit]
Description=Servicio BLEA
After=hciuart.service
After=network-online.target   <----- ici

[Service]
Type=oneshot
ExecStart=/etc/init.d/blearpistart start

[Install]
WantedBy=network-online.target <------- ici
WantedBy=multi-user.target

Merci
Bull
Eclaircix a écrit :
30 déc. 2018, 03:18
Bonsoir,
Apres avoir tout testé, vérifié et revérifié, impossible de faire fonctionner sur mes 3 antennes BLEA ???
Les antennes ne sont jamais démarrée automatiquement...
du coup j'ai trouvé une autre méthode qui ma demandé 10mn de mise en place et qui fonctionne à merveille sans compter quelle me permet de superviser les antennes...
Voir l'excellent tuto de Benjamin sur https://jeedom-facile.fr/index.php/2018 ... omotiques/

Le principe,
a) un scénario "type Code" programmé toute les minutes qui va rechercher toutes les Antennes BLEA et stocker leurs état dans des variables
b) créer un Virtuel auquel on affecte nos variables d'état de chaque Antennes
c) créer un scénario "type Code" provoqué (qui contient le code pour restart démon des antennes)
d) création d'un scénario exécuté toutes les 5mn + provoqué sur chaque Etat du virtuel (ce scénario contient autant de bloc Si/Alors/Sinon qu'il y a d'antennes, et si etat antenne=0 alors exécute le scenario du point C + notification email)

Code scenario A

Code : Tout sélectionner

$remotes = blea_remote::all();
foreach ($remotes as $remote) {
  $last = $remote->getConfiguration('lastupdate','0');
  $_key = "BLEA_".$remote->getRemoteName()."_state";
  if ($last == '0' or time() - strtotime($last)>65){
    $scenario->setData($_key, 0);
  } else {
    $scenario->setData($_key, 1);
  }
}
Variables créées automatiquement par le scenario
Variables BLEA.png


B Virtuel avec affectation des variables
Virtuel Etat BLEA.png


C scenarion avec code pour restart des démon BLEA HS

Code : Tout sélectionner

$remotes = blea_remote::all();
foreach ($remotes as $remote) {
  $last = $remote->getConfiguration('lastupdate','0');
  $_remoteId = $remote->getId(); 
  if ($last == '0' or time() - strtotime($last)>65){
    $scenario->setLog('Antenne BLEA : '. $remote->getRemoteName() . ' , état KO, redémarrage du démon');
    message::add('networks','Antenne BLEA : '. $remote->getRemoteName() . ' , état KO, redémarrage du démon');
    blea::launchremote($_remoteId);	  
  } else {
    $scenario->setLog('Antenne BLEA : '. $remote->getRemoteName() . ' , état OK');
  }
}

D Scénario de contrôle et de restart des antennes BLEA
controle et restart antennes.png

En espérant que cela puisse aider d'autres personnes ;-)
@++
Jacky

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 10 janv. 2019, 21:55
par Eclaircix
Merci Bull, mais la méthode mise en place chez moi me convient parfaitement ;-)
en une 10e de jours, j'ai eu 5/6 alertes avec redémarrage demon automatique...
j'ai de plus appliqué avec succès, la même recette sur mon RFxCom

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 14 mai 2019, 21:27
par ibltz
Eclaircix a écrit :
30 déc. 2018, 03:18
Bonsoir,
Apres avoir tout testé, vérifié et revérifié, impossible de faire fonctionner sur mes 3 antennes BLEA ???
Les antennes ne sont jamais démarrée automatiquement...
du coup j'ai trouvé une autre méthode qui ma demandé 10mn de mise en place et qui fonctionne à merveille sans compter quelle me permet de superviser les antennes...
Voir l'excellent tuto de Benjamin sur https://jeedom-facile.fr/index.php/2018 ... omotiques/

Le principe,
a) un scénario "type Code" programmé toute les minutes qui va rechercher toutes les Antennes BLEA et stocker leurs état dans des variables
b) créer un Virtuel auquel on affecte nos variables d'état de chaque Antennes
c) créer un scénario "type Code" provoqué (qui contient le code pour restart démon des antennes)
d) création d'un scénario exécuté toutes les 5mn + provoqué sur chaque Etat du virtuel (ce scénario contient autant de bloc Si/Alors/Sinon qu'il y a d'antennes, et si etat antenne=0 alors exécute le scenario du point C + notification email)

Code scenario A

Code : Tout sélectionner

$remotes = blea_remote::all();
foreach ($remotes as $remote) {
  $last = $remote->getConfiguration('lastupdate','0');
  $_key = "BLEA_".$remote->getRemoteName()."_state";
  if ($last == '0' or time() - strtotime($last)>65){
    $scenario->setData($_key, 0);
  } else {
    $scenario->setData($_key, 1);
  }
}
Variables créées automatiquement par le scenario
Variables BLEA.png


B Virtuel avec affectation des variables
Virtuel Etat BLEA.png


C scenarion avec code pour restart des démon BLEA HS

Code : Tout sélectionner

$remotes = blea_remote::all();
foreach ($remotes as $remote) {
  $last = $remote->getConfiguration('lastupdate','0');
  $_remoteId = $remote->getId(); 
  if ($last == '0' or time() - strtotime($last)>65){
    $scenario->setLog('Antenne BLEA : '. $remote->getRemoteName() . ' , état KO, redémarrage du démon');
    message::add('networks','Antenne BLEA : '. $remote->getRemoteName() . ' , état KO, redémarrage du démon');
    blea::launchremote($_remoteId);	  
  } else {
    $scenario->setLog('Antenne BLEA : '. $remote->getRemoteName() . ' , état OK');
  }
}

D Scénario de contrôle et de restart des antennes BLEA
controle et restart antennes.png

En espérant que cela puisse aider d'autres personnes ;-)
@++
Jacky
c'est propre. merci du boulot ! j'ai un peu modifié histoire d'avoir qu'un seul script. Encore merci :)
petite question de débutant. Où te renseignes tu pour savoir quelle méthode appeler etc...? directement dans le code source du plugin ou bien dans la doc?

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 15 mai 2019, 08:49
par Eclaircix
Bonjour ibltz
Je ne peux pas te repondre...
Comme indiqué dans mon post le code n est pas de moi.
Voir le site de Benjamin (lien dans mon post)
@+

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 15 mai 2019, 18:43
par Poumi
Dans le code les classes sont dans core/class/blea.class.php

Pas sûr que ce soit dans une doc

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 13:20
par Menama
Bonjour,
Le sujet m'intéresse. Je souhaite avoir un script qui se lance au démarrage de Jeedom plutôt qu'au Raspberry pour que la manip reste intégrée à la sauvegarde Jeedom.
J'ai trouvé ce lien http://sigalou-domotique.fr/domotique/6 ... -de-jeedom qui ne fonctionne pas chez moi et je n'ai aucune erreur. Avez vous une idée d'adaptation?
Merci d'avance

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 13:42
par Bull
Bonjour, cette méthode semble être conçue pour être utilisée uniquement lorsque vous réinitialisez votre jeedom, pas lorsque vous réinitialisez une antenne externe, ce que nous essayions de résoudre ici. Je ne comprends pas très bien ce que vous voulez faire, si vous me donnez plus de données, nous pouvons encore vous aider.

Salut
Bull
Menama a écrit :
26 juin 2019, 13:20
Bonjour,
Le sujet m'intéresse. Je souhaite avoir un script qui se lance au démarrage de Jeedom plutôt qu'au Raspberry pour que la manip reste intégrée à la sauvegarde Jeedom.
J'ai trouvé ce lien http://sigalou-domotique.fr/domotique/6 ... -de-jeedom qui ne fonctionne pas chez moi et je n'ai aucune erreur. Avez vous une idée d'adaptation?
Merci d'avance

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 13:49
par Menama
Merci Bull,
Effectivement, je veux uniquement l'antenne interne. Ce qui fonctionne avec des commandes manuelles mais je n'arrive pas à lancer au démarrage en automatique via un scenario qui lancerait un script.

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 14:10
par Bull
Je n'ai pas pu vous le dire tout de suite parce que ma jeedom n'a pas d'antenne BT donc le démon est "désactivé" Mais si je n'ai pas tort avec la nouvelle fonctionnalité Heartbeat il ne devrait se lever que si le démon n'obtient pas de réponse dans le temps indiqué... Avez-vous testé cette fonctionnalité ?

Contre le problème que BT ne démarre pas au démarrage la première fois est généralement résolu lorsque vous lancez la première fois la commande "sudo systemctl enable hciuart".

Le problème doit être ailleurs, peut-être que le fichier /var/log/message ou /var/log/syslog indique pourquoi BT ne démarre pas automatiquement.



Menama a écrit :
26 juin 2019, 13:49
Merci Bull,
Effectivement, je veux uniquement l'antenne interne. Ce qui fonctionne avec des commandes manuelles mais je n'arrive pas à lancer au démarrage en automatique via un scenario qui lancerait un script.

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 14:23
par Menama
Je testerai ce soir en rentrant chez moi. Je ferai un retour. Selon toi, le script n'est pas nécessaire? La commande que tu proposes est dedans.
En tout cas, je ne peux pas lancer le démon en manuel (pas de bouton).
Capture.PNG
Capture.PNG (25.75 Kio) Consulté 3097 fois

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 17:41
par Menama
La commande "sudo systemctl enable hciuart" n'a pas suffit
En faisant ensuite "sudo systemctl start hciuart", le bluetooth est revenu.
Je suis preneur d'une solution pour lancer ces 2 commandes à chaque redémarrage de Jeedom via scénario et script?
Merci d'avance :D

Concernant les dossiers log, désolé, je ne sais pas comment les trouver. :?

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 17:53
par Fabrice
C'est louche ça, car chez moi je n'ai ou eu a faire cela sur Raspberry pi depuis la version 9.x

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 18:20
par Bull
@menama Sur quel hard Jeedom fonctionne-t-il ?

@Fabrice Je suppose que dans votre cas, vous avez essayé de mettre à jour le firmware rpi.

sudo apt-get update
sudo apt-get install rpi-update
sudo rpi-update

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 18:50
par Menama
Sur Raspberry Pi3 B+
Raspbian GNU/Linux 9 (stretch) 32bits (armv7l)

Re: [Résolu]Lancez daemon après chaque redémarrage (antenne RPI 3)

Publié : 26 juin 2019, 19:16
par Bull
Essayez d'abord de mettre à jour le firmware RPI avec les commandes que j'ai données à Fabrice.

Lorsque vous lancerez systemtcl la prochaine fois qu'il vous dira une erreur ou quelque chose et que vous exécuterez une commande de journal, collez ici ce qu'il vous dit.