Erreur scène luup condition

Programmation de la Vera

Re: Erreur scène luup condition

Messagede lmet » 11 Jan 2017, 13:31

@Niko juste pour le fun ...
Code: Tout sélectionner
VSWITCH = "urn:upnp-org:serviceId:VSwitch1"                  -- Variable Switch
function notification_free (Message)
  local StatusCode, content = luup.inet.wget("https://smsapi.free-mobile.fr/sendmsg?user=xxxxxxxx&pass=yyyyyyyyyy&msg= " .. Message)
end

i = 0
function alerte()
  local PorteGarage = luup.variable_get (VSWITCH, "Status", 22)
  i = i + 1
  if PorteGarage == "1" then
    --  Porte ouverte i = 1 cela fait 3 minutes i = 2 cela fait 8 minutes
   --  notification_free("Notif: " ..i)
  else
   --  Porte fermĂ©e i = 1 avant 3 mn i = 2 entre 3 et 8 mn)
   --  notification_free("Notif: " ..i)
  end
end

luup.call_delay("alerte",180) -- Appel après 3 Minutes
luup.call_delay("alerte",480) -- Appel après 8 Minutes
return true
lmet
Domotique : RPI 3 raspbian stretch, clef Z-wave Aeon Labs, application Domoticz v4.9700
EverSpring : ST814, AN158-6
Fibaro : FGR-221,FGS-221, FGS-211,FGD-211,FGK-103, FGRM-221, FGRM-222, FGMS-001, FGFS-101
iPad Air 2 : Imperihome
Caméras : FosCam FI9805W
Sécurité : Nest Protect
Energie : AEO_HEM2 d'AEON LABS, onduleur APC Back-UPS ES 700
Autres : Pc Windows 10 Pro 64 bits, IPX 800 v3, Netatmo station météo, NAS Synology DS214, TV Sony KDL-50W755c
Avatar de l’utilisateur
lmet
Dieu de domotique
 
Messages: 1096
Inscription: 14 AoĂ» 2011, 18:54
Localisation: Val d'Oise

Re: Erreur scène luup condition

Messagede chrifabre » 11 Jan 2017, 14:31

Pas mal Imet ...
c'est mieux structuré ....

@Niko
Comme le suggère Imet il est préférable de définir toutes tes variables globales, par exemple les services, de préférence dans le StartLuup.
Je te conseille aussi de définir un nom à tes Devices. (exemple -- Capteur_PorteGarage = 22) et d'utiliser ce nom en place du no Id dans ton Code. Car si un jour ton capteur est HS et que tu dois le changer tu n'auras qu'à changer l'Id au niveau de la définition ... sinon ce sera la galère pour aller retrouver où tu as utilisé ce capteur.
De même dans ce StartLuup tu ecris toutes les fonctions que tu pourras utiliser plus facilement de tes scènes, par exemple dans ton cas la fonction d'envoi de message sur ton téléphone Free. Ce sera plus simple en écriture ...
Par exemple des extraits de mon StartLuup
Code: Tout sélectionner
-- **************************************************
-- Definitions des Devices
-- **************************************************
-- Securite
--
        ACTION_SIRENE           =  21     -- Sirene Interieure
        ACTION_BUZZER_AL        =  27     -- Buzzer
        ACTION_VOYANT_AL        =  25     -- Voyant Rouge Clignotant
        ACTION_PRISE            =  11     -- Fibaro WallPlug
--
        CAPTEUR_FUMEE           =  20     -- Detecteur de FumĂ©e Couloir
        CAPTEUR_PORTE_ENTREE    =   6     -- Capteur Ouverture EVR SM103Porte
        CAPTEUR_CUISINE_D       =   3     -- Capteur Ouverture EVR SM103Fenetre
        CAPTEUR_CUISINE_G       =  42     -- Capteur Ouverture EVR HSM02 Fenetre 
        CAPTEUR_SALON_TV        =  90     -- Capteur Ouverture Fibaro FGK101Fenetre
        CAPTEUR_SALON           =  99     -- Capteur Ouverture Fibaro FGK101Fenetre
        CAPTEUR_BRIGITTE        =   9     -- Capteur Ouverture EVR SM103 Fenetre
        CAPTEUR_CDE_ALARME      =   7     -- Capteur Ouverture EVR SM103 Fenetre
        CAPTEUR_ANAIS           =   8     -- Capteur Ouverture EVR SM103 Fenetre
        CAPTEUR_CEDRIC          = 102     -- Capteur Ouverture Fibaro FGK101 Fenetre


Code: Tout sélectionner
-- **************************************************
-- DĂ©finition des devices et services
-- **************************************************
--
-- Devices
        DID_BL = "urn:schemas-upnp-org:device:BinaryLight:1"
        DID_DL = "urn:schemas-upnp-org:device:DimmableLight:1"
        DID_DS = "urn:schemas-micasaverde-com:device:DoorSensor:1"
        DID_MS = "urn:schemas-micasaverde-com:device:MotionSensor:1"
        DID_LS = "urn:schemas-micasaverde-com:device:LightSensor:1"
        DID_TS = "urn:schemas-micasaverde-com:device:TemperatureSensor:1"
        DID_HS = "urn:schemas-micasaverde-com:device:HumiditySensor:1"
        DID_PM = "urn:schemas-micasaverde-com:device:PowerMeter:1"
        DID_CD = "urn:schemas-micasaverde-com:device:ComboDevice:1"
