Aller au contenu
tinman

Test Z-Wave Range

Recommended Posts

Bonjour,

 

il y a une fonction cachée sur le Z-Wave à  la plage de test (HC2 v4.100)

local devicetotest = xxx
local loops = 2
fibaro:call(devicetotest, "rangeTestStart", loops);

après l'essai exécuté ce dispositif pour mettre en mode normal

fibaro:call(devicetotest, "rangeTestStop")

les résultats sont au-dessus fenêtre de message,

 

post-3773-0-32718500-1476818889_thumb.jpg

 

ils peuvent être lus en arrière avec cette commande

local events = api.get('/refreshStates?last=1')

local msga = table.concat(events.logs, "###")

local message = ""

message = string.match( msga:reverse(), "^(.-)###")
if (message ~= nil) then
  	fibaro:debug(message:reverse())
end

Amusez-vous bien :)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne suis pas sûr d'avoir bien compris : ça fait quoi cette fonction ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Et cela test quoi exactement ?

Partager ce message


Lien à poster
Partager sur d’autres sites

"rangeTestStart" looks like an hidden command.

And you are running an unavailable alpha version.

 

It seem's that you know the HC2 internals better than us :13:

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Mouais, ça ok, mais bon, juste vraiment pas cool si c'est ça la nouveauté à  venir...

Partager ce message


Lien à poster
Partager sur d’autres sites

Et cela test quoi exactement ?

 

par exemple., vous pouvez exécuter la boucle (par exemple 1000 pings) et marcher avec le module pour vérifier quand il est hors de portée

Partager ce message


Lien à poster
Partager sur d’autres sites

OK merci pour l'information.

 

Est-ce qu'il y a une autre fonction pour voir les voisins des modules ?

Cela permettrait de créer une table de routage du réseau.

Partager ce message


Lien à poster
Partager sur d’autres sites

Thanks,

 

Si je comprends bien ca permet de tester la portee d'un module pour le 1er code ?

 

Les tests pour moi sur le WP du lave-linge, a priuori je perds 1 "paquet", pourtant, jamais aucun souci de monitoring, du 100% avec

Stat send frame: 2
[21:48:32] Send: Basic Set Off number: 1/2 Success
[21:48:32] Send: Basic Set On number: 2/2 Fail
[21:48:32] Stat send fail: 1 send success: 1

Puis le rangeTestStop

Stop Test. Stat send fail: 1 send success: 1

Voila le debug avec la scene "api.get"

[DEBUG] 22:00:04: [21:51:06] Stop Test. Stat send fail: 1 send success: 1

et le json de

http://IPHC2/api/refreshStates
{
"status": "IDLE",
"last": 1460173,
"date": "21:59 | 18.10.2016",
"timestamp": 1476820786,
"logs": [ ]
}

puis le json de (enfin une partie), à  priori cela renvoie les derniers evenements sur les modules, VD et la valeur des labels

http://IPHC2/api/refreshStates?last=1
{
"status": "IDLE",
"last": 1461075,
"date": "22:03 | 18.10.2016",
"timestamp": 1476821010,
"logs": [
"[21:32:09] Opening port",
"[21:32:09] Initializing Z-Wave",
"[21:32:09] Pthread Initialize",
"[21:32:16] Z-wave start",
"[21:48:32] Stat send frame: 2",
"[21:48:32] Send: Basic Set Off number: 1/2  Success",
"[21:48:32] Send: Basic Set On number: 2/2  Fail",
"[21:48:32] Stat send fail: 1 send success: 1",
"[21:51:06] Stop Test. Stat send fail: 1 send success: 1"
],
"events": [
{
"type": "DevicePropertyUpdatedEvent",
"data": {
"id": 53,
"property": "value",
"oldValue": 237.748,
"newValue": 238.053
}
},
{
"type": "DevicePropertyUpdatedEvent",
"data": {
"id": 59,
"property": "value",
"oldValue": 238.004,
"newValue": 238.032
}
},
{
"type": "DevicePropertyUpdatedEvent",
"data": {
"id": 72,
"property": "logTemp",
"oldValue": "TxtGreen",
"newValue": "TxtRed"
}
},
{
"type": "DevicePropertyUpdatedEvent",
"data": {
"id": 53,
"property": "value",
"oldValue": 238.053,
"newValue": 238.018
}
},
{
"type": "DevicePropertyUpdatedEvent",
"data": {
"id": 59,
"property": "value",
"oldValue": 238.032,
"newValue": 238.178
}

Devinez ce que c'est ;-)

{
"id": 37,
"currentIcon": "37",
"ui.labelmaj.value": "18-10-2016 22:02:50",
"ui.vlCPU0.value": "Coeur 1 : 1.89%",
"ui.vlCPU1.value": "Coeur 2 : 1.77%",
"ui.vlRAM0.value": "Utilisé : 25%",
"ui.vlRAM1.value": "Disponible : 75%",
"ui.vlSystem0.value": "Utilisé : 42%",
"ui.vlSystem1.value": "Disponible : 58%"
},

Je ne comprends tout de même pas ce qu'est le reverse dans le string.match, si les experts vous pouviez me renseugner svp

Partager ce message


Lien à poster
Partager sur d’autres sites

Est-ce qu'il y a une autre fonction pour voir les voisins des modules ?

Cela permettrait de créer une table de routage du réseau.

 

non, il n'y a pas de commande connue.

 

toutefois :) , connecter via SSH à  HC2,

 

exécuter

screen -r $(ps aux | grep '[Z]wave' | awk '{print $2}')

exécuter

setLogLevel

comme Channel name:-> "ZWAVE"
comme New log level:-> "debug" ou "trace"

CTRL+a+d (de détacher Screen)

exécuter

local devicetotest = xxx
fibaro:call(devicetotest, "requestNodeNeighborUpdate")

contrôler /tmp/Zwave.log les FUNC_ID_ZW_ASSIGN_RETURN_ROUTE

 

post-3773-0-87054900-1476824280_thumb.jpg

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne comprends tout de même pas ce qu'est le reverse dans le string.match, si les experts vous pouviez me renseugner svp

"logs": [

"[21:32:09] Opening port",

"[21:32:09] Initializing Z-Wave",

"[21:32:09] Pthread Initialize",

"[21:32:16] Z-wave start",

"[21:48:32] Stat send frame: 2",

"[21:48:32] Send: Basic Set Off number: 1/2  Success",

"[21:48:32] Send: Basic Set On number: 2/2  Fail",

"[21:48:32] Stat send fail: 1 send success: 1",

"[21:51:06] Stop Test. Stat send fail: 1 send success: 1"

i utilise la fonction reverse() pour obtenir la dernière ligne du log

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello @Tinman,

 

thanks a lot for the explanation ;-)

 

ca me donne envie d'etre root tout ca.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

×