Aller au contenu

Module Virtuel Alarme Avancée


Moicphil

Messages recommandés

J'en profite pour signaler que certaines assurances exigent également que l'on coupe l'arrivée d'eau pour une certaine durée d'absence :

Ainsi votre assureur peut exiger dans votre contrat qu’en cas d’absence temporaire et bien sà»r prolongée, vous deviez couper l’alimentation en eau de votre logement (souvent au-delà  de 3 jours d’absence).
Faute de respecter cette mesure de sécurité, votre contrat peut prévoir une absence de garantie.
Pensez donc à  bien relire votre contrat pour connaître les modalités de votre garantie dégât des eaux :
- nombre exact de jours au bout desquels vous devez absolument couper l’eau ;
- biens assurés contre un éventuel dégât des eaux : mobilier, vêtements, etc. ;
- cas d’absence de garantie : défaut d’entretien, même équipement qui cause plusieurs dégâts, etc.
 
Au delà  de l'exigence de l'assurance, c'est une bonne pratique pour éviter une facture d'eau démentielle en cas de fuite
J'ai testé lorsque mon cumulus a "dégagé" chez moi alors que j'étais en vacances, mais heureusement j'avais coupé l'eau
Cela dit, çà  peut arriver à  tout moment (d'où l’intérêt des flood sensor et d'une vanne motorisée)
Lien vers le commentaire
Partager sur d’autres sites

Bah moi je les ferme et les ouvre comme si on était là . Mais bon, sur de l'électrique, cela ne veut vraiment pas dire grand chose, car je ne vois pas trop comment ils peuvent prouver qu'ils étaient ouverts... Car chez moi, la véranda n'a que des BSO, pas de volets, donc je vois mal le voleur se faire chier par les volets.

Maintenant dans mes scénarios d'alarme (Encours de finalisation), de toute façon, quand ma détection extérieure se déclenche, tous les volets se ferment, sirène, etc. Par contre une fois que la détection intérieure se lance (Capteur sur chaque porte et fenêtre ou détection de mouvements), mais au contraire je ré-ouvre tout. C'est ce conseille beaucoup de boite de sécurité d'ailleurs, car volets fermés, le gars est tranquille dedans, volets ouverts, les voisins peuvent le voir (Même si chez moi ce n'est pas le cas, mur d'enceinte et aucun voisin avec visibilité chez moi).

 

Eau je n'ai jamais coupé, à  penser, mais je vais surtout mettre en place la vanne auto en cas de détection de fuite. Voir du coup fermer en auto en mode vacances.

Lien vers le commentaire
Partager sur d’autres sites

Moi j'ai eu le malheur de fermer l'eau sur un départ prolongé (1 mois). Quand je suis revenu, j'ai réouvert et j'ai eu une fuite monumentale àl'étage, les joints en fibre ont séché et le temps de regonfler j'ai eu de la flotte partout, parquet imprégné. Donc depuis, je ne ferme plus l'eau et j'ai pas de problèmes :) ..... jusqu'au jour où....

Lien vers le commentaire
Partager sur d’autres sites

Effectivement, les joints n'aiment pas. Par contre c'est pas normal que ton niveau ait baissé en 1 mois, tu dois donc avoir un circuit qui fuit qque part...

 

Sinon j'ai vérifié, moi je dois fermer seulement si plus de 30 jours d'absence, donc c'est pas prêt d'arriver :) Et je perds pas tout si je ne le fais pas, je perds 30%.

Lien vers le commentaire
Partager sur d’autres sites

Quelles que soient nos approches et pratiques différentes en matière de sécurité, retenir le message de @slobberbone dont la maison est incendiée :

Pour l'assurance habitation, on a tendance àpasser rapidement dessus, c'est une erreur

Il faut voir les compagnies d'assurance avant un éventuel sinistre et non après : peut-être qu'ils peuvent transiger sur la règle de fermeture des volets par exemple, si un système domotique simulant la présence, doublé d'une alarme, apporte une sécurité supérieure

Lien vers le commentaire
Partager sur d’autres sites

