Domotique chez DumpDos

Décrivez votre installation de Domotique : ce que vous gérez, quels sont les points forts de votre config.
Illustrez par des photos, partagez et faites nous envie !
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Re: Domotique chez DumpDos

Message par nene82 »

Bonjour,
Pouvez vous m'expliquer comment vous remontez sur Domoticz les appareils suivant :
- NAS
- Réseau
- L'onduleur (Charge batterie)
- Les débits montants et descendant de votre ADSL
je vous en remercie par avance
cdt,
DumpDos
Messages : 75
Inscription : 01 juin 2016, 20:09
Localisation : Grenoble (38)

Re: Domotique chez DumpDos

Message par DumpDos »

Bonsoir,
nene82 a écrit : Pouvez vous m'expliquer comment vous remontez sur Domoticz les appareils suivant :
- NAS
- Réseau
- L'onduleur (Charge batterie)
- Les débits montants et descendant de votre ADSL
je vous en remercie par avance
cdt,
Pour le NAS et le Réseau, il s'agit d'un simple script qui vérifie leur présence par le biais d'un ping réseau. il suffi juste de l'adapter en modifiant les variables :

Code : Tout sélectionner

script_time_ping_reseau.lua 
-------------------------------------------------------------------------------------------------------------
----------------------------------------- Variables à Editer ------------------------------------------------
-------------------------------------------------------------------------------------------------------------
 
local device		= 'Réseau'
local ip_reseau		= '8.8.4.4' -- (Serveur DNS)
local temps		= 60

-------------------------------------------------------------------------------------------------------------
-------------------------------------- Fin des Variables à Editer -------------------------------------------
-------------------------------------------------------------------------------------------------------------
 
-------------------------------------------------------------------------------------------------------------
------------------------------------------------ Fonctions --------------------------------------------------
-------------------------------------------------------------------------------------------------------------
 
function difference (s)
  year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t1 = os.time()
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  difference_commande = os.difftime (t1, t2)
  return difference_commande
end

-------------------------------------------------------------------------------------------------------------
---------------------------------------------- Fin Fonctions ------------------------------------------------
-------------------------------------------------------------------------------------------------------------
 
commandArray = {}

-- Vérification des conditions --
if (otherdevices[device]=='Off' or otherdevices[device]=='On') and (difference(otherdevices_lastupdate[device]) > temps) then

-- Envoi d'un ping -- 
	 ping_success = os.execute('ping -c1 '..ip_reseau)

	 -- Vérification des conditions --
	 if ping_success then
		 
		 -- Changement d'état --
		 commandArray[device]='On'
	 
	 -- Vérification des conditions --
	 elseif otherdevices[device]=='On' then 
        
		 -- Changement d'état --
		 commandArray[device]='Off'
     end
end
 
return commandArray
Pour l'onduleur, il doit disposer d'un port USB/Série permettant la remontée d'informations.
De mon coté je dispose d'un onduleur de la marque "APC" relié en USB à mon RPI et utilise le script suivant :

Code : Tout sélectionner

#!/bin/bash
#Script permettant la récupération des variables onduleur vers DZ

SERVER='192.168.0.10:8080/'
SERVER_CMD='json.htm?type=command&param=udevice&'
SWITCH_CMD='json.htm?type=command&param=switchlight&'
IDX1='568'
IDX2='566'
IDX3='569'
IDX4='567'
data=`apcaccess status`

#apc_total = "apcaccess status"

#echo "$data"

ups_stat=`awk '/STATUS / {print $3}' <<< "$data"`
ups_volts=`awk '/LINEV / {print $3}' <<< "$data"`
ups_charge=`awk '/BCHARGE / {print $3}' <<< "$data"`
ups_autono=`awk '/TIMELEFT / {print $3}' <<< "$data"`


#echo $apc_stat
#echo $apc_volts
#echo $apc_itemp
#echo $apc_load

hostcmd="http://${SERVER}${SERVER_CMD}idx=${IDX1}&nvalue=0&svalue=${ups_autono}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=${IDX2}&nvalue=0&svalue=${ups_volts}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=${IDX3}&nvalue=0&svalue=${ups_charge}"
curlres=`curl -sS $hostcmd`