--
-- Services
        SID_SP  = "urn:upnp-org:serviceId:SwitchPower1"
        SID_DM  = "urn:upnp-org:serviceId:Dimming1"
        SID_SS  = "urn:micasaverde-com:serviceId:SecuritySensor1"
        SID_MS  = "urn:micasaverde-com:serviceId:MotionSensor1"
        SID_LS  = "urn:micasaverde-com:serviceId:LightSensor1"
        SID_TS  = "urn:upnp-org:serviceId:TemperatureSensor1"
        SID_HS  = "urn:micasaverde-com:serviceId:HumiditySensor1"
        SID_VC  = "urn:upnp-org:serviceId:VContainer1"
        SID_VS  = "urn:upnp-org:serviceId:VSwitch1"
        SID_HAG = "urn:micasaverde-com:serviceId:HomeAutomationGateway1"
        SID_EM  = "urn:micasaverde-com:serviceId:EnergyMetering1"
        SID_HA  = "urn:micasaverde-com:serviceId:HaDevice1"
        SID_CT  = "urn:futzle-com:serviceId:CountdownTimer1"
        SID_GCAL = "urn:srs-com:serviceId:GCalIII"
        SID_WC  =  "urn:upnp-org:serviceId:WindowCovering1"
        SID_MS  = "urn:dcineco-com:serviceId:MSwitch1"
--


Code: Tout sélectionner
-- **************************************************
-- Fonction Notification SMS Free
-- **************************************************
function notification_free(type_message, message)

   local url = "https://smsapi.free-mobile.fr/sendmsg?"
   local var_user = "xxxxxxxxx"
   local var_pass = "yyyyyyyyyyyyyyy"

   local varDate = os.date("%d/%m/%Y  %HH%Mmn%Ss", os.time())
   local msg = type_message .. " - " .. message .. " - " .. varDate
   local varmsg = url .. "user=" .. var_user .. "&pass=" ..  var_pass .. "&msg=" .. msg

   local StatusCode, content = luup.inet.wget(varmsg,1)

end
--
VERA_EDGE 1.7.4452 / VERA_PLUS 1.7.4453 / VERALITE - 1.5.672
Everspring ST814(1), SM103(8), SE812(1), SF812(1), SP814(1), UTSE03A(1), HSM02(1), AN145-2(2)
Duwi  064312 (3) , 064459 (1)
Fibaro FGS221 (3), FGS211(1), FGD211(1), Wall Plug (1), FGMS-001(2), RGBW(1), FGRM-222(7), FGK-101(4), FGSD-002(2), FGFS-101(1)
Aeon DSC12104
Remotec ZXT-120, ZRC-90EU
MCO-HOME MH-S412(2), MH-S314(3)
NEO COOLCAM PowerPlug(6), Light Switch EU-2(4), DĂ©tecteur Mouvement PIR(3)
TOPVICO Detecteur Mouvement PIR
Swiid SwiidInter(3)
BENEXT TagReader
RFXCOM LAN + Sondes Température/Humidité THGR122NX, THGR810, THN132ES, THGR328N) + sonde Piscine(THWR800)
Karotz
Google Home / Alexa
Foscam FI8910W, Wanscam HW0025, Seculink SA-IPC2130HB, HIKVISION DS-2CD2420F-IW
3 Tablettes Android AT102K, CT1020 et PIPO + ImperiHome Pro
PC Tout en Un Tactile 22" ASUS + AltUi v2.40.2501
HP Proliant + XPEnology
Lecteur RFID modifié Zwave
Mon site : http://www.e-domotic.fr/blog/
Avatar de l’utilisateur
chrifabre
Dieu de domotique
 
Messages: 672
Inscription: 01 Jan 2012, 12:10
Localisation: SANARY SUR MER

Re: Erreur scène luup condition

Messagede Niko » 13 Jan 2017, 08:40

Bonjour,
Tout d'abord merci à vous deux pour le temps passé sur mon problème.
J'y vois maintenant un peu plus clair dans la programmation luup et la gestion des variables mĂŞme si il reste du chemin Ă  parcourir.
Ma scène fonctionne bien maintenant. La déclaration des variables globales est une très bonne idée. Je vais m'y atteler maintenant avant qu'il ne soit trop tard.
Merci encore, je ne manquerai pas de repasser parce qu'Ă  mon avis, les questions vont revenir :D
Niko
Box Zwave : Vera Lite UI7 v:1.7.1017
Plugins : VeraConnect WWN, ImperiHome, Virtual ON/OFF Switches, eMail Notification, RGB Controller
EverSpring : HSM02
Fibaro : FGWPE F101, FGD212 (*2), FGS221 (*2), FGS211, FGS213, FGRM221 (*5), FGRM222, FGSD002
Caméras : Hikvision
Thermostat : Nest
Nas : Xpenology sur HP Proliant
Assitant : Google Home
Niko
Guru de domotique
 
Messages: 120
Inscription: 25 Avr 2012, 14:39

Précédente

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique