Added Pre/Post Lock/Unlock Scripts

This commit is contained in:
Ralf Ramsauer 2015-05-25 15:47:44 +02:00
parent 567b0999f2
commit 520566417e
7 changed files with 31 additions and 2 deletions

View File

@ -46,3 +46,11 @@ install(DIRECTORY scripts/ DESTINATION share/doorlockd/
PERMISSIONS WORLD_EXECUTE WORLD_READ OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_WRITE)
install(FILES scripts/doorlockd.service DESTINATION /etc/systemd/system/)
install(FILES scripts/doorlockd DESTINATION /etc/sysconfig/)
install(DIRECTORY scripts/ DESTINATION etc/doorlockd/
FILES_MATCHING PATTERN "scripts/pre_*lock"
PERMISSIONS WORLD_EXECUTE WORLD_READ OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_WRITE)
install(DIRECTORY scripts/ DESTINATION etc/doorlockd/
FILES_MATCHING PATTERN "scripts/post_*lock"
PERMISSIONS WORLD_EXECUTE WORLD_READ OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_WRITE)

View File

@ -19,4 +19,9 @@
#define TEMPLATE_LOCATION "@CMAKE_INSTALL_PREFIX@/share/doorlockd/template.png"
#define PRE_LOCK_SCRIPT "@CMAKE_INSTALL_PREFIX@/etc/doorlockd/pre_lock &"
#define POST_LOCK_SCRIPT "@CMAKE_INSTALL_PREFIX@/etc/doorlockd/post_lock &"
#define PRE_UNLOCK_SCRIPT "@CMAKE_INSTALL_PREFIX@/etc/doorlockd/pre_unlock &"
#define POST_UNLOCK_SCRIPT "@CMAKE_INSTALL_PREFIX@/etc/doorlockd/post_unlock &"
#endif

View File

@ -3,6 +3,7 @@
#include <wiringPi.h>
#include <unistd.h>
#include "config.h"
#include "logger.h"
#include "door.h"
@ -31,6 +32,9 @@ Door &Door::get()
void Door::lock()
{
_l(LogLevel::notice, "Executing Pre Lock Script");
system(PRE_LOCK_SCRIPT);
digitalWrite(_SCHNAPPERPIN, HIGH);
_l(LogLevel::info, "Door closed");
@ -41,12 +45,15 @@ void Door::lock()
_heartbeat.join();
}
// Turn off all lights
system("wget -O /dev/null --timeout 3 \"http://homer.binary.kitchen:8080/set?color=000000\" > /dev/null 2>&1");
_l(LogLevel::notice, "Executing Post Lock Script");
system(POST_LOCK_SCRIPT);
}
void Door::unlock()
{
_l(LogLevel::notice, "Executing Pre Unlock Script");
system(PRE_UNLOCK_SCRIPT);
// In any case, klacker the schnapper
_schnapper = true;
@ -103,4 +110,7 @@ void Door::unlock()
});
_l(LogLevel::info, "Door opened");
_l(LogLevel::notice, "Executing Post Unlock Script");
system(POST_UNLOCK_SCRIPT);
}

3
doorlockd/scripts/post_lock Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
wget -O /dev/null --timeout 3 "http://homer.binary.kitchen:8080/set?color=000000" > /dev/null 2>&1

1
doorlockd/scripts/post_unlock Executable file
View File

@ -0,0 +1 @@
#!/bin/bash

1
doorlockd/scripts/pre_lock Executable file
View File

@ -0,0 +1 @@
#!/bin/bash

1
doorlockd/scripts/pre_unlock Executable file
View File

@ -0,0 +1 @@
#!/bin/bash