Page 1 sur 2
Remontée Niveau du signal RF
Publié : 02 avr. 2020, 10:28
par Irate
A partir d'un RFXcom j'ai la remontée du niveau de signal RF qui s'affiche, ce qui est très pratique pour savoir si j'ai un problème de réception.
Je me suis fait un RFLink qui fonctionne parfaitement par ailleurs mais je n'obtiens aucune information du niveau de signal. Est-ce normal pour un RFlink ou ai-je oublié quelque chose ?
Re: Remontée Niveau du signal RF
Publié : 02 avr. 2020, 10:46
par thier
Je pense que tu n'as rien oublié. Je suis aussi avec rflink et je n'ai pas la remontée du signal.
C'est un script lua qui surveille la fréquence des réceptions et m'alerte en cas de problème.
Re: Remontée Niveau du signal RF
Publié : 02 avr. 2020, 10:56
par Irate
Le script te donne la puissance du signal ?
Si c'est le cas je suis preneur

Re: Remontée Niveau du signal RF
Publié : 02 avr. 2020, 11:43
par thier
Je me suis mal exprimé, le script surveille la réception des données en provenance des sondes. Si une sonde n'a pas donné de ces nouvelles pendant un labs de temps, ce même script me prévient. Je ne connais pas la fiabilité d'indication de la puissance du signal donné par le rfxcom, mais à l'époque ou j'en avais un, ce n'est pas parce que le signal était indiqué >6 que je captais forcément bien toutes mes sondes.
Re: Remontée Niveau du signal RF
Publié : 02 avr. 2020, 12:46
par Irate
j'en avais un, ce n'est pas parce que le signal était indiqué >6 que je captais forcément bien toutes mes sondes.
C'est tout à fait vrai. Par contre cela indique déjà si la qualité risque d'être mauvaise. J'habite dans une maison où les murs font 80cm de large et j'ai également des sondes à l'extérieur. Connaître la qualité du signal m'indique quel type d'antenne va équiper mes sondes.
Par contre peux-tu m'en dire un peu plus sur le script lua ?
Merci
Re: Remontée Niveau du signal RF
Publié : 02 avr. 2020, 13:50
par thier
voila mon script. J'ai épuré le miens pour essayer de le rendre plus compréhensible. C'est un script de type time pour qu'il s'exécute toutes les minutes.
il faut adapter à ton cas les noms de sondes (1ère donnée entre{}), créer les variables (2ième donnée entre{}) et les textes pour alerte mail (4ième donnée entre{})
Code : Tout sélectionner
--[[
script_time_securite_sonde.lua
s'exécute toutes les minutes. Vérifie si la mise à jour des températures est inférieure à tonumber(device[3])
--]]
local devices = {} --nom de la sonde, variable sonde, durée avant perte du signal en secondes,texte mail.
devices[1] = {'temperature salon','sondetempsalon','1800','perdu. Plus de chauffage possible sans remettre à zéro la variable'}
devices[2] = {'jardin','sondetempexterieur','3610','perdu. Plus de relevé sans remettre à zéro la variable',}
devices[3] = {'temperature sdb','sondetempsdb','1800','perdu. Plus de chauffage possible sans remettre à zéro la variable'}
devices[4] = {'temperature mezzanine','sondetempmezzanine','1800','perdu - Plus d utilisation du ventilateur sans remettre à zéro la variable',}
devices[5] = {'chambre 1','sondetempchambre1','1800','perdu. Plus de chauffage possible sans remettre à zéro la variable'}
devices[6] = {'chambre 2','sondetempchambre2','1800','perdu. Plus de chauffage possible sans remettre à zéro la variable'}
devices[7] = {'chambre 3','sondetempchambre3','1800','perdu. Plus de chauffage possible sans remettre à zéro la variable'}
devices[8] = {'temperature cuisine','sondetempcuisine','1800','perdu. Plus de chauffage possible sans remettre à zéro la variable'}
-- fin du tableau
commandArray = {}
function lastSeen(device)
timestamp = otherdevices_lastupdate[device] or device
y, m, d, H, M, S = timestamp:match("(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)")
difference = os.difftime(os.time(), os.time{year=y, month=m, day=d, hour=H, min=M, sec=S})
return difference
end
for n,device in pairs(devices) do
--si perte de sonde
if (lastSeen(device[1]) > tonumber(device[3]) and uservariables[device[2]] == 0) then
commandArray[#commandArray + 1]={['Variable:'..device[2]] ='1'}
commandArray['SendEmail']= 'domoticz: perte sonde '..device[1]..'#Sonde '..device[1]..' '..device[4]..' '..device[2]..'#icitonadresse@gmail.com'
--cas de sonde retrouvée
elseif (uservariables[device[2]] == 1 and lastSeen(device[1]) < tonumber(device[3]) ) then
commandArray[#commandArray + 1]={['Variable:'..device[2]] ='0'}
commandArray['SendEmail']= 'domoticz: sonde '..device[1]..' Ok#Signal de la sonde '..device[1]..' Ok de nouveau#icitonadresse@gmail.com'
end
end
return commandArray
Re: Remontée Niveau du signal RF
Publié : 02 avr. 2020, 13:56
par Irate
Merci beaucoup, je vais regarder ça de près.
Bonne journée
Re: Remontée Niveau du signal RF
Publié : 13 juil. 2020, 21:06
par zebons
pas besoin de script pour ce type de remontée il suffit de créer une notification sur la sonde désirée

- notification.png (102.19 Kio) Consulté 6487 fois
Re: Remontée Niveau du signal RF
Publié : 15 juil. 2020, 08:16
par ogulf
Je n'avais jamais fait attention à cette possibilité !
Merci pour l'info
Par contre, si la passerelle "tombe" (déjà arrivé avec le RFLink) et grâce au post pour désactiver/réactiver un matériel (difficile remettre le lien avec un smartphone dans le train

) alors le script a tout son sens :
Moi je fais une seule notification avec l'ensemble des sondes de température non reçues ; si en plus aucune n'est reçue au bout de 20 minutes (il faut donc les compter) alors désactivation et réactivation du RFLink.
Bien sûr, si ça ne suffit pas.... c'est que le chat a joué avec les fils Dupont !!!

Et j'ai bien essayé de scripter "if cat then..." mais madame n'est pas d'accord

Re: Remontée Niveau du signal RF
Publié : 17 juil. 2020, 18:43
par Neutrino
ogulf a écrit : 15 juil. 2020, 08:16
Par contre, si la passerelle "tombe" (déjà arrivé avec le RFLink) et grâce au post pour désactiver/réactiver un matériel (difficile remettre le lien avec un smartphone dans le train

) alors le script a tout son sens :
Pour ça, il y a le menu "Délai d'inactivité:" en sélectionnant ton rflink dans "matériels".
Cela redémarre automatiquement le rflink s'il n'a rien reçu depuis x minutes.