Difference between revisions of "IntelliDoor Garage"

imported>NelsonJenkins
imported>NelsonJenkins
(9 intermediate revisions by the same user not shown)
Line 14: Line 14:
 
==Setup==
 
==Setup==
 
# Rez the door and resize it to the frame. Try not to change the thickness of the door.
 
# Rez the door and resize it to the frame. Try not to change the thickness of the door.
# Rez a Button if you want one and position it. It can be retextured and resized if necessary, but we recommend leaving it as it is. You don't need a Button; clicking the door itself will operate it as well.
+
# Rez a Button if you want one and position it. It can be resized if necessary, but we recommend leaving it as it is. You don't need a Button; clicking the door itself will operate it as well.
# If you want autoclose, we recommend rezzing the Sensor, then rotating it to the door. Resize it horizontally so that it spans with width of the entire frame, then resize it vertically so it goes up the door approximately halfway. (Note that clicking the Sensor is the same as clicking the door.) Again, you do not need a Sensor, but it makes the door much safer and avoids crushing cars.
 
 
# Open the _config notecard in the door, sensor, and button. For more information on the _config values, read the sections labeled "CONFIG VALUES". For now, change the door ID and make sure it is the same in all notecards.
 
# Open the _config notecard in the door, sensor, and button. For more information on the _config values, read the sections labeled "CONFIG VALUES". For now, change the door ID and make sure it is the same in all notecards.
# Test the door by clicking the up button (or if you don't have a controller, just the door itself). If you have autoclose enabled, stand under the door and see if it closes (it shouldn't for at least 60 seconds).
+
# Test the door by clicking the up button (or if you don't have a controller, just the door itself). If you have autoclose enabled, stand under the door and see if it closes (it shouldn't).
 
As of v3.0, the door can be rotated and linked freely; it will remain totally operational.
 
As of v3.0, the door can be rotated and linked freely; it will remain totally operational.
 +
 +
==Textures==
 +
The door textures are now included in the package; simply drag them onto each side of the door to set the door's texture. The textures are prefixed with "Tex-IDGarage". You can also use your own textures.
  
 
==Autoclose==
 
==Autoclose==
The IntelliDoor has an autoclose feature set up in the _config notecard of each door. To enable it, set the AUTOCLOSE value greater than 0 (we recommend at least 10). If you are using a Sensor, make sure it has the same door ID in its _config notecard.<br>
+
The IntelliDoor has an autoclose feature set up in the _config notecard of each door. To enable it, set the AUTOCLOSE value greater than 0 (we recommend at least 10). A sensor is no longer included as of v3.0, since the door will now perform a raycast to detect if its path is blocked.<br>
When your door reaches the completely open position, it will wait the number of seconds in AUTOCLOSE, then automatically close. However, if there is something blocking the door, it will wait until the door becomes unobstructed (or 60 seconds after the last object entered the doorway) then close. If something enters the doorway while it is closing, it will re-open and wait again.
+
When your door reaches the completely open position, it will wait the number of seconds in AUTOCLOSE, then automatically close. However, if there is something blocking the door, it will wait until the door becomes unobstructed (or 60 seconds after the last object entered the doorway) then close.
  
 
==Door Config Values==
 
==Door Config Values==
 
* ID: This is the door's identifier. Each door should have a separate ID. The ID can be any alphanumeric string (A-Z, 0-9, space). All IntelliDoor components are owner-only so don't worry about conflicting IDs from other people.
 
* ID: This is the door's identifier. Each door should have a separate ID. The ID can be any alphanumeric string (A-Z, 0-9, space). All IntelliDoor components are owner-only so don't worry about conflicting IDs from other people.
 
* SPEED: This is the speed value. The door speed can be 1-9, 9 being the fastest. The default is 5. If you are experiencing slow operation due to lag (especially in homesteads), it might help to increase the speed.
 