if  [ "$ups_stat" = "ONLINE" ]; then
#Passage inter a ON
hostcmd="http://${SERVER}${SWITCH_CMD}idx=${IDX4}&switchcmd=On&level=0"
curlres=`curl -sS $hostcmd`

else
#Passage inter a OFF
hostcmd="http://${SERVER}${SWITCH_CMD}idx=${IDX4}&switchcmd=Off&level=0"
curlres=`curl -sS $hostcmd`

fi
Et enfin en ce qui concerne le débit internet je vous laisse faire un petit tour par ici : http://easydomoticz.com/foru/viewtopic.php?f=10t=587

En espérant que tout cela vous aidera.

DumpDos
Dernière modification par DumpDos le 05 déc. 2017, 22:34, modifié 1 fois.
Raspberry Pi 2 - Domoticz bêta- Custom Page - RfxTrx433E - MySensors - Z-Stick Gen 5
6 x DIO 54795 - 4 x DIO 54781 - 2 x Home Confort ECR-100 - 4 X THGR122NX - 1 X OWL Micro+
2 X RGB - 3D - 2 X Switch - 1 X Ir Rx-Tx
1 X Fibaro FGMS-001
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Re: Domotique chez DumpDos

Message par nene82 »

Bonjour,
Je vous remercie beaucoup.
Bien cordialement.
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Re: Domotique chez DumpDos

Message par nene82 »

Bonjour,
Voilà ce que me répond domoticz, je suis désolé je n'y arrive pas

"2018-07-30 15:03:00.508 Error: EventSystem: in script_time_ping_NAS.lua: [string "script_time_ping_NAS.lua..."]:6: syntax error near 'local'"


Votre script (mal) modifié

script_time_ping_NAS.lua
-------------------------------------------------------------------------------------------------------------
----------------------------------------- Variables à Editer ------------------------------------------------
-------------------------------------------------------------------------------------------------------------

local device = 'NAS'
local ip_reseau = '192.168.68.109' (Serveur DNS)
local temps = 60

-------------------------------------------------------------------------------------------------------------
-------------------------------------- Fin des Variables à Editer -------------------------------------------
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------
------------------------------------------------ Fonctions --------------------------------------------------
-------------------------------------------------------------------------------------------------------------

function difference (s)
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t1 = os.time()
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference_commande = os.difftime (t1, t2)
return difference_commande
end

-------------------------------------------------------------------------------------------------------------
---------------------------------------------- Fin Fonctions ------------------------------------------------
-------------------------------------------------------------------------------------------------------------

commandArray = {}

-- Vérification des conditions --
if (otherdevices[device]=='Off' or otherdevices[device]=='On') and (difference(otherdevices_lastupdate[device]) > temps) then

-- Envoi d'un ping --
ping_success = os.execute('ping -c1 '..ip_reseau)

-- Vérification des conditions --
if ping_success then

-- Changement d'état --
commandArray[device]='On'

-- Vérification des conditions --
elseif otherdevices[device]=='On' then

-- Changement d'état --
commandArray[device]='Off'
end
end

return commandArray

En fait, j'ai plusieurs scripts qui ne marchent pas, car mal adaptés.
peut être que votre correction me permettra de valider les autres.
merci de vos retours
DumpDos
Messages : 75
Inscription : 01 juin 2016, 20:09
Localisation : Grenoble (38)

Re: Domotique chez DumpDos

Message par DumpDos »

Bonjour, je pense que le problème est ici . :)

local ip_reseau = '192.168.68.109' (Serveur DNS)

Lorsque vous mettez un commentaire dans un script , il faut toujours le " commenter " pour pas qu'il ne soit interprété comme une commande, une variable ou encore une fonction. Ici (Serveur DNS) n'est pas commenté, d'ailleurs c'est de ma faute.
Dans un lua, on rajoute toujours deux tirets (--) avant le commentaire.

Vous pouvez remplacer par :

local ip_reseau = '192.168.68.109' -- (NAS)

Ou sans commentaire :