Bah moi je les ferme et les ouvre comme si on était là . Mais bon, sur de l'électrique, cela ne veut vraiment pas dire grand chose, car je ne vois pas trop comment ils peuvent prouver qu'ils étaient ouverts...

Comme d'habitude, l'expert va regarder si trace d'effraction sur les volets, c'est tout simple (et tu vas me dire que ..... ;) )

Après c'est sur qu'avec une véranda ça change tout !

 

Quelles que soient nos approches et pratiques différentes en matière de sécurité, retenir le message de @slobberbone dont la maison est incendiée :

Il faut voir les compagnies d'assurance avant un éventuel sinistre et non après : peut-être qu'ils peuvent transiger sur la règle de fermeture des volets par exemple, si un système domotique simulant la présence, doublé d'une alarme, apporte une sécurité supérieure

On a fait exprès de prendre un contrat d'assurance assez cher pour être bien couvert. Ceci dit je ne me suis pas replongé dedans, il serait intéressant que j'y jette à  nouveau un oeil. Rien que pour l'alarme que je n'ai jamais déclaré, ça pourrait peut être faire baisser la prime d'au moins..... soyons fous, 1€ par mois !

Lien vers le commentaire
Partager sur d’autres sites

Personnellement je n'ai pas essayé de faire baisser le prix de l'assurance en déclarant avoir une alarme.

Si par malheur elle n'a pas été enclenchée ou elle n'est plus conforme, ou... Ou... L'assurance pourrait s'en servir pour refuser d'indemniser..

Sent from my Note4

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 4 semaines après...

bonjour,

je tente une nouvelle fois de faire fonctionner cette scène.

Je pense avoir compris le code.

--[[
%% properties
27 value
219 value
53 value
410 value
66 value
75 value
88 value
235 value
251 value
244 value
282 value
296 value
368 value
388 value
390 value
392 value
%% globals
PA_Mode
PA_Sensors
--]]

local portables = {198}
local id_module_virtuel = 324


--------------------------------
local AlarmeMaison = fibaro:getGlobal("Etat_Alarme")
local AlarmeCabane = fibaro:getGlobal("Cabane_Alarme")
local VGJourNuit = fibaro:getGlobal("Jour_Nuit")
 
-- Id du capteur = true pour différé
local capteurs = {[251]=false, [388]=true, [390]=true, [392]=true, [410]=true}
 

-- Limitation à  1 seule instance en cours -----
if (fibaro:countScenes() > 1) then
    fibaro:abort()
end
 
-----------------------------------
 
function doIt(mode, armed, id)
 
fibaro:debug(mode)
if (armed) then fibaro:debug("armé") else fibaro:debug("désarmé") end
-----------------------------------------------------------------
if (mode == "Jour" and armed) then
-----------------------------------------------------------------

    
--- en mode différé ou non, faux si l'ID n'a pas été déclaré dans les la 1ère ligne de code
local differe = capteurs[trigger["deviceID"]] or false
 
if (not differe) then
    -- Activation de l'alarme
    fibaro:debug("Aucun Capteur sensible : Activation de l'alarme")
    fibaro:call(45, "turnOn")
else
    -- Capteurs sensibles : On attend 30 secondes puis on execute le code
    setTimeout(
        function()
            -- On reteste l'état de l'alarme qui a pu changer
            if (mode ~= "Arret") then
                fibaro:debug("Capteurs sensibles : activation de l'alarme après 30 secs")
                fibaro:call(45, "turnOn")
            end
        end, 3000)
end

J'ai fais des essais avec un capteur ID 251 et j'ai l'erreur suivante :

[DEBUG] 21:59:51: armé
[DEBUG] 21:59:51: line 55: attempt to index global 'trigger' (a nil value)
[DEBUG] 21:59:58: property
[DEBUG] 21:59:58: Déclencheur 251
[DEBUG] 21:59:58: [219,368,53,410,66,296,75,88,235,251,244,282,388,390,392,27]
[DEBUG] 21:59:58: exist

 

il y a t il une erreur de synthaxe ligne 55?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

