Hi everybody,
I have to control a door triggering a zero level activation relay for a short period (700ms).
With “zero level activation relay” I mean that the relay is excited when Raspberry voltage is zero volts on a certain GPIO PIN.
I’m running openHAB 3.2.0 stable on a Raspberry Pi 3 model B with openjdk 11.0.12 2021-07-20 LTS (installed with openHABian image).
Below you can find the code that I’ve written; once openHAB has finished its boot, this code works perfectly.
But if I restart openHAB, at the end of the restart, the relay remains constantly excited (PIN voltage detected: zero volts).
Only after having sent the first impulse (clicking on the item on the UI), the relay switches off and from this moment, the operation is regular.
What should I set or how should I change the configuration in order to reach the behaviour that, in absence of commands, the relay remains off during and after the restart of openHAB (the state of the GPIO13 must remain constant at 3.3V throughout the bootstrap period)?
Thanks in advance
default.sitemap
sitemap default label="Test" {
Switch item=DoorSwitch label="Door" mappings=[ON="CLICKME"]
}
default.items
Switch DoorSwitch <switch> {channel="gpio:pigpio-remote:sample-pi-1:door-command"}
gpio.things
Thing gpio:pigpio-remote:sample-pi-1 "GPIO locale" [host="::1", port=8888] {
Channels:
Type pigpio-digital-output : door-command [ gpioId=13, invert=true ]
}
default.rules
rule "Door - Command"
when
Item DoorSwitch received command ON
then
try {
if (lockDoor.tryLock ()) {
Thread::sleep (700)
DoorSwitch.sendCommand (OFF)
lockDoor.unlock ()
} // if
} catch (Exception e) {
logInfo("Generic exception")
} // try - catch
end