luup: de quel type est le module attaqué

Programmation de la Vera

luup: de quel type est le module attaqué

Messagede jaco » 19 FĂ©v 2013, 12:21

J'ai défini deux fonctions dans mon fichier de démarrage lua qui me permettent de faire varier une lampe dimmable et d'éteindre ou allumer une prise on-off.

Or je souhaiterais les réunir en une seule fonction. (ce qui me permettrais de changer le type de prise utilisé pour telle lampe sans avoir à modifier mon code et d'une façon générale d'éviter une trop grande prolifération de déinition de fonctions)

J'ai bien vu deux champs dans l'onglet avancé des modules qui pourraient permettre de reconnaître dans mon code tel module comme étant de type on-off ou de type dimmer (device_file et category_num) mais il parait impossible de les attaquer.

Je ne sais donc pas comment faire, quelqu'un s'il vous plait ?

Voici le code de mes deux fonctions pour info:

Code: Tout sélectionner
function setStatus(id_device, status) -- attend 1 (pour ON) ou 0 (pour OFF)
   luup.call_action(SID_power, "SetTarget", {newTargetValue = tostring(status)}, id_device)
end

function setDimmer(id_device, dim) -- attend un nombre de 0 Ă  100
   luup.call_action(SID_dimmer, "SetLoadLevelTarget", {newLoadlevelTarget = dim}, id_device)
end


avec pour mémoire:

Code: Tout sélectionner
SID_power = "urn:upnp-org:serviceId:SwitchPower1"
SID_dimmer = "urn:upnp-org:serviceId:Dimming1"