depuis le dernier message, le script de la scène àun peu évolué.

J'ai l'impression que le problème ne vient pas uniquement du script mais également des Triggers. En effet, j'ai remarqué que la scène ne se lançait pas par une VG mais uniquement par le changement d'état d'un module déclaré en entête.

quelles sont les règles a respecter sur les triggers? peut on mettre %global au dessus de %properties.

Merci de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

après plusieurs essais, je pense avoir trouver une scène qui fonctionne, du moins la temporisation du déclenchement de l'alarme suivant le capteur en alerte. Certaines, elle est très mal codée, mais je ne sais pas faire mieux.

j'ai rajouté le trigger "324 ui.lblMode.value" pour lancer la scène sur changement de mode car avec la variable globale PA_Mode, cela ne fonctionnait pas.

--[[
%% properties
324 ui.lblMode.value
xxx value
388 value
390 value
392 value
%% globals
PA_Mode
PA_Sensors
--]]

--27 value

local portables = {198}
local id_module_virtuel = 324


--------------------------------
local AlarmeMaison = fibaro:getGlobal("Etat_Alarme")
local AlarmeCabane = fibaro:getGlobal("Cabane_Alarme")
local VGJourNuit = fibaro:getGlobal("Jour_Nuit")
local PAMODE = fibaro:getGlobal("PA_Mode")

fibaro:debug(PAMODE)

-----------------------------------------------
-- Limitation à  1 seule instance en cours -----
if (fibaro:countScenes() > 1) then
    fibaro:abort()
end
-----------------------------------------------

-----------------------------------------------
if
  (PAMODE == "Arret")
then
  fibaro:debug("Extinction de l'alarme")
  fibaro:setGlobal("Etat_Alarme", "OFF");
  fibaro:call(45, "turnOff")
end
-----------------------------------------------

if
  PAMODE =="Jour"
then
  fibaro:setGlobal("Etat_Alarme", "ON");
  if
    (
    tonumber(fibaro:getValue(219, "value")) > 0 or --bureau
    --tonumber(fibaro:getValue(368, "value")) > 0 or --Ch Amis
    tonumber(fibaro:getValue(53, "value")) > 0 or -- SdB
    tonumber(fibaro:getValue(66, "value")) > 0 or -- Porte Séjour
    tonumber(fibaro:getValue(75, "value")) > 0 or -- Baie Salon
    tonumber(fibaro:getValue(88, "value")) > 0 or -- Eliot
    tonumber(fibaro:getValue(235, "value")) > 0 or -- Grande Chambre
    tonumber(fibaro:getValue(251, "value")) > 0 or -- Baie salle
    tonumber(fibaro:getValue(244, "value")) > 0 or -- Porte Garage MAison
    tonumber(fibaro:getValue(282, "value")) > 0  -- Fenetre garage Kévin
    )
  then
    fibaro:call(45, "turnOn");
    fibaro:debug("Capteur Instantanée")  
  end

-----------------------------------------
--Capteur différé tempo1
  if
    (
    tonumber(fibaro:getValue(410, "value")) > 0  -- Porte entrée
    )
  then
    setTimeout(function()
    local delayedCheck1 = false;
    local tempDeviceState1, deviceLastModification1 = fibaro:get(410, "armed");
    if ( (os.time() - deviceLastModification1) >= 10) then
       delayedCheck1 = true;
    end
    if (
       delayedCheck1 == true
       )
    then
       fibaro:call(45, "turnOn");
       fibaro:debug(mode)
       fibaro:debug(PAMODE)
       fibaro:debug("Capteur differe 10sec")
    end
    end, 10000)
  end

