Difference between revisions of "Floorplan Script Functions"
m (→GetText) |
(→SetDisplayText) |
||
Line 74: | Line 74: | ||
==SetDisplayText== | ==SetDisplayText== | ||
'''SetDisplayText(xAPName, NewValue) As Boolean''' | '''SetDisplayText(xAPName, NewValue) As Boolean''' | ||
+ | |||
Use this to change the displayed text on the map. For example, to change the colour of the display which in this example is a Temperature: | Use this to change the displayed text on the map. For example, to change the colour of the display which in this example is a Temperature: | ||
<pre> | <pre> |
Revision as of 12:32, 3 March 2007
Available functions:
Contents
Globals
GetGlobal
GetGlobal(Globalname) GetGlobal returns the data stored within the global variable GlobalName. You should use SetGlobal to put the data in to the variable.
ret=GetGlobal("MyVariableName")
Note globals stored with getglobal/setglobal do not persist across restarts of Floorplan. If you need that functionality then you should use GetDBglobal/SetDBGlobal instead
SetGlobal
SetGlobal(Globalname, NewData) As Boolean SetGlobal puts the data NewData in to the global variable GlobalName. You should use GetGlobal return the information.
SetGlobal "MyVariableName","Hi, this is my data"
Note globals stored with getglobal/setglobal do not persist across restarts of Floorplan. If you need that functionality then you should use GetDBglobal/SetDBGlobal instead
GetDBGlobal
GetDBGlobal(Globalname) As Variant
GetDBGlobal returns a Variant, as you can have an array of DBGlobals. Most users are frequently only going to use a single item (the zero'th) as in this case.if GetDBGlobal("HouseEmpty")(0) then ....some code end if
The DBGlobal being used here is storing Boolean.
SetDBGlobal
SetDBGlobal(Globalname, NewData, Overwrite As Boolean) As Boolean
The following will set the HouseEmpty global variable to TRUE, overwriting an existing value.SetDBGlobal "HouseEmpty", TRUE, TRUE
Devices
GetState
GetState(xAPName) As String
This returns the state of the device which can be referenced by the xAP full source string.y=GetState("phaedrus.netiom.node2-1:heating.outstatus.go")Or by the xAP Floorplan friendly name
y=GetState("Heating GO")
GetLevel
GetLevel(xAPName) As String
GetLevelMax
GetLevelMax(xAPName) As String
GetDisplayText
GetDisplayText(xAPName) As String
GetText
GetText(xAPName) As String
This gets the string from the Text name/value pair for the BSC device.
Temp=GetText("mmwave.tom10.g8kmh_hapc2:lounge")
GetLastUpdate
GetLastUpdate(xAPName) As Date
This returns the date and time xAP Floorplan updated the device from the received xAP message.x=GetLastUpdate("mmwave.lcdswitch.bedroom1:07")
GetLastChange
GetLastChange(xAPName) As Date
This returns the date and time xAP Floorplan updated the device from the received xAP BSC Event message.x=GetLastChange("mmwave.lcdswitch.bedroom1:07")
GetValue
GetValue(xAPName) As String
GetDisplayValue
GetDisplayValue(xAPName) As String
SetDisplayValue
SetDisplayValue(xAPName, NewValue) As Boolean
SetDisplayText
SetDisplayText(xAPName, NewValue) As Boolean
Use this to change the displayed text on the map. For example, to change the colour of the display which in this example is a Temperature:
DisplayString="<fontcolor=""red"">"&Temp&"</font>" SetDisplayText ScriptExtras, DisplayString
Note the use of ScriptExtras which holds the xAPName of the device calling the script. This allows a single script or function to be used by many similar devices. See also xAP Floorplan Global.xsp
SetDisplayTooltip
SetDisplayTooltip(xAPName, NewValue) As Boolean
Sending
SendxAP
SendxAP(xBody, xClass, Optional xTarget) This sends an xAP message to a non BSC device.
body="display.text" & chr(10) & "{" & "line1=Lounge temp " & y & chr(10)& "duration=10" & chr(10)& "}" & chr(10) SendxAP body, "message.display", "mmwave.lcdswitch.lounge1"
SendxPL
SendxPL(xBody, xClass, Optional xTarget) This sends an xPL message. Here a TTS message to all devices. Note that xPL messages should not have braces '{' and '}'.
SendXPL "speech="&CurrMsg,"tts.basic", "*"
SendBSCState
SendBSCState(xTarget, NewState)
SendBSCLevel
SendBSCLevel(xTarget, NewLevel)
SendBSCText
SendBSCText(xTarget, NewText)
SendBSC
SendBSC(xTarget, NewState, NewLevel, NewText)
Timers
AddTimer
AddTimer(TimerName As String, TimerTime As Date, Script As String, Optional RawCode) As Boolean Here a timer is set to run 5 minutes from now and execute a script.
AddTimer "UFHPumpRun", DateAdd("n", 5, Now()), "UFHPumpRunOff"
You can check the timer is set by going to the 'Timers' tab.
DeleteTimer
DeleteTimer(TimerName As String) As Boolean Example
DeleteTimer ("UFHPumpRun")
EditTimer
EditTimer(TimerName As String, TimerTime As Date, Script As String, Optional RawCode) As Boolean
CheckTimer
CheckTimer(TimerName As String) As Variant
ScriptRun
ScriptRun(ScriptName)
Time
DawnTime
DawnTime() As String
DuskTime
DuskTime() As String
IsDay
IsDay() As Boolean
IsNight
IsNight() As Boolean
Database
ExecuteSQL
ExecuteSQL(SQL)
RunSQL
RunSQL(SQL) As Variant
Rooms
GetRoomMode
GetRoomMode(RoomName)
GetRoomState
GetRoomState(RoomName)
GetRoomOccupancy
GetRoomOccupancy(RoomName) As Boolean
SetRoomMode
SetRoomMode(RoomName, RoomMode As Integer) As Boolean
SetRoomOccupancy
SetRoomOccupancy(RoomName) As Boolean
Custom Page specific
GetLastEvents
GetLastEvents() As Variant
TitleStripGreen
TitleStripGreen(xTitle, xURL)
TitleStripBlue
TitleStripBlue(xTitle, xURL)
Other Functions
LogDebug
LogDebug(Message) When writing scripts it is often useful to see what is happening. This function lets you write messages that can then be viewed in the Floorplan web interface
LogDebug "This text will appear in the log"
The debug log is found in config pages of Floorplan under scripts/scripts debug or from this url /scriptsdebug.xsp
GetFromRaw
GetFromRaw(RawMessage, ItemToFind)