Aller au contenu

Support Gea


Steven

Messages recommandés

maintenant, si la solution "mais heu" ne te satisfait pas, tu pux ESSAYER de créer une usine à  gaz.

Mettre la valeur dans un VG (avec deux décimales), puis lire cette VG et l'envoyer. Mais tout ça pour ça ?

 

Rhooo le méchant Jojo ! Nikko il a contourné la solution "mais heu" :P

 

Merci Nikko ! :60::D

Lien vers le commentaire
Partager sur d’autres sites

Hello,

 

Je n'arrive pas a Dimmer mon éclairage avec cette ligne de commande.

J'ai essayé des combinaisons cumulatives genre : {{"turnOn", "Value", id["MURAL_SEJOUR"],30}}) mais je ne sais pas si c'est accepté par GEA.

En fait l'éclairage est à  100%

 

Voici la ligne (mais ça ne dimm pas)

 

Une idée ? "mais heu" :D

  -- Si bascule garage est à  On et qu'il fait nuit, allumer séjour à  30%
GEA.add({id["BASCULE_GARAGE"],nuit}, -1, "", {{"turnOn", id["MURAL_SEJOUR"],30}})

Et si je veux rajouter l'état du module, là  ça ne s'allume carrément plus, mais là  ce n'est pas très important :D:P  mdrr

GEA.add({id["BASCULE_GARAGE"], 1, nuit}, -1, "", {{"turnOn", id["MURAL_SEJOUR"],30}})
Lien vers le commentaire
Partager sur d’autres sites

En fait je voulais que l'event se produise uniquement si module a 1

Mais comme par défaut je pense que cela fonctionne si module a 1 et non pas 0

Donc pas besoin de le spécifier (quel balot)

 

Donc combiner turnOn et Value ne sert a rien, je comprends pourquoi ça ne fonctionnait pas bien :D
Le "Value" provoque à  lui seul un turnOn mais avec réglage de la valeur, sans valeur pas de fonctionnement...

{{"turnOn", "Value", id["MURAL_SEJOUR"],30}})
Lien vers le commentaire
Partager sur d’autres sites

Merci Nikko pour ce code.

Je l'ai mis en place, j'attends d'avoir une remontée de temp et je te tiens au courant :D

 


On peut peut être modifier le code de GEA dans la fonction getMessage:

if (entry[GEA.keys["VALUE"]][1]) then 
	msg = string.gsub(msg, "#value#", entry[GEA.keys["VALUE"]][1]) 
	msg = string.gsub(msg, "#value%[1%]#", entry[GEA.keys["VALUE"]][1])
end

Par:

if (entry[GEA.keys["VALUE"]][1]) then
            if tonumber(entry[GEA.keys["VALUE"]][1]) and string.match(entry[GEA.keys["VALUE"]][1], "(%.)") then
                msg = string.gsub(msg, "#value#", string.format('%.02f ',entry[GEA.keys["VALUE"]][1]))
                msg = string.gsub(msg, "#value%[1%]#", string.format('%.02f ',entry[GEA.keys["VALUE"]][1]))
            else
                msg = string.gsub(msg, "#value#", entry[GEA.keys["VALUE"]][1])
                msg = string.gsub(msg, "#value%[1%]#", entry[GEA.keys["VALUE"]][1])
            end
end

Du coup voici le debug ensuite:

 

attachicon.gifgea_number_after.png

 

Je n'ai pas fais plus de test que ça (uniquement ces 2 lignes avec 1 seule conditions) mais si ça marche bien cela évite les manipulations avec les labels de VD.

 

Nicolas

Lien vers le commentaire
Partager sur d’autres sites

heu... non c'est même plus parlant, surtout quand mon incendie ne se déclenche pas et que mes caméras ne disent rien non plus.

Je n'ai pas encore trouvé le probleme... Le meme capteur en extérieur ne me sort pas de bétises pareil.

Lien vers le commentaire
Partager sur d’autres sites

depuis la reconfiguration complète de mon installation, GEA continue de m'envoyer une information de piles faibles pour 1 FGMS. Ce FGMS avait bien les piles faibles avent la reconfiguration. Maintenant xcelui-là  a les piles à  92%

 