* SPEED: This is the speed value. The door speed can be 1-9, 9 being the fastest. The default is 5. If you are experiencing slow operation due to lag (especially in homesteads), it might help to increase the speed.
* TEXTURE: This is the door's texture. The IntelliDoor Garage comes with 6 built-in textures, which you can use by their keywords - "Residential", "Metal", "Rust1", "Rust2", "Windowed1", and "Windowed2". You can also use your texture two ways - either by copying the asset UUID in your inventory (right click -> Copy Asset UUID) and pasting it in this field, or by putting the texture itself in the door's inventory and the texture's name in this field.
 
 
* ACCESS: This is the base access setting. If the door is locked (which it is by default), this group of people can always access it anyway by clicking on it. Can be "Everyone", "Group", or "Owner". (If you put "Group" here, the door's group will be able to click the door to use it, but they won't be able to use any buttons or controllers unless you also set them to "Group".)
 
* ACCESS: This is the base access setting. If the door is locked (which it is by default), this group of people can always access it anyway by clicking on it. Can be "Everyone", "Group", or "Owner". (If you put "Group" here, the door's group will be able to click the door to use it, but they won't be able to use any buttons or controllers unless you also set them to "Group".)
* UNLOCKABLE: This should be left as "Yes" unless, for some reason, you don't want this door to be unlocked at all (then change it to "No"). Doors can only be unlocked using an IntelliDoor Controller Add-On, sold separately. Unlocking a door allows anyone to use it by clicking on it - for example, if you wanted a keypad-operated door, anyone could enter the correct password then open the door manually (although it is also possible for the keypad to automatically open the door as well - see its user manual for more information).
 
 
* AUTOCLOSE: If you don't want autoclose, leave this as 0. Otherwise, it is the number of seconds the door waits until closing automatically. For more info, read "AUTOCLOSE" above.
 
