Page 1 sur 1

script contacteur porte

Publié : 08 mai 2019, 17:21
par jeannot
Bonjour ,
je bute sur un script contacteur ouverture reconnu par RFX433 avec deux états : Alarme et en mouvement .
j'ai essayé avec Open , on, Off rien à faire .
Mon script :

Code : Tout sélectionner

   

    ---- carillon   sur ouverture0 
    if stateChange('ouverture0') == "Alarm" 
        then
        commandArray['carillon'] = "On"
        log("Chalet ouvert")
    end
        
Le log de l'inter :
2019-05-08 17:16:27 Motion
2019-05-08 17:13:44 Alarm
2019-05-08 17:13:41 Motion
2019-05-08 17:13:40 Alarm
log domoticz:
2019-05-08 17:13:40.439 (RFXTRX433) Security (ouverture0)
2019-05-08 17:13:41.720 (RFXTRX433) Security (ouverture0)
2019-05-08 17:13:44.138 (RFXTRX433) Security (ouverture0)
2019-05-08 17:16:27.901 (RFXTRX433) Security (ouverture0)
Merci pour votre aide

Re: script contacteur porte

Publié : 08 mai 2019, 17:33
par denis_brasseur
Bonjour,

La fonction stateChange retourne l'état du device, ou false (return otherdevices[device]).
Tu peux essayer

Code : Tout sélectionner

print(stateChange('ouverture0'))
afin de voir si le retour est cohérent avec ton test.
Ou bien tout simplement

Code : Tout sélectionner

print(otherdevices('ouverture0'))
Que donne la commande suivante, en personnalisant évidement l'adresse ip, le port et l'id du contacteur ?

Code : Tout sélectionner

http://192.168.1.100:9876/json.htm?type=devices&rid=2905
Pour mon détecteur de porte, j'ai "Status" : "Open", ou "Status" : "Closed" en fonction de son état.

Re: script contacteur porte

Publié : 08 mai 2019, 17:48
par jeannot
Cç dit :
ActTime 1557330375
AstrTwilightEnd "23:18"
AstrTwilightStart "04:43"
CivTwilightEnd "21:50"
CivTwilightStart "06:12"
DayLength "14:32"
NautTwilightEnd "22:31"
NautTwilightStart "05:30"
ServerTime "2019-05-08 17:46:15"
SunAtSouth "14:05"
Sunrise "06:45"
Sunset "21:17"
app_version "4.10603"
result
0
AddjMulti 1
AddjMulti2 1
AddjValue 0
AddjValue2 0
BatteryLevel 0
CustomImage 0
Data "Motion"
Description ""
Favorite 0
HardwareID 5
HardwareName "RFXTRX433"
HardwareType "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver"
HardwareTypeVal 1
HaveDimmer false
HaveGroupCmd false
HaveTimeout false
ID "30EF00"
LastUpdate "2019-05-08 17:16:27"
MaxDimLevel 0
Name "ouverture0"
Notifications "false"
PlanID "0"
PlanIDs
0 0
Protected false
ShowNotifications true
SignalLevel 7
Status "Motion"
StrParam1 ""
StrParam2 ""
SubType "X10 security"
SwitchType "Security"
SwitchTypeVal 11
Timers "false"
Type "Security"
TypeImg "security"
Unit 0
Used 1
XOffset "0"
YOffset "0"
idx "53"
status "OK"
title "Devices"

Re: script contacteur porte

Publié : 08 mai 2019, 17:58
par denis_brasseur

Code : Tout sélectionner

Status	"Motion"
Data "Motion"
et que donne la commande suivante en fonction de l'état ouvert et fermé :

Code : Tout sélectionner

print(otherdevices('ouverture0'))

Re: script contacteur porte

Publié : 08 mai 2019, 18:17
par jeannot
print(otherdevices('ouverture0')) me retourne l'erreur :
2019-05-08 18:10:56.525 Error: EventSystem: in mes_scripts: [string "dofile('/home/pi/domoticz/scripts/lua/modules..."]:40: attempt to call global 'otherdevices' (a table value)
je l'ai mal positionné dans le script surement.
j'ai le statut Motion et Alarm

Re: script contacteur porte

Publié : 08 mai 2019, 19:04
par jeannot
ça fonctionne après redémarrage du PI et en mettant
stateChange('ouverture0') == "Alarm"
ce que j'avais essayé en Vain , il semble que le redémarrage du PI y soit pour quelque chose.
Merci Denis pour ton aide.

Re: script contacteur porte

Publié : 08 mai 2019, 19:31
par lmet
Bonsoir,
Juste pour info :

Code : Tout sélectionner

print(otherdevices('ouverture0'))
retourne une erreur car il faut utiliser des "[]" et non des "()"

Code : Tout sélectionner

print(otherdevices['ouverture0'])

Re: script contacteur porte

Publié : 08 mai 2019, 19:39
par denis_brasseur
lmet a écrit : 08 mai 2019, 19:31 Bonsoir,
Juste pour info :

Code : Tout sélectionner

print(otherdevices('ouverture0'))
retourne une erreur car il faut utiliser des "[]" et non des "()"

Code : Tout sélectionner

print(otherdevices['ouverture0'])
Effectivement, j'ai écrit sans regarder :ugeek:

Re: script contacteur porte

Publié : 08 mai 2019, 20:22
par jeannot
J'ai testé , ça me dit Alarm .

Merci encore