Voici ma configuration GEA

   GEA.add ({"Batteries", 20}, 24*60*60, "", {{"Time", "18:00", "18:30"}, {"Email", UserID["Vincent"], "ALERTE - Batteries faibles : A commander"}, {"Repeat"}})

et le mail généré par cette instruction

Subject : ALERTE - Batteries faibles : A commander
from : HC2-xxxxxx@fibaro.com <HC2-xxxxxx@fibaro.com>
	
18:00 (Il y a 33 minutes)
		
À moi
Pile faible [Mvt_HallNuit_SdJ] 0%
Pile faible [Tmp_HallNuit_SdJ] 0%
Pile faible [Lux_HallNuit_SdJ] 0%
Pile faible [Seism_HallNuit_SdJ] 0%

avez-vous une idée ?

Lien vers le commentaire
Partager sur d’autres sites

@jojo:

 

Je pense que tu as vérifié tes id ( genre avant configuration tu avais un id qui est toujours présent et maintenant il y en a un nouveau en plus). Sous le toolkit, la valeur est bien à  92% ?

 

A priori GEA n'est pas en cause. Si tu veux en être vraiment sà»r, tu peux essayer ce genre de code dans une scène:

-- ID des modules à  piles
local id = { 317 , 318, 319, 320 , 368 }
for i = 1, #id do
  fibaro:debug(string.format('[ %s | %s ] Batterie: %s',id[i],fibaro:getName(id[i]),fibaro:getValue(id[i], 'batteryLevel')))
end
Lien vers le commentaire
Partager sur d’autres sites

Merci Nikko.

Alors là  je suis bleuffé. En effet, j'ai ceci

[DEBUG] 21:18:36: [ 107 | Mvt_HallNuit_SdJ ] Batterie: 0
[DEBUG] 21:18:36: [ 108 | Tmp_HallNuit_SdJ ] Batterie: 0
[DEBUG] 21:18:36: [ 109 | Lux_HallNuit_SdJ ] Batterie: 0
[DEBUG] 21:18:36: [ 110 | Seism_HallNuit_SdJ ] Batterie: 0

alors que le device m'affiche ceci :

post-1320-0-88586900-1448743011_thumb.png

ainsi que le VD My Batteries de Steven

post-1320-0-37953300-1448743012_thumb.png

 

Le json du device donne bien 0%

{

    "id": ​107,
    "name": "Mvt_HallNuit_SdJ",
    "roomID": ​10,
    "type": "com.fibaro.FGMS001",
    "baseType": "com.fibaro.motionSensor",
    "enabled": true,
    "visible": true,
    "isPlugin": false,
    "parentId": ​106,
    "remoteGatewayId": ​0,
    "interfaces": 

[

    "battery",
    "tamper",
    "zwave",
    "zwaveFirmwareUpdate",
    "zwaveMultiChannelAssociation",
    "zwaveWakeup"

],
"properties": 
{

    "parameters": 

[

{

    "id": ​1,
    "lastReportedValue": ​11,
    "lastSetValue": ​11,
    "size": ​1,
    "value": ​11

},
{

    "id": ​2,
    "lastReportedValue": ​8,
    "lastSetValue": ​8,
    "size": ​1,
    "value": ​8

},
{

    "id": ​3,
    "lastReportedValue": ​1,
    "lastSetValue": ​1,
    "size": ​1,
    "value": ​1

},
{

    "id": ​4,
    "lastReportedValue": ​2,
    "lastSetValue": ​2,
    "size": ​1,
    "value": ​2

},
{

    "id": ​6,
    "lastReportedValue": ​8,
    "lastSetValue": ​8,
    "size": ​2,
    "value": ​8

},
{

    "id": ​8,
    "lastReportedValue": ​2,
    "lastSetValue": ​2,
    "size": ​1,
    "value": ​2

},
{

    "id": ​9,
    "lastReportedValue": ​10,
    "lastSetValue": ​10,
    "size": ​2,
    "value": ​10

},
{

    "id": ​12,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​1,
    "value": ​0

},
{

    "id": ​14,
    "lastReportedValue": ​255,
    "lastSetValue": ​255,
    "size": ​1,
    "value": ​255

},
{

    "id": ​16,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​1,
    "value": ​0

},
{

    "id": ​20,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​1,
    "value": ​0

},
{

    "id": ​22,
    "lastReportedValue": ​30,
    "lastSetValue": ​30,
    "size": ​2,
    "value": ​30

},
{

    "id": ​24,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​1,
    "value": ​0

},
{

    "id": ​26,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​1,
    "value": ​0

},
{

    "id": ​40,
    "lastReportedValue": ​1,
    "lastSetValue": ​1,
    "size": ​2,
    "value": ​1

},
{

    "id": ​42,
    "lastReportedValue": ​180,
    "lastSetValue": ​180,
    "size": ​2,
    "value": ​180

},
{

    "id": ​60,
    "lastReportedValue": ​4,
    "lastSetValue": ​4,
    "size": ​1,
    "value": ​4

},
{

    "id": ​62,
    "lastReportedValue": ​900,
    "lastSetValue": ​900,
    "size": ​2,
    "value": ​900

},
{

    "id": ​64,
    "lastReportedValue": ​900,
    "lastSetValue": ​900,
    "size": ​2,
    "value": ​900

},
{

    "id": ​66,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​2,
    "value": ​0

},
{

    "id": ​80,
    "lastReportedValue": ​0,
    "lastSetValue": ​0,
    "size": ​1,
    "value": ​0

},
{

    "id": ​81,
    "lastReportedValue": ​50,
    "lastSetValue": ​50,
    "size": ​1,
    "value": ​50

},
{

    "id": ​82,
    "lastReportedValue": ​100,
    "lastSetValue": ​100,
    "size": ​2,
    "value": ​100

},
{

    "id": ​83,
    "lastReportedValue": ​1000,
    "lastSetValue": ​1000,
    "size": ​2,
    "value": ​1000

},
{

    "id": ​86,
    "lastReportedValue": ​18,
    "lastSetValue": ​18,
    "size": ​1,
    "value": ​18

},
{

    "id": ​87,
    "lastReportedValue": ​28,
    "lastSetValue": ​28,
    "size": ​1,
    "value": ​28

},

    {
        "id": ​89,
        "lastReportedValue": ​1,
        "lastSetValue": ​1,
        "size": ​1,
        "value": ​1
    }

],
"zwaveCompany": "Fibargroup",
"zwaveInfo": "3,3,67",
"zwaveVersion": "2.6",
"wakeUpTime": ​18000,
"pollingTimeSec": ​0,
"alarmDelay": "0",
"alarmExclude": "true",
"alarmTimeTimestamp": "0",
"armConditions": "{\"auto\":false,\"devices\":[{\"id\":107,\"propertyName\":\"value\",\"propertyValue\":\"0\"}],\"time\":0}",
"armConfig": "0",
"armDelay": "0",
"armError": "{}",
"armTimeTimestamp": "0",
"armed": "false",
"batteryLevel": "0",

ce qui est cohérent avec GEA, mais pas logique dans la réalité, car le spiles sont neuves et le device fonctionne.

Je vais regarder où le VD My Batteries cherche l'info, car elle trouve la bonne info

Lien vers le commentaire
Partager sur d’autres sites

ok, je pense avoir trouvé l'erreur. Elle provient de Fibaro:

 

J'ai analysé tous mes json.

 

Pour le FGMS qui pose "problème"

ID Mvt => batteryLevel = 0

ID Parent (la boite en carton) : batteryLevel = 92 (ce qui correspond à  ce qui est affiché par le VD My Batteries)

 

Pour un autre FGMS qui ne pose pas problème

ID Mvt => batteryLevel = 81

ID Parent (la boite en carton) : batteryLevel = 81 (ce qui correspond également à  ce qui est affiché par le VD My Batteries)

 

Donc le problème vient du fait que Fibaro ne met pas correctement à  jour les json des filles, mais bien celui du parent. Il y a certe une certain logique.

 

Peux-être qu'il faudrait modifier dans GEA (mais  Nikko tu es champion pour trouver où) pour qu'il ne vérifie que le module parent (c'est ceux dont le parent ID est 1)

Lien vers le commentaire
Partager sur d’autres sites

ok, j'ai fait dans GEA une modif QUE JE N'AIME PAS.

Car dans les propritétés du devices, il n'y a pas le parent deviceId (qui devrait être égal à1),

Mais j'ai trouvé le deviceIcon ==28 quand c'est ne boite en carton, et les parent devices, on ne change pas leur icône et par éfaut c'est la boite en carton, id = 28.

je t'avais dit que ce n'était pas beau ...

		elseif (type(id) == "table" and string.lower(id[1]) == "batteries" and #id > 1) then
			GEA.log("isActivate", entry, "type : batteries", false)
			local msg = ""
			for i = 1, 1000 do
				local batt = fibaro:getValue(i, 'batteryLevel')
				local devicone = tonumber(fibaro:getValue(i,'deviceIcon')) -- jojo 28/11/2015
--				if (type(batt) ~= nil and (tonumber(batt) ~= nil) and (tonumber(batt) <= tonumber(id[2])) or (tonumber(batt) == 255)) then  -- jojo 28/11/2015
				if ((type(batt) ~= nil and (tonumber(batt) ~= nil) and (tonumber(batt) <= tonumber(id[2])) or (tonumber(batt) == 255)) and devicone == 28) then  -- jojo 28/11/2015

Si tu as mieux, je suis donc preneur

Lien vers le commentaire
Partager sur d’autres sites

Je trouve ce Mickey plus fun ...

Avec Nikko, on a trouvé une solution plus sympa (merci Nikko)

Car en fait le problème vient que le niveau de batterie est mis àjour au niveau du device principal (la boîte en carton qui est toujours cachée) et parfois (merci Fibaro) sur les devices filles.

Or le code GEA de Steven n'affiche que les devices filles.

Voici ce que j'ai modifié pour qu'il n'affiche que les devices maîtres. Cela ne fonctionne que si vous avez renommé proprement vos devices maîtres.

		elseif (type(id) == "table" and string.lower(id[1]) == "batteries" and #id > 1) then
			GEA.log("isActivate", entry, "type : batteries", false)
			local msg = ""
			for i = 1, 1000 do
				local batt = fibaro:getValue(i, 'batteryLevel')
				if (type(batt) ~= nil and (tonumber(batt) ~= nil) and (tonumber(batt) <= tonumber(id[2])) or (tonumber(batt) == 255)) then 
					GEA.log("isActivate", entry, "checking : batteries " .. fibaro:getName(i), false)
					if (string.find(fibaro:getType(i), "zwaveDevice")) then  -- jojo 28/11/2015
---- jojo 28/11/2015					if (not string.find(fibaro:getName(i), "Zwave_")) then
						msg = msg .. GEA.translate[GEA.language]["BATTERIE"].. " [" .. fibaro:getName(i) .. "] " ..batt.."%\n" 
						result = true	
					end
				end
			end

Lien vers le commentaire
Partager sur d’autres sites

oui j'ai trouver une solution mai je ne c’est pas comment l’arrêter

local tempo  = {"Function", function() fibaro:sleep(3000) end}
GEA.add({{"value", id["CENTRE_TABLE"], "0"}}, -1 , "",  {{"turnOff", id["CENTRE_TABLE"]}, tempo, {"turnOn", id["CENTRE_TABLE"]}})
GEA.add({{"value", id["CENTRE_TABLE"], "1"}}, -1 , "",  {{"turnOn", id["CENTRE_TABLE"]}, {"turnOff", id["CENTRE_TABLE"]}})
 
Lien vers le commentaire
Partager sur d’autres sites

voila mai je pense qu'il est possible de faire mieux. ;)

local tempo  = {"Function", function() fibaro:sleep(2000) end}

  GEA.add({{"value", id["CENTRE_TABLE"], "0"}, {"Global", "eco", "1"} }, -1 , "",  {{"turnOff", id["CENTRE_TABLE"]}, tempo, {"turnOn", id["CENTRE_TABLE"]}})
  GEA.add({{"value", id["CENTRE_TABLE"], "1"}, {"Global", "eco", "1"} }, -1 , "",  {{"turnOn", id["CENTRE_TABLE"]}, tempo, {"turnOff", id["CENTRE_TABLE"]}})

 
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...