* AUTOCLOSE: If you don't want autoclose, leave this as 0. Otherwise, it is the number of seconds the door waits until closing automatically. For more info, read "AUTOCLOSE" above.
* WHITELIST: The list of people that will always be able to click the door to operate it. This does not affect buttons and controllers. Separate with commas.  
+
* WHITELIST: The list of people that will always be able to click the door to operate it. This does not affect buttons and controllers. Separate with commas. '''NOTE: Whitelist names are ''usernames'' (nelson.jenkins, newbie), not ''legacy names'' (Nelson Jenkins, Newbie Resident).''' If you have more than 10 names, please read "Extended Whitelist" below.
* BLACKLIST: The list of people that will never be able to click the door to operate it. This does not affect buttons and controllers. Separate with commas.
+
* GSS: If you are using a Global Security Server, enter its name in this field. The IntelliDoor GSS provides a "master" whitelist and blacklist for doors that subscribe to it (for example, if you have a group of doors that you want a list of people to control).
* GSS: If you are using a Global Security Server, enter its name in this field. The IntelliDoor GSS provides a "master" whitelist and blacklist for doors that subscribe to it (for example, if you have a group of doors that you want a list of people to control). NOTE ON GSS: Doors will only download data from the GSS when reset. You must reset all doors after changing the GSS's configuration.
+
* AKS: This is for a future product. Ignore this field.
NOTE ON NAMES: The IntelliDoor system v2.1 and above uses usernames (e.g. "nelson.jenkins" or "newusername") - NOT old-style names ("Nelson Jenkins" or "newusername Resident") and NOT display names ("Nelson the Magnificent" or "New User"). Separate values with commas (nelson.jenkins, newusername, etc.). Entries here are not case-sensitive.
+
* REMOTE: If you have an IntelliDoor Remote, you can put a password in this field. This is the remote password that you'll put in the remote to control this door. '''IMPORTANT:''' The IntelliDoor Remote is '''not''' owner-only. Anyone can access your door if they have this password - similarly, if you have the same password as another door, even if it is owned by someone else, it will be controlled at the same time. We recommend simply [https://www.random.org/passwords/ generating a random password] without special characters.
 +
 
 +
===Extended Whitelist===
 +
Because of LSL limitations, the whitelist line can only be read for 255 characters. However, the IntelliDoor system supports multiple whitelist lines. To be safe, separate your whitelist into 10-name increments, like so:<br>
 +
<code>WHITELIST=User01, User02, User03, User04, User05, User06, User07, User08, User09, User10<br>WHITELIST=User11, User12, User13, User14</code><br>
 +
You can have as many whitelist lines as you need.
  
 
==Button Config Values==
 
==Button Config Values==
Line 40: Line 45:
 
* ACCESS: This is the base access setting for this button only. This is the same as the door's access settings, except it affects the button only. (If you put "Group" here, the button's group will be able to use the button to use the door, but not the door directly by clicking it.)
 
* ACCESS: This is the base access setting for this button only. This is the same as the door's access settings, except it affects the button only. (If you put "Group" here, the button's group will be able to use the button to use the door, but not the door directly by clicking it.)
 
* WHITELIST: This is the same as the door's whitelist, but again, only affects the button.
 
* WHITELIST: This is the same as the door's whitelist, but again, only affects the button.
* BLACKLIST: This is the same as the door's blacklist, but again, only affects the button.
 
 
* GSS: This is the same as the door's GSS name, but only affects the button.
 
* GSS: This is the same as the door's GSS name, but only affects the button.
  
==Sensor Config Values==
+
==Builder Kit Instructions==
* SHOW: Set this to "No" once you are done positioning the sensor. When set to "Yes", the sensor will be made visible and will show instructions on how to set it up.
+
<font size="4">[[Builder Kit Permissioning|Follow this guide]] before using your Builder Kit components, or they will break.</font>
* ID: Put the door's ID here. Use only one sensor per door, and one door per sensor.
+
 
 +
Make sure you review the [[Gentek Company Policy|Full Permissions Agreement]] to understand how you may distribute IntelliDoor products. Remember, objects in violation of this agreement will be remotely deleted. Therefore, make sure you follow the above instructions exactly.
  
 
==API==
 
==API==
Line 60: Line 65:
 
==Updates & Release Notes==
 
==Updates & Release Notes==
 
You can update your IntelliDoor Garage by rezzing the update box.
 
You can update your IntelliDoor Garage by rezzing the update box.
 +
* v3.1
 +
** New button model
 +
** IntelliDoor Remote integration
 +
* v3.0
 +
** Implemented Buildbox integration
 +
** Doors now automatically reset when GSS is reset
 +
** Usernames in whitelist are no longer case-sensitive
 +
** Blacklist removed
 +
** Default textures now included in the box
 +
** Communications now streamlined onto single channel for less lag
 +
** API added
 +
** Doors are now all linkable to buildings for easier prefab packaging
 +
** Garage can now be rotated (previously would not work)
 +
** Garage Sensor removed and replaced with an automatic raycast
 
* v2.1.2
 
* v2.1.2
 
** Fixed separate textures sometimes overwriting each other
 
** Fixed separate textures sometimes overwriting each other
Line 94: Line 113:
 
* v1.0
 
* v1.0
 
** Primary public release.
 
** Primary public release.
 
==Builder Kit Instructions==
 
'''''ATTENTION USERS OF THE BUILDER KIT VERSIONS: THIS IS IMPORTANT, PLEASE READ'''''<br>
 
Your use of transfer-enabled products is bound by our [[Gentek Company Policy|Full Permissions Agreement]]. If you haven't read it, it's important you do so.<br>
 
Most importantly, we keep track of who has purchased the Builder Kit. If someone has a transferable IntelliDoor but has not bought the Builder Kit, that door will not function, and their use of it will be recorded. If you are found to be giving out transferable IntelliDoors, you will be backtraced by the cyber police, and consequences will never be the same.<br><br>
 
Therefore, ''make sure you set the door object to NO TRANSFER and the script inside it to NO TRANSFER before distributing it.'' However, '''leave the notecard FULL PERMISSIONS''' or it will break the script. Otherwise, you are risking both your license to use our products and your reputation with your customers, who will be left with prefabs that have their doors break when rezzed.
 
  
 
==History==
 
==History==

Revision as of 17:29, 10 February 2015

IntelliDoor Garage
VendorImage5 - IntelliDoor Builder Kit.jpg

IntelliDoor Builder Kit, the full-permissions pack of all IntelliDoor products.
Creator Nelson Jenkins
Launch year 2009
Company Gentek
Availability Marketplace & In-World

The IntelliDoor Garage is a smoothly-operating garage door by Gentek. It uses notecard-based configuration.


Setup

  1. Rez the door and resize it to the frame. Try not to change the thickness of the door.
  2. Rez a Button if you want one and position it. It can be resized if necessary, but we recommend leaving it as it is. You don't need a Button; clicking the door itself will operate it as well.
  3. Open the _config notecard in the door, sensor, and button. For more information on the _config values, read the sections labeled "CONFIG VALUES". For now, change the door ID and make sure it is the same in all notecards.
  4. Test the door by clicking the up button (or if you don't have a controller, just the door itself). If you have autoclose enabled, stand under the door and see if it closes (it shouldn't).

As of v3.0, the door can be rotated and linked freely; it will remain totally operational.

Textures

The door textures are now included in the package; simply drag them onto each side of the door to set the door's texture. The textures are prefixed with "Tex-IDGarage". You can also use your own textures.

Autoclose

The IntelliDoor has an autoclose feature set up in the _config notecard of each door. To enable it, set the AUTOCLOSE value greater than 0 (we recommend at least 10). A sensor is no longer included as of v3.0, since the door will now perform a raycast to detect if its path is blocked.
When your door reaches the completely open position, it will wait the number of seconds in AUTOCLOSE, then automatically close. However, if there is something blocking the door, it will wait until the door becomes unobstructed (or 60 seconds after the last object entered the doorway) then close.

Door Config Values

  • ID: This is the door's identifier. Each door should have a separate ID. The ID can be any alphanumeric string (A-Z, 0-9, space). All IntelliDoor components are owner-only so don't worry about conflicting IDs from other people.
  • SPEED: This is the speed value. The door speed can be 1-9, 9 being the fastest. The default is 5. If you are experiencing slow operation due to lag (especially in homesteads), it might help to increase the speed.
  • ACCESS: This is the base access setting. If the door is locked (which it is by default), this group of people can always access it anyway by clicking on it. Can be "Everyone", "Group", or "Owner". (If you put "Group" here, the door's group will be able to click the door to use it, but they won't be able to use any buttons or controllers unless you also set them to "Group".)
  • AUTOCLOSE: If you don't want autoclose, leave this as 0. Otherwise, it is the number of seconds the door waits until closing automatically. For more info, read "AUTOCLOSE" above.
  • WHITELIST: The list of people that will always be able to click the door to operate it. This does not affect buttons and controllers. Separate with commas. NOTE: Whitelist names are usernames (nelson.jenkins, newbie), not legacy names (Nelson Jenkins, Newbie Resident). If you have more than 10 names, please read "Extended Whitelist" below.
  • GSS: If you are using a Global Security Server, enter its name in this field. The IntelliDoor GSS provides a "master" whitelist and blacklist for doors that subscribe to it (for example, if you have a group of doors that you want a list of people to control).
  • AKS: This is for a future product. Ignore this field.
  • REMOTE: If you have an IntelliDoor Remote, you can put a password in this field. This is the remote password that you'll put in the remote to control this door. IMPORTANT: The IntelliDoor Remote is not owner-only. Anyone can access your door if they have this password - similarly, if you have the same password as another door, even if it is owned by someone else, it will be controlled at the same time. We recommend simply generating a random password without special characters.

Extended Whitelist

Because of LSL limitations, the whitelist line can only be read for 255 characters. However, the IntelliDoor system supports multiple whitelist lines. To be safe, separate your whitelist into 10-name increments, like so:
WHITELIST=User01, User02, User03, User04, User05, User06, User07, User08, User09, User10
WHITELIST=User11, User12, User13, User14

You can have as many whitelist lines as you need.

Button Config Values

  • ID: Put the door IDs you want to control here. If you are only controlling one door, just put that door's ID. If you have more than one door you want to control at the same time, separate their IDs with commas.
  • ACCESS: This is the base access setting for this button only. This is the same as the door's access settings, except it affects the button only. (If you put "Group" here, the button's group will be able to use the button to use the door, but not the door directly by clicking it.)
  • WHITELIST: This is the same as the door's whitelist, but again, only affects the button.
  • GSS: This is the same as the door's GSS name, but only affects the button.

Builder Kit Instructions

Follow this guide before using your Builder Kit components, or they will break.

Make sure you review the Full Permissions Agreement to understand how you may distribute IntelliDoor products. Remember, objects in violation of this agreement will be remotely deleted. Therefore, make sure you follow the above instructions exactly.

API

As of v3.0, the IntelliDoor has an API for controlling individual doors and components. All API communication is done on channel -494827459.

For the following, [BBID] specifies the Buildbox ID. By default, this should be NONE. However, if your doors were rezzed as part of a building through a Buildbox, it will have been set. You can get the Buildbox ID by selecting a door and checking its description - it should read BBID followed by the ID, which is usually formatted as a 36-character UUID. You can also set up your API-enabled item in the building such that it accepts and stores the Buildbox ID when it is rezzed. Note that Buildbox IDs do not change once the object is rezzed.

The IntelliDoor Garage accepts the following API commands:

  • [BBID][DoorID]&&open - Opens the door.
  • [BBID][DoorID]&&close - Closes the door.
  • [BBID][DoorID]&&stop - Stops the door, if it is moving.

The IntelliDoor Garage does not accept the &&lock and &&unlock commands, and it is the only component which accepts the &&stop command.

Updates & Release Notes

You can update your IntelliDoor Garage by rezzing the update box.

  • v3.1
    • New button model
    • IntelliDoor Remote integration
  • v3.0
    • Implemented Buildbox integration
    • Doors now automatically reset when GSS is reset
    • Usernames in whitelist are no longer case-sensitive
    • Blacklist removed
    • Default textures now included in the box
    • Communications now streamlined onto single channel for less lag
    • API added
    • Doors are now all linkable to buildings for easier prefab packaging
    • Garage can now be rotated (previously would not work)
    • Garage Sensor removed and replaced with an automatic raycast
  • v2.1.2
    • Fixed separate textures sometimes overwriting each other
  • v2.1.1
    • Fixed integration with Keypad
  • v2.1
    • Allow separate textures on each side.
    • Changed old-style names to usernames.
    • Slight tweaks.
  • v2.0
    • Replaced and rewrote everything. It's better now. Trust me.
  • v1.3.4
    • Fixed API script.
  • v1.3.3
    • Added API script.
  • v1.3.2
    • Fixed "grey-out" bug.
    • Removed Legacy door.
    • Added touch menu.
    • Added retexturing system.
    • Added data validation for door settings.
    • Removed self-deleter.
  • v1.3.1
    • Attempted to fix "grey-out" bug.
  • v1.3
    • New, smoother movement driver.
    • Speed setting added.
    • Minor UI changes.
    • Updater moved to door (non-Legacy).
  • v1.2
    • Better sound driver.
  • v1.1
    • Added autoclose.
  • v1.0
    • Primary public release.

History

Garage doors in Second Life used to either be one of two types:

  • Physical: the door would set itself physical and move upwards through anything in its way. This required extra space above the door.
  • Compression: the door would resize and move itself so it appears to be moving up. This didn't require extra space, but compressed the texture vertically and didn't look realistic.

The IntelliDoor Garage, originally just the IntelliDoor, is a unique garage door released in early 2009 that uses an advanced scripting method that solves both problems - it doesn't require extra space and it doesn't compress the texture.

Its design has not changed much from the original design, except for a texture refresh. It is just a simple box prim. However, its scripts were reduced dramatically - the original had 5 separate scripts to coordinate movement. With the advent of newer LSL functions, they could be consolidated into one.

Fun fact: the original IntelliDoor was created on New Years Eve in 2008, as Nelson had hoped to release it for the New Years Sale starting the next day. Unfortunately, it was stalled due to general laziness, and wasn't released until several months later.

Version 2 brought integration with the rest of the IntelliDoor series, which had just been released.