Restart Domoticz
Restart Domoticz
Bonjour à tous,
je voudrais savoir si il est possible de créer un script pour redémarrer Domoticz en fonction d'une condition.
Par exemple, de temps en temps, les infos de mon zigbee2mqtt ne remontent pas sous domoticz, un simple redémarrage du système via la commande "sudo service domoticz.sh restart" via putty et ça repart.
Je voulais donc savoir si il était possible de créer un script qui dirait : Si tel et tel capteur sans retour depuis x minutes alors restart.
Autre soucis, je perds souvent la connexion avec mon thermostat Netatmo. Une simple désactivation/réactivation dans la partie "matériel" sert à retrouver la connexion et mes infos remontent correctement. On peut aussi faire un script pour désactiver/réactivter si pas d'infos pendant x min aussi ?
J'ai cherché sur le forum et trouvé cela : https://easydomoticz.com/forum/viewtopi ... =10&t=7793
Je ne m'y connais malheureusement que près peu sous Linux et ne comprends ce qu'il faudrait faire.
Merci pour vos infos.
DaX
je voudrais savoir si il est possible de créer un script pour redémarrer Domoticz en fonction d'une condition.
Par exemple, de temps en temps, les infos de mon zigbee2mqtt ne remontent pas sous domoticz, un simple redémarrage du système via la commande "sudo service domoticz.sh restart" via putty et ça repart.
Je voulais donc savoir si il était possible de créer un script qui dirait : Si tel et tel capteur sans retour depuis x minutes alors restart.
Autre soucis, je perds souvent la connexion avec mon thermostat Netatmo. Une simple désactivation/réactivation dans la partie "matériel" sert à retrouver la connexion et mes infos remontent correctement. On peut aussi faire un script pour désactiver/réactivter si pas d'infos pendant x min aussi ?
J'ai cherché sur le forum et trouvé cela : https://easydomoticz.com/forum/viewtopi ... =10&t=7793
Je ne m'y connais malheureusement que près peu sous Linux et ne comprends ce qu'il faudrait faire.
Merci pour vos infos.
DaX
Re: Restart Domoticz
Bonjour,
oui possible je pense, il faut checker en local :
curl -X GET 'http://127.0.0.1:8080/json.htm?type=dev ... dispositif_'
Il faut remplacer l'IDX du dispositif, je pense qu'en regardant le champ LastUpdate, tu devrais pouvoir faire quelque chose.
En revanche je trouve cela dangereux dans le sens ou tu risques d'avoir une boucle infinie de reboot, si tu supprimes le device, ou il ne répond plus .... il faut bien le gérer surtout en cas d'allumage du domoticz après X temps d'arrêt.
En espérant que cela t'aide.
@++
oui possible je pense, il faut checker en local :
curl -X GET 'http://127.0.0.1:8080/json.htm?type=dev ... dispositif_'
Il faut remplacer l'IDX du dispositif, je pense qu'en regardant le champ LastUpdate, tu devrais pouvoir faire quelque chose.
En revanche je trouve cela dangereux dans le sens ou tu risques d'avoir une boucle infinie de reboot, si tu supprimes le device, ou il ne répond plus .... il faut bien le gérer surtout en cas d'allumage du domoticz après X temps d'arrêt.
En espérant que cela t'aide.
@++
Dernière modification par alasta le 16 avr. 2020, 15:17, modifié 1 fois.
Re: Restart Domoticz
Merci pour l'info.
Je n'ai pas encore mis le nez dans le LUA ni dans les requêtes json, j'vais essayer quand j'aurai un peu de temps.
Merci encore.
Je n'ai pas encore mis le nez dans le LUA ni dans les requêtes json, j'vais essayer quand j'aurai un peu de temps.
Merci encore.
Re: Restart Domoticz
Juste pour la partie redémarrage de netatmo, c'est possible de scripter pour dire :
Si pas de changement pendant 30min, arrêtez puis démarrer le "Matériel" ?
J'ai essayé de regarder le LUA et c'est pas facile au premier regard, d'autres solutions plus easy ?
Merci
Si pas de changement pendant 30min, arrêtez puis démarrer le "Matériel" ?
J'ai essayé de regarder le LUA et c'est pas facile au premier regard, d'autres solutions plus easy ?
Merci
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Restart Domoticz
Salut,
Je ne connais pas ce matériel et n'ai pas de quoi tester,
Mais lors de sa mise en place n'y a-t-il pas comme pour beaucoup d'autres un champ 'delai d' inactivité' ?
Il sert à cela..

