Documentation for NeoBehaviour
luxcena_neo.neo_behaviour.NeoBehaviour
This is the base-class "main" should inherit from!
All methods are blocking
This means that you could potentially loose a "tick"
For example, if "eachSecond" is taking up the thread, and the clock goes from 11:58 to 12:02, "eachHour", will not be called.
Do NOT override init in your implementation, this will break some features.
For this purpose you should instead use the on_start method!
Important: An instance of the Strip class will be available in your module as strip
without any setup on your part.
declare_variables()
This should be overridden, and ALL variables should be declared here.
When this method is called, variables can be declared using self.declare()
.
each_day()
This method is called every day at noon, given that the thread is open
each_hour()
This method is called every whole hour (on the clock), given that the thread is open
each_minute()
This method is called every mintue (on the clock), given that the thread is open
each_second()
This method is called every second (on the clock), given that the thread is open
each_tick()
This method will be run every tick, that means every time the program has time
on_start()
This method will be run right after init
An example of the usage of the class
from luxcena_neo import NeoBehaviour
class Main(NeoBehaviour):
def on_start(self):
strip.setPixelColor(0, "#fafafa")
luxcena_neo.neo_behaviour.Variable
The base class for any variable, this should probably not be used directly.
value
writable
property
This is likely the property you should use to get the current value of the variable.
__init__(name, default, var_type, on_change=None)
The base constructor for any variable. All these parameters should likely be passed on by the subclass inheriting this one.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
A string which is the name of the variable, keep in mind that this is case sensitive. |
required | |
default |
This will be set as the default value of the variable the first time the script is started. |
required | |
var_type |
VariableType
|
This is the enum number of the variable type, this is just a number which is used to communicate with the frontend which value picker to show. |
required |
on_change |
Optional callable, which will be called with the new value every time the variable is updated (both programatically and via user input). |
None
|
luxcena_neo.neo_behaviour.ColorVariable
Bases: Variable
This is a variable storing a color value.
Right now, this only properly supports setting the value as a hex string.
This will hopefully change in the future, but it is likely that the main operation will remain as hex strings.
__init__(name, *color, **kwargs)
Constructor for a color variable
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str
|
Will be passed on to the parent class (Variable). |
required |
*color |
The next positional parameters will be used as the default color. Right now, it will just pick the first one, and interpret it as a hex color. |
()
|
|
**kwargs |
Keyword arguments will be passed to the parent class (Variable). |
{}
|
luxcena_neo.neo_behaviour.IntegerVariable
Bases: Variable
A variable for storing a integer value (whole number).
__init__(name, default=0, min_val=0, max_val=255, **kwargs)
Constructor for a integer variable
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str
|
Will be passed on to the parent class (Variable). |
required |
default |
int
|
A number which will be set as the default if the mode has never been run before. |
0
|
min_val |
int
|
The lowest value this variable can have (inclusive). |
0
|
max_val |
int
|
The highest value this variable can have (inclusive). |
255
|
**kwargs |
Keyword arguments will be passed to the parent class (Variable). |
{}
|
luxcena_neo.neo_behaviour.FloatVariable
Bases: Variable
A variable for storing a float value (decimal number).
__init__(name, default=0.0, min_val=0.0, max_val=255.0, step=0.5, **kwargs)
Constructor for a float variable
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str
|
Will be passed on to the parent class (Variable). |
required |
default |
float
|
A number which will be set as the default if the mode has never been run before. |
0.0
|
min_val |
float
|
The lowest value this variable can have (inclusive). |
0.0
|
max_val |
float
|
The highest value this variable can have (inclusive). |
255.0
|
step |
float
|
This does not affect the python code, it only affects the value picker which will be shown in the frontend. |
0.5
|
**kwargs |
Keyword arguments will be passed to the parent class (Variable). |
{}
|
luxcena_neo.neo_behaviour.BooleanVariable
Bases: Variable
A variable for storing a boolean value (on/off).
__init__(name, default, **kwargs)
Constructor for a boolean variable
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str
|
Will be passed on to the parent class (Variable). |
required |
default |
bool
|
A boolean which will be set as the default if the mode has never been run before. |
required |
**kwargs |
Keyword arguments will be passed to the parent class (Variable). |
{}
|
luxcena_neo.neo_behaviour.Trigger
Bases: Variable
A trigger which can execute some function.
Although technically a variable, this is not intended as one. It is intended to be used with a on_change function, such that this action is performed when this trigger is activated.
It will show up as a button in the frontend, and can also be triggered by setting the value (What you set it as will be ignored, so e.g. None.
__init__(name, **kwargs)
Constructor for the Trigger It is important to set the on_change callable (see the Variable class). If you don't this class is completely useless.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str
|
The name of the trigger variable (mostly useful if you wanted to trigger it in the code). |
required |
**kwargs |
Keyword arguments will be passed to the parent class (Variable). |
{}
|