Je voudrais faire les choses proprement quitte Ă  aloudir mon code plutĂ´t que d'assayer de faire varier une prise dans mes scripts luup qui ne le peut pas.
Mais je ne vais peut-être pas avoir le choix (je ne suis même pas sûr que ça ne génère pas une erreur fatale vu que je n'ai pas essayé).
RETOUR EXPERIENCE PRODUITS (01/2013 Ă  aujourd'hui)
433MHz: Astrell: qques Telcos et plugs on/off (pour dépanner)
Z-Wave:
ContrĂ´leurs - Micasaverde: VeraLite, Remotec: ZURC-550 (zombie) + ZRC-100, Aeon Labs: DSA22 + Z-Stick S2
Emetteurs - Aeon Labs: DSB05, Fibaro: FGK + FGMS (récents)
RĂ©cepteurs - Fibaro: Wallplug FGWPE, Everspring (marque de merde): AN157 (tous morts) + AN158 + AD142 (tous morts), QEES: Reto shell, Aeon Labs: DSC08 + DSC13
Ampoules - Domitech: ZBULB (récents), Aeon Labs: ZW098 (récents)
Infrarouge:
USBUIRT, AIM: IR606Q, Ebode (marque de merde): PM28 (tous morts) + EXLED3 (tous morts)
Divers:
Raspberry Pi: modèle B, Cubieboard: version 2, Monster Cable: switch hdmi
Disques durs externes: Seagate (de 1 Ă  2 To), Freecom (300 Go)
Wiko: Cink Peax
Ampoules led dimmables: Philips (eq 40W Ă  eq 100W), Vision El (eq 60W), Osram (eq 75W)
Ampoules fluo dimmables: quelques marques testées dont Osram et Ikea (toutes inutilisables)
Internet: Orange Livebox
jaco
Dieu de domotique
 
Messages: 423
Inscription: 20 Jan 2013, 00:09
Localisation: Tours

Re: luup: de quel type est le module attaqué

Messagede jaco » 10 Mar 2013, 08:49

Bon je me réponds à moi-même puisque.
La réponse à ta question mon pote (oui entre moi et moi, on s'appelle mon pote), elle est là:
http://wiki.micasaverde.com/index.php/L ... e:_devices

(grand moment de solitude..... :roll: )
RETOUR EXPERIENCE PRODUITS (01/2013 Ă  aujourd'hui)
433MHz: Astrell: qques Telcos et plugs on/off (pour dépanner)
Z-Wave:
ContrĂ´leurs - Micasaverde: VeraLite, Remotec: ZURC-550 (zombie) + ZRC-100, Aeon Labs: DSA22 + Z-Stick S2
Emetteurs - Aeon Labs: DSB05, Fibaro: FGK + FGMS (récents)
RĂ©cepteurs - Fibaro: Wallplug FGWPE, Everspring (marque de merde): AN157 (tous morts) + AN158 + AD142 (tous morts), QEES: Reto shell, Aeon Labs: DSC08 + DSC13
Ampoules - Domitech: ZBULB (récents), Aeon Labs: ZW098 (récents)
Infrarouge:
USBUIRT, AIM: IR606Q, Ebode (marque de merde): PM28 (tous morts) + EXLED3 (tous morts)
Divers:
Raspberry Pi: modèle B, Cubieboard: version 2, Monster Cable: switch hdmi
Disques durs externes: Seagate (de 1 Ă  2 To), Freecom (300 Go)
Wiko: Cink Peax
Ampoules led dimmables: Philips (eq 40W Ă  eq 100W), Vision El (eq 60W), Osram (eq 75W)
Ampoules fluo dimmables: quelques marques testées dont Osram et Ikea (toutes inutilisables)
Internet: Orange Livebox
jaco
Dieu de domotique
 
Messages: 423
Inscription: 20 Jan 2013, 00:09
Localisation: Tours

Re: luup: de quel type est le module attaqué

Messagede vosmont » 11 Mar 2013, 09:37

Bonjour,

voici une partie de mon fichier de démarrage :

Code: Tout sélectionner
-- **************************************************
-- Device types definitions
-- **************************************************

SID_SwitchPower1 = "urn:upnp-org:serviceId:SwitchPower1"
SID_Dimming1 = "urn:upnp-org:serviceId:Dimming1"
SID_Karotz1 = "urn:antor-fr:serviceId:Karotz1"
SID_VContainer1 = "urn:upnp-org:serviceId:VContainer1"
SID_HomeAutomationGateway1 = "urn:micasaverde-com:serviceId:HomeAutomationGateway1"
   
-- **************************************************
-- Functions
-- **************************************************

function getDeviceStatus(deviceId)
  return luup.variable_get(SID_SwitchPower1, "Status", deviceId)
end

function setDeviceTarget(deviceId, target)
  luup.call_action(SID_SwitchPower1, "SetTarget", {newTargetValue = target}, deviceId)
end

function getDeviceLoadLevelStatus(deviceId)
  return luup.variable_get(SID_Dimming1, "LoadLevelStatus", deviceId)
end

function getDeviceLoadLevelTarget(deviceId)
  return luup.variable_get(SID_Dimming1, "LoadLevelTarget", deviceId)
end

function setDeviceLoadLevelTarget(deviceId, loadLevelTarget)
  if (luup.devices[deviceId].category_num == 2) then
    luup.call_action(SID_Dimming1, "SetLoadLevelTarget", {newLoadlevelTarget = loadLevelTarget}, deviceId)
  elseif (luup.devices[deviceId].category_num == 3) then
    if (tonumber(loadLevelTarget) < 50) then
      setDeviceTarget(deviceId, "0")
    else
      setDeviceTarget(deviceId, "1")
    end
  end
end

function runScene(sceneId)
  luup.call_action(SID_HomeAutomationGateway1, "RunScene", {SceneNum = sceneId}, 0)
end

-- VirtualContainer functions

function setVCvar(devID, varN, value)
  if (value == nil) then
    value = 0
  end
  luup.variable_set(SID_VContainer1, "Variable"..varN, value, devID)
end

function getVCvar(devID, varN)
  local value = luup.variable_get(SID_VContainer1, "Variable"..varN, devID)
  return value
end


C'est super pratique :

Code: Tout sélectionner
local mainLightStatus = getDeviceStatus(id_lounge_light)
local mainLightLoadLevelTarget = getDeviceLoadLevelTarget(id_lounge_light)

...
-- Ci-dessous marche avec dimmer ou prise commandée
setDeviceLoadLevelTarget(id_lounge_entry_light, mainLightLoadLevelTarget)

Systèmes domotique: VeraEdge / openLuup / Jeedom
Protocoles domotique: Zwave / RFPlayer (433/868Mhz) / ZigBee (ZiGate) / Edisio / MQTT
Plugins Vera : https://github.com/vosmont
RĂ©seau : Ubiquiti ERX + UAP / Synology (+Docker Unifi)
vosmont
Dieu de domotique
 
Messages: 635
Inscription: 24 AoĂ» 2012, 11:43
Localisation: Nantes

Re: luup: de quel type est le module attaqué

Messagede jaco » 11 Mar 2013, 12:26

Super, merci !
RETOUR EXPERIENCE PRODUITS (01/2013 Ă  aujourd'hui)
433MHz: Astrell: qques Telcos et plugs on/off (pour dépanner)
Z-Wave:
ContrĂ´leurs - Micasaverde: VeraLite, Remotec: ZURC-550 (zombie) + ZRC-100, Aeon Labs: DSA22 + Z-Stick S2
Emetteurs - Aeon Labs: DSB05, Fibaro: FGK + FGMS (récents)
RĂ©cepteurs - Fibaro: Wallplug FGWPE, Everspring (marque de merde): AN157 (tous morts) + AN158 + AD142 (tous morts), QEES: Reto shell, Aeon Labs: DSC08 + DSC13
Ampoules - Domitech: ZBULB (récents), Aeon Labs: ZW098 (récents)
Infrarouge:
USBUIRT, AIM: IR606Q, Ebode (marque de merde): PM28 (tous morts) + EXLED3 (tous morts)
Divers:
Raspberry Pi: modèle B, Cubieboard: version 2, Monster Cable: switch hdmi
Disques durs externes: Seagate (de 1 Ă  2 To), Freecom (300 Go)
Wiko: Cink Peax
Ampoules led dimmables: Philips (eq 40W Ă  eq 100W), Vision El (eq 60W), Osram (eq 75W)
Ampoules fluo dimmables: quelques marques testées dont Osram et Ikea (toutes inutilisables)
Internet: Orange Livebox
jaco
Dieu de domotique
 
Messages: 423
Inscription: 20 Jan 2013, 00:09
Localisation: Tours


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