Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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}})
Posté(e)

@domodial:

 

Pour un dimmer on utilise Value:

GEA.add({id["BASCULE_GARAGE"],nuit}, -1, "", {{"Value",id["MURAL_SEJOUR"],30}})

Par contre je ne comprens pas ta seconde requète... :mellow:

 

 

Posté(e)

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}})
Posté(e)

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

Posté(e)

Je ne pense pas que cela vienne du code car je crois avoir eu ce phénomène hier.

La notification affiche 99° (punaise y a le feu)

 

Je vais tester sur un autre capteur de la meme marque.

Posté(e)

@domodial: Ok le log GEA et la notification affichent 99 mais la sonde sous l'interface web elle affiche combien ? J'espère que tu as des bières au frais car àce rythme tu vas vite te déshydrater...... :P

Posté(e)

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.

Posté(e)

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 ?

Posté(e)

@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
Posté(e)

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

Posté(e)

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)

Posté(e)

Je peux regarder dans GEA pour une modification. Par contre est-ce qu'un réveil du module a déjàeut lieu? Peut être qu'un rafraichissement arrivera àce moment là.

Posté(e)

j'ai déjàcommencé àregarder dans GEA, mais évidemment, la solution que je viens de tester ne fonctionne pas ...

Le module a déjàété réveillé, mais je vais encore le faire pour être sûr

Posté(e)

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

Posté(e)

je me suis dit c'est qui ce nouveau Mickey qui débarque et qui maitrise GEA.... puis j'ai vu le pseudo et le nombre de message...... ah la feinte :P

Posté(e)

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

Posté(e)

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"]}})
 
Posté(e)

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"]}})

 
×
×
  • Créer...