Page 1 sur 3

etat des dispositifs au redemarage

Publié : 24 nov. 2014, 00:27
par dd91
Bonjour

juste une petite question bete (car je n'ai pas forcement trouvé de reponse a ma question sur le net)

prenons en compte que le serveur domoticz tourne en permance pas de probleme a se poser...

maintenant par exemple j'allume la sortie gpio que je vais appeler "Sortie 1"

celle ci passe a 1 et la lampe s'allume

j'ai admetons une coupure de courant le courant revient le serveur redemare et la sur domoticz j'ai toujours l'etat 1 sur le logiciel mais ma lampe quand a elle est physiquement eteinte...

je doit faire off puis on sur le logiciel pour la réalumer...

comment faire pour qu'au demarage de domoticz il remettre physiquement la lampe a 1?

merci d'avance de vos reponse :)

Re: etat des dispositifs au redemarage

Publié : 24 nov. 2014, 18:26
par patrice
Bonsoir
Pas facile comme question mais pas que pour Domoticz, c'est vrai pour tous les systèmes ou le maitre envoie des ordres à des esclaves, surtout dans des protocoles comme le Rfxcom, ou il n'y a pas de retour d'info des switches.On est toujours dans un etat "flou" après une coupure.
Une façon de gérer cela qu'ont des systèmes industriels est d'avoir un état "de base" ,sécure pour tout le monde (portes ouvertes, alarmes désarmées, bras en position sure ....) et lors du démarrage on force tout le monde à revenir dans cet état.

Il faut s'inspirer de cela pour faire des scripts qui remettent tes périphériques dans l'etat souhaité puis caser ça quelque part dans
le script de démarrage de Domoticz pour ramener tout le matériel dans un état précis. Je dis ça mais cela ne me ferait pas rire si il fallait que je le fasse :?

Une autre solution est d'éviter les coupures de courant, un onduleur avec une sortie USB et sur ton PC/raspberry utiliser un logiciel type NUT qui bipera puis éteindra proprement le serveur Domoticz lorsque la batterie aura atteint X % semble bien plus facile à mettre en oeuvre

Voila mes quelques pistes peut être que d'autres lecteurs auront un autre avis sur le sujet...

Re: etat des dispositifs au redemarage

Publié : 24 nov. 2014, 21:26
par dd91
salut

merci a toi pour ce debut de reponse il est vrai que c'est un peu domage qu'en cas de coupure de courant tout soit HS avec un bon moment de remise en etat

il est vrai qu"il est domage que "pour le moment" (sait on jamais) le logiciel ne gere pas nativement l'envoie d'une info reguliere

comme par exemple une fois que j'active la sortie 1 que le logiciel envoie une requete toute les minutes par exemple pour redonné l'etat a cette sortie (pratique en cas de redemarage) par exemple si l'on as 1 minute ou le chauffage va se remettre en route donc pas trop grave

je ne sait pas si un jour il pourron integré cet element... ;s

Re: etat des dispositifs au redemarage

Publié : 25 nov. 2014, 08:49
par Jihem
Bonjour,
j'ai le même souci pour mon chauffage et je réfléchi à quelques solutions.
Il y a la solution de Patrice avec un onduleur (sur la Box et le raspberry) et tu mets une notification sur la téléinfo en cas de coupure. Ça marche mais les onduleurs en 220V ne sont pas bon marché.
je pense aussi à un relais qui serait enclenché manuellement (en l'alimentant au travers du contact); son état est analysé en permanence par le raspberry; en cas de coupure, le relais s'ouvre et quand le courant revient le raspberry envoit une notification disant que le courant a été coupé. Tu peux alors remettre ton chauffage en route depuis un navigateur. il faudrait aussi pouvoir réarmer le relais depuis le navigateur. C'est un peu "bourrin" mais ça devrait marcher....à voir.

Re: etat des dispositifs au redemarage

Publié : 27 nov. 2014, 15:03
par Jihem
dd91 a écrit : comme par exemple une fois que j'active la sortie 1 que le logiciel envoie une requete toute les minutes par exemple pour redonné l'etat a cette sortie (pratique en cas de redemarage) par exemple si l'on as 1 minute ou le chauffage va se remettre en route donc pas trop grave
s
Tu peux tester l'état de ta sortie dans l'api et renvoyer la commande vers ton dispositif.

#!/usr/bin/php
<?php
$json_string = file_get_contents("http://192.168.1.27:8080/json.htm?type=devices&rid=idx");
$parsed_json = json_decode($json_string, true);
$parsed_json = $parsed_json['result'][0];
$stat = $parsed_json['Status'];

echo "Status".$stat."\n";

if ($stat == "On") {
shell_exec('curl "http://192.168.1.27:8080/json.htm?type= ... light&idx=idx&switchcmd=On&level=0"');
}
else {
shell_exec('curl "http://192.168.1.27:8080/json.htm?type= ... light&idx=idx&switchcmd=Off&level=0"');
}
?>
Cela te remet ton contact dans l'état où il était avant la coupure
soit tu mets le script dans crontab soit tu le mets au démarrage dans rc.local

il y a aussi la solution qui consiste à envoyer une notification à chaque boot du raspi. tu es prévenu quand il y a eu une coupure.

'curl -k https://prowl.weks.net/publicapi/add -F apikey="ta_clef_API_Prowl" -F application="DOMOTICZ" -F event="" -F priority="1" -F description="Coupure de courant"

Je vais opter pour cette solution car je trouve qu'il est intéressant de savoir qu'il vient d'y avoir une coupure (ce qui est assez rare quand même) afin de pouvoir vérifier un certain nombre de choses.
Il reste le problème de l'installation qui disjoncte, je suis en train de regarder vers une carte GSM qui pourrait m'envoyer un SMS s'il le courant ne revient pas au bout d'un certain temps.

@Patrice
Sais tu s'il est possible de mettre la variable switchcmd=$stat à la place de "On" ou "Off" dans la commande json? et plus généralement d'entrer des variables dans cette url. Ça permettrait, en faisant une boucle, de tester l'ensemble des switchs et de les remettre dans l'état de départ. Ça marche en bash mais pas en PHP.... je ne maitrise pas bien tout ça!

Re: etat des dispositifs au redemarage

Publié : 27 nov. 2014, 18:22
par dd91
bonjour

le script interrogera domoticz pour voir si l'état sur le logiciel?

sinon j'avais pensé a une chose mais il faut voir ce que vous en penser....

a la sortie des GPIO (on va partir sur l'idée de 8 sorties)

les GPIO les sorties irai vers un PIC (ou peut être une puce arduino a voir....)

domoticz active le gpio qui envoie l'info sur le pic et qui lui active la sortie du pic correspondant vers la carte relais ( en général dessus y a un opto/coupleur)

en cas de coupure de courant le pic a un effet mémoire donc au redémarrage du courant le pic lui normalement reprendra sa position d'avant...

ensuite dans domoticz on peux mettre une action script au passage off rallume la sortie une demie seconde puis l'éteint

on peux aussi penser a une arduino qui garderai en mémoire le dernier état et un script sur le raspberry qui interrogerai l'ardui pour savoir l'état de toute les sortie des le démarrage?

est ce que ca parait bon comme solution?
est ce que quelqu'un saurait programmer tout ca?

Re: etat des dispositifs au redemarage

Publié : 27 nov. 2014, 19:14
par patrice
bonsoir ou rebonsoir

Tout ça est super compliqué

Si j'avais à le faire, et je l'ai déja fait dans une autre vie; je ferai un fichier txt avec idx;etat
114:On
54:Off
...

puis un script qui lit le ficher et remet tout ca dans l'etat mentionné dans le fichier
puis un bouton dans Domoticz pour déclencher ce script ou au demarrage de Domoticz

@jihem
Oui c'est possible, ton script doit savoir gerer le $stat et tu construit ton url JSON avec, j'ai fait un exemple de truc comme ca en 2 lignes pour les tarifs tempo EDF recemment puisque je ne vais pas lire un fichier txt mais une url sur le net



une discussion à eu lieu ici regarde dans le bas avec radioon on et if [ "$*" = "on" ] ; then
viewtopic.php?f=10&t=18&p=449#p449

Re: etat des dispositifs au redemarage

Publié : 28 nov. 2014, 06:56
par Jihem
Bonjour
En effet tout cela est bien compliqué!
Si l'on veut être certain de l’état d'un contacteur, il est préférable d'utiliser un système comme Zwave qui fonctionne dans les 2 sens.
C'est le gros avantage de Domoticz de pouvoir gérer plusieurs protocoles.
Il est possible d'utiliser des systèmes plus fiables (et plus couteux) pour les opérations importantes, chauffage par exemple, et d'autres meilleurs marché genre Chacon-Rfx433 pour le reste.
Je crois qu'il faut garder la main sur de son installation, l'important étant d'être informé et de pouvoir contrôler à distance. Ensuite il faudra bien faire appel à un quelqu’un si l'installation à disjoncté et que l'on ne veut pas retrouver sa maison gelée et le congel pourri!
Bonne journée

Re: etat des dispositifs au redemarage

Publié : 30 nov. 2014, 15:39
par Jihem
@dd91
Bonjour,
Une réponse toute simple à ta 1ere question: :idea:
un petit script_time_control.lua à placer dans le répertoire /domoticz/scripts/lua.
le script s’exécute toute les minutes, il contrôle l'état de chaque interrupteur et renvoi la commande.

Code : Tout sélectionner

commandArray = {}

        for i, v in pairs(otherdevices) do
        print(i, v)
                commandArray[i]=v

end

return commandArray
En cas de coupure le script remet ton gpio dans l'état ou il était avant la coupure

Re: etat des dispositifs au redemarage

Publié : 30 nov. 2014, 18:17
par patrice
Jihem,

Comment ce script connait il l'état a H-1h, ?