-----------------------------------------
--Capteur différé tempo2
  if
    (
    tonumber(fibaro:getValue(388, "value")) > 0 or -- Garage Kévin
    tonumber(fibaro:getValue(390, "value")) > 0 or -- Garage Flo
    tonumber(fibaro:getValue(392, "value")) > 0 -- Porte Garage Kévin
    )
  then
    setTimeout(function()
    local delayedCheck2 = false;
    local tempDeviceState2, deviceLastModification2 = fibaro:get(392, "armed");
    if ((os.time() - deviceLastModification2) >= 20) then
    delayedCheck2 = true;
    end
    local delayedCheck3 = false;
    local tempDeviceState3, deviceLastModification3 = fibaro:get(388, "armed");
    if ((os.time() - deviceLastModification3) >= 20) then
    delayedCheck3 = true;
    end
    local delayedCheck4 = false;
    local tempDeviceState4, deviceLastModification4 = fibaro:get(390, "armed");
    if ((os.time() - deviceLastModification4) >= 20) then
    delayedCheck4 = true;
    end
    if (
       delayedCheck2 == true  or
       delayedCheck3 == true  or  
       delayedCheck4 == true
       )
    then
       fibaro:call(45, "turnOn");
       fibaro:debug(mode)
       fibaro:debug(PAMODE)
       fibaro:debug("Capteur differe 20s")
    end
    end, 20000)
  end
end

-----------------------------------
 
function doIt(mode, armed, id)

fibaro:debug(mode)
if (armed) then fibaro:debug("armé") else fibaro:debug("désarmé") end
-----------------------------------------------------------------
if (mode == "Jour" and armed) then
-----------------------------------------------------------------  
-----------------------------------------------------------------
elseif (mode == "Jour" and not armed) then
-----------------------------------------------------------------
-----------------------------------------------------------------
elseif (mode == "Nuit" and armed) then
-----------------------------------------------------------------

J'ai fais les essais avec des debug et la commande d'une lumière. Au final, je m'en servirai pour lancer des scènes qui gèreront les sirènes intérieur, extérieur et les caméras via le VD surveillance Station de Lazer.

 

Du coup je ne me sert pas de la scène initiale pour les actions a mener.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Bonjour

J'ai installé le VD et la scene mais j'ai un pb sur le VD. Le bouton test des ouvrants ne renvoie pas l'état.

Dans la fenêtre debug de ce bouton j'ai le message suivant

[ERROR] 10:22:42: line 59: bad argument #3 to 'gsub' (string/function/table expected)

et la ligne 59 du VD  bouton test des ouvrants est la suivante 

local msg = string.gsub(message, "#id#", fibaro:getName(doorId or 0))

Si quelqu'un peut éclairer mon ignorance ?

 

Merci par avance 

Lien vers le commentaire
Partager sur d’autres sites

Steven

Merci pour votre réponse. J'avais pensé à  ce problème et j'avais éliminé tous les id des portes en en laissant un seul. J'avais aussi vérifié les ID. Je vais recommencer en en choisisant un autre et si le pb vient de là  par tâtonnement je devrais y arriver.

By the way GEA = Genial

Merci 

Lien vers le commentaire
Partager sur d’autres sites

Steven

J'ai le meme problème en mettant un seul id d'ouverture.

Le plus étrange (pour moi) c'est que dans le debug de la scene associée au VD tous les ID sont bien reconnus avec l'indication ouvert ou fermé (s'agissant de portes ou fenêtres).

Mais il y a un message dans le debug de la scene qui semblerait qu'il y ait un pb de nom lié à  un ou des id bien qu'ils soient tous identifiés dans la fenêtre debug de la scene.

[DEBUG] 17:21:20: line 110: Assertion failed: Expected number

la ligne 110

local name = fibaro:getName(id) or "unknown"

Je suis pas suffisamment compétent pour savoir s'il y a un lien entre "l'anomalie" reportée dans le debug du VD (mon post plus haut) et celle du debug de la scene

 

Merci par avance

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Dans le bouton "Test des ouvrants", remplace la fonction pour l'affichage des traces (log) par le code suivant :

-- ------------------------------------------------------
-- Affichage de traces
-- ------------------------------------------------------
PhilAlarm.log = function(doorId, message, force)
  local msg = string.gsub(message, "#id#", (fibaro:getName(doorId or 0) or ''))
  if (force or PhilAlarm.debug) then
    fibaro:debug(msg)
  end
end

J'ai eu le même soucis il y a peu...

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...