-
Notifications
You must be signed in to change notification settings - Fork 0
/
typologiescenario_prisedeuxdoigts.py
77 lines (61 loc) · 3.61 KB
/
typologiescenario_prisedeuxdoigts.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
from typologiescenario import TypologieScenario
import logging
import elfeconstant
import logging
import logprefix
import time
class TypologieScenarioPrise2Doigts (TypologieScenario):
def __init__(self, cfg, equipement_pilote_ou_mesure_id, equipement_domotique, broker):
"""
Constructeur
"""
super().__init__(cfg, equipement_pilote_ou_mesure_id, equipement_domotique, broker, __name__)
def Run (self, continuous, ems_consign):
"""
Demarre une typologie sur instruction EMS
arguments:
continuous 0 la typologie est en mode normal / 1 la typologie est en mode continu
ems_consign 0 la typologie doit etre desactive (off) / 1 la typologie doit etre activée (ON)
"""
device_demarrage = elfeconstant.USAGE_APPUYER_DEMARRAGE
device_power = elfeconstant.USAGE_APPUYER_POWER
self.logger.info ("Get equipement_domotique type {0} for demarrage".format(device_demarrage))
self.logger.info ("Get equipement_domotique type {0} for power".format(device_power))
if device_demarrage in self.equipement_domotique_usage and device_power in self.equipement_domotique_usage:
if continuous == 0:
#on demarre l'equipement domotique et on le repasse en manuel
result = self.equipement_domotique_usage[device_power].Action (elfeconstant.DEVICE_ACTION_ON, self.equipement_pilote_ou_mesure_id)
time.sleep(5)
result = self.equipement_domotique_usage[device_demarrage].Action (elfeconstant.DEVICE_ACTION_ON, self.equipement_pilote_ou_mesure_id)
self.SetEtatCommandeId (self.equipement_pilote_ou_mesure_id, elfeconstant.COMMAND_ON)
self.SetEtatControleId (self.equipement_pilote_ou_mesure_id, elfeconstant.CONTROLE_ON)
self.SetEmsConsigneMarche (self.equipement_pilote_ou_mesure_id, True)
if result == 1:
#passage en mode manuel
self.UpdateModePiloteManuel(0, False)
else:
# TODO: Gerer le cas d'erreur
#update mode pilote / manuel
self.UpdateModePiloteManuel(0, False)
else:
if ems_consign != 0:
# TODO: Gerer le cas d'erreur
result = self.equipement_domotique_usage[device_power].Action (elfeconstant.DEVICE_ACTION_ON, self.equipement_pilote_ou_mesure_id)
time.sleep(5)
result = self.equipement_domotique_usage[device_demarrage].Action (elfeconstant.DEVICE_ACTION_ON, self.equipement_pilote_ou_mesure_id)
self.SetEtatCommandeId (self.equipement_pilote_ou_mesure_id, elfeconstant.COMMAND_ON)
self.SetEtatControleId (self.equipement_pilote_ou_mesure_id, elfeconstant.CONTROLE_ON)
self.SetEmsConsigneMarche (self.equipement_pilote_ou_mesure_id, True)
else:
self.logger.info ("equipement_domotique type {0} can't handle OFF".format(device_demarrage))
else:
self.logger.warning ("Unknown device for usage {0}".format(device_demarrage))
def Init (self, val):
"""
Demarre une typologie sur passage manuel / pilote
arguments:
val 0 mode manuel / 1 mode pilote
"""
# mise à jour du mode en base de données
self.UpdateModePiloteManuel(val)
self.SetEmsConsigneMarche (self.equipement_pilote_ou_mesure_id, False)