local ip_reseau = '192.168.68.109'
Raspberry Pi 2 - Domoticz bêta- Custom Page - RfxTrx433E - MySensors - Z-Stick Gen 5
6 x DIO 54795 - 4 x DIO 54781 - 2 x Home Confort ECR-100 - 4 X THGR122NX - 1 X OWL Micro+
2 X RGB - 3D - 2 X Switch - 1 X Ir Rx-Tx
1 X Fibaro FGMS-001
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Re: Domotique chez DumpDos

Message par nene82 »

Bonjour et merci pour votre patience, mais non ça ne marche pas.
Dans le log
""2018-07-30 15:03:00.508 Error: EventSystem: in script_time_ping_NAS.lua: [string "script_time_ping_NAS.lua..."]:6: syntax error near 'local'"
la ligne 6 correspondrait plutôt au Device.
6 local device = 'NAS'
Manifestement, j'ai fait au moins 2 erreurs....
incompréhensible IoI
Cdt
DumpDos
Messages : 75
Inscription : 01 juin 2016, 20:09
Localisation : Grenoble (38)

Re: Domotique chez DumpDos

Message par DumpDos »

nene82 a écrit :Bonjour et merci pour votre patience, mais non ça ne marche pas.
Dans le log
""2018-07-30 15:03:00.508 Error: EventSystem: in script_time_ping_NAS.lua: [string "script_time_ping_NAS.lua..."]:6: syntax error near 'local'"
la ligne 6 correspondrait plutôt au Device.
6 local device = 'NAS'
Manifestement, j'ai fait au moins 2 erreurs....
incompréhensible IoI
Cdt
Vous avez oublié de commenter en première ligne je ne vois que ça ;):

Code : Tout sélectionner

script_time_ping_NAS.lua
comme ça c'est mieux :

Code : Tout sélectionner

-- script_time_ping_NAS.lua
ça donne ça :

Code : Tout sélectionner

-- script_time_ping_NAS.lua
-------------------------------------------------------------------------------------------------------------
----------------------------------------- Variables à Editer ------------------------------------------------
-------------------------------------------------------------------------------------------------------------

local device = 'NAS'
local ip_reseau = '192.168.68.109' -- (NAS)
local temps = 60

-------------------------------------------------------------------------------------------------------------
-------------------------------------- Fin des Variables à Editer -------------------------------------------
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------
------------------------------------------------ Fonctions --------------------------------------------------
-------------------------------------------------------------------------------------------------------------

function difference (s)
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t1 = os.time()
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference_commande = os.difftime (t1, t2)
return difference_commande
end

-------------------------------------------------------------------------------------------------------------
---------------------------------------------- Fin Fonctions ------------------------------------------------
-------------------------------------------------------------------------------------------------------------

commandArray = {}

-- Vérification des conditions --
if (otherdevices[device]=='Off' or otherdevices[device]=='On') and (difference(otherdevices_lastupdate[device]) > temps) then

-- Envoi d'un ping --
ping_success = os.execute('ping -c1 '..ip_reseau)

-- Vérification des conditions --
if ping_success then

-- Changement d'état --
commandArray[device]='On'

-- Vérification des conditions --
elseif otherdevices[device]=='On' then

-- Changement d'état --
commandArray[device]='Off'
end
end

return commandArray
Raspberry Pi 2 - Domoticz bêta- Custom Page - RfxTrx433E - MySensors - Z-Stick Gen 5
6 x DIO 54795 - 4 x DIO 54781 - 2 x Home Confort ECR-100 - 4 X THGR122NX - 1 X OWL Micro+
2 X RGB - 3D - 2 X Switch - 1 X Ir Rx-Tx
1 X Fibaro FGMS-001
nene82
Messages : 61
Inscription : 17 févr. 2017, 11:05

Re: Domotique chez DumpDos

Message par nene82 »

re,
Cool, ça fonctionne! Super.
Sinon ce lien communiqué dans vos réponses précédentes ne fonctionne plus "Et enfin en ce qui concerne le débit internet je vous laisse faire un petit tour par ici : http://easydomoticz.com/foru/viewtopic.php?f=10t=587"
Merci beaucoup.
Répondre