Je ne connais pas ce matériel et n'ai pas de quoi tester,
Mais lors de sa mise en place n'y a-t-il pas comme pour beaucoup d'autres un champ 'delai d' inactivité' ?
Il sert à cela..

MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: Restart Domoticz
Très bien vu.
Il y en a un en effet, que j'ai réglé à 30 mn.
Pour la petite histoire, ça relance bien le worker mais ça ne provoque pas forcément la mise à jour.
API déficiente chez Netatmo ou programmation de moyenne qualité dans Domoticz ?
Je ne saurais le dire.
Il y en a un en effet, que j'ai réglé à 30 mn.
Pour la petite histoire, ça relance bien le worker mais ça ne provoque pas forcément la mise à jour.
API déficiente chez Netatmo ou programmation de moyenne qualité dans Domoticz ?
Je ne saurais le dire.
Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
-
didier3164
- Messages : 15
- Inscription : 02 nov. 2018, 11:28
Re: Restart Domoticz
Bonsoir
Pour que tu puisses te lancer dans le développement, il faut tout d'abord créer une application sur ton compte Netatmo.
https://dev.netatmo.com/apps
Ça te donnera un numéro de client et une clé secrète.
Si tu es intéressé j'ai fait plusieurs scripts avec dzvents pour connecter mon thermostat et mes vannes Netatmo et accessoirement récupérer les données météo des stations Netatmo à proximité.
Je trouve quand même que depuis que Netatmo a été racheté par Legrand, il y a beaucoup de problème de connexion.
Pour que tu puisses te lancer dans le développement, il faut tout d'abord créer une application sur ton compte Netatmo.
https://dev.netatmo.com/apps
Ça te donnera un numéro de client et une clé secrète.
Si tu es intéressé j'ai fait plusieurs scripts avec dzvents pour connecter mon thermostat et mes vannes Netatmo et accessoirement récupérer les données météo des stations Netatmo à proximité.
Je trouve quand même que depuis que Netatmo a été racheté par Legrand, il y a beaucoup de problème de connexion.
Re: Restart Domoticz
Merci @vil1driver pour l'info et je confirme ce que dit Chrominator, il y a bien ce réglage que j'ai aussi mis à 30min, on verra ce que ça donne.
@didier3164, oui, je me posais justement la question pour récupérer les infos des personnes autour de mon domicile et qui ont les stations météo donc si tu as quelques petits trucs, je suis preneur. Je n'ai pas de vanne Netatmo pour l'instant et mon thermostat a été ajouté à Domoticz juste pour avoir la température et le retour d'état sur la commande de chauffage de la chaudière.
@didier3164, oui, je me posais justement la question pour récupérer les infos des personnes autour de mon domicile et qui ont les stations météo donc si tu as quelques petits trucs, je suis preneur. Je n'ai pas de vanne Netatmo pour l'instant et mon thermostat a été ajouté à Domoticz juste pour avoir la température et le retour d'état sur la commande de chauffage de la chaudière.
-
didier3164
- Messages : 15
- Inscription : 02 nov. 2018, 11:28
Re: Restart Domoticz
Bonjour,
Pour plus de clarté, j'ai découpé le script en plusieurs scripts.
Les variables ci-après sont définies dans le module Global_Data.lua
L'obtention du Token
Je modifie le script pour la lecture des données météo pour qu'il soit plus compréhensible et je le posterais en suivant.
Pour plus de clarté, j'ai découpé le script en plusieurs scripts.
Les variables ci-après sont définies dans le module Global_Data.lua
- dz.globalData.refresh_token
- dz.globalData.access_token
- dz.globalData.refresh_time
L'obtention du Token
Code : Tout sélectionner
------------------------------------------------------------------------
-- ELEMENTS D'AUTHENTIFICATION
------------------------------------------------------------------------
local client_id = 'xxxxxxxxxx'
local client_secret = 'xxxxxxxxxx'
local username = 'xxxxxxxxxx'
local password = 'xxxxxx'
local scope = 'read_thermostat write_thermostat read_camera read_station'
------------------------------------------------------------------------
local reset_idx = 176 -- Interrupteur pour initialiser le token
return {
active = true,
logging = {
-- level = domoticz.LOG_DEBUG, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_INFO,
-- level = domoticz.LOG_ERROR,
-- level = domoticz.LOG_DEBUG,
level = domoticz.LOG_MODULE_EXEC_INFO,
marker = 'Netatmo Token'
},
on = {
devices = {reset_idx},
httpResponses = {'Netatmo_getToken'}
},
execute = function(dz, item)
if (item.isDevice) then
-- Initialisation du token
dz.openURL({
url = 'https://api.netatmo.com/oauth2/token',
method = 'POST',
callback = 'Netatmo_getToken',
headers = { ['Content-Type']='application/x-www-form-urlencoded' },
postData = 'grant_type=password&username='..username
..'&password='..password
..'&client_id='..client_id
..'&client_secret='..client_secret
..'&scope='..scope
})
elseif (item.isHTTPResponse) then
if (item.ok) then
if (item.isJSON) then
if (item.callback == 'Netatmo_getToken') then
dz.globalData.refresh_token = item.json.refresh_token
dz.globalData.access_token = item.json.access_token
dz.globalData.refresh_time = os.date("%H:%M")
dz.globalData.expire_in = item.json.expire_in
-- Refresh du token
dz.openURL({
url = 'https://api.netatmo.com/oauth2/token',
method = 'POST',
callback = 'Netatmo_getToken',
headers = { ['Content-Type']='application/x-www-form-urlencoded' },
postData = 'grant_type=refresh_token&refresh_token='..dz.globalData.refresh_token
..'&client_id='..client_id
..'&client_secret='..client_secret
}).afterSec(item.json.expire_in)
end
end
end
end
end
}
Dernière modification par didier3164 le 21 avr. 2020, 19:09, modifié 3 fois.
Re: Restart Domoticz
Merci, je maîtrise pas encore le LUA mais je vais m'intéresser à ça.
Pour info, le fait de mettre le délai d'inactivité à 30min fonctionne parfaitement.
Dans mes logs, je peux même voir que depuis ce matin, la connexion à Netatmo a été perdu 4 fois ...
Tous les 3h20 en fait ... (3h peut être en comptant l'inactivité), peut être une volonté de Netatmo.
Pour info, le fait de mettre le délai d'inactivité à 30min fonctionne parfaitement.
Dans mes logs, je peux même voir que depuis ce matin, la connexion à Netatmo a été perdu 4 fois ...
Code : Tout sélectionner
2020-04-20 11:10:33.867 Error: Thermostat hardware (3) nothing received for more than 30 Minutes!....
2020-04-20 11:10:34.867 Error: Restarting: Thermostat
2020-04-20 14:31:00.301 Error: Thermostat hardware (3) nothing received for more than 30 Minutes!....
2020-04-20 14:31:01.302 Error: Restarting: Thermostat
2020-04-20 17:51:21.937 Error: Thermostat hardware (3) nothing received for more than 30 Minutes!....
2020-04-20 17:51:22.938 Error: Restarting: Thermostat
2020-04-20 21:11:53.445 Error: Thermostat hardware (3) nothing received for more than 30 Minutes!....
2020-04-20 21:11:54.446 Error: Restarting: Thermostat