Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
BrisingrAerowing

Proximity Door Daemon

Recommended Posts

This program is a service/daemon that automatically opens doors based on input from motion sensors.

Features:

  • Any arbitrary number of doors, each with its own configuration
  • Events on entity allowed/denied
  • Logging of access attempts
  • Plugin support

Installation:

wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/gryphonlib/gryphonlib.lua /lib/gryphonlib.lua
wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/inifile/inifile.lua /lib/inifile.lua
mkdir /etc/proxdoor.d
wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/proxdoord.lua /etc/rc.d/proxdoord.lua
wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/proxdoor.cfg /etc/proxdoor.cfg
wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/proxdoor.d/example.cfg.noload /etc/proxdoor.d/example.config.noload
mkdir /lib/proxdoor/plugins
wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/plugins/example_plugin.lua /lib/proxdoor/plugins/example_plugin.lua

 

The last two files are an example door configuration and an example plugin.

 

Configuration file outline:

Main Configuration File:

[general]
config_dir = /etc/proxdoor.d # Door Configuration Directory
plugin_dir = /lib/proxdoor/plugins # Plugin directory
event_on_entity_denied = true # Fire an event (proxdoor_access) on denying an entity
event_on_entity_allowed = true # Fire an event (proxdoor_access) on allowing an entity

[logging]
log_file_path = /var/log/proxdoord # The directory log files are written to
general_log_file_name = general.log # The name of the general log file (Initialization stuff)
general_log_enabled = true # Whether the general log is enabled
access_log_file_name = access.log # The name of the access log file (access attempts)
access_log_enabled = true # Whether the access log is enabled

Door Configuration File:

[general]
name = Proxdoor 1 # The name of the door. Used to identity it in events and access logs
range = 3 # The range used to detect entities
side = top # The side to output the redstone on
open_time = 3 # The time (in seconds) the door stays open
inverted = false # Whether to initially power the redstone

[addresses]
motion_sensor = # The address of the motion sensor for this door. Required.
redstone = # The address for the redstone IO for this door. Required.

[users]
user_list = # A space-separated list of entity names
is_blacklist = false # Whether the above list is a blacklist
allow_all = false # Whether to allow all entities. Overrides the above user configuration.

 

The configuration files MUST have the extension .cfg, otherwise they won't be loaded.

 

Changelog:

  • 1/11/2017
    • Added plugin support
Edited by BrisingrAerowing
Updated with new features
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.