MortScripts to toggle settings - Windows Mobile Software Development

This thread is dedicated to MortScripts that we use to change settings. Most of these can be stand alone scripts, but I got started creating this thread based on CHTS needing WMLongLife to change from Automatic to GSM radio profile. I found that WMLL seemed to eat up battery life in my old Fuze. I tried a script or two from the MortScript examples thread, but they did not work for me. I'll be posting various scripts that I use during my profile changes in CHTS, but I will in such a way that if you do not use CHTS you can still use the scripts.
Another purpose of this thread is to make these scripts available to those who for one reason or another the default programs in CHTS do not work and perhaps the script will. An example is sound profile changing to Automatic was not available so I added a script to do it for me. The feature had been turned off since it did not work in all phones. In a coming version I believe it will be back. The beta test works in my Fuze.
The hope of this thread is to help those that use CHTS to get some of the features that may not work on their phone through MortScripts instead. Also, as a place to share these "TOGGLE" switch scripts for others to be able to use outside CHTS.
I am trying to write scripts that do not use programs outside windows mobile. The hope is that they can be used in as many phones and ROMs as possible. An example is the first form of my Band_Changer used a program in CHTS and I reworked it to not require that program.
Radio toggle between Automatic (2G & 3G) and GSM (2G only): Post #2
Switch Sound Profile: Post #3
Auto time zone toggle: Post #5 and Post #8
Toggle Backlight: Post #14
Toggle Screen Rotation: Post #15
Toggle between Active Sync and Mass Storage: Post #16
Toggle Voice Command: Post #17

Radio toggle between Automatic (2G & 3G) and GSM (2G only)
This script calls the main script with the argument required based on your current profile to switch the profile to the other.
Code:
# Band_Toggle.mscr
opmode = RegRead( "HKLM","Software\OEM\UMTS","OpMode")
opmode = RegRead( "HKLM","Software\OEM\PhoneSetting\NetworkType","ItemName" & OpMode + 1)
If(opmode eq "Auto")
key = "g"
Else
key = "a"
EndIf
CallScript("\storage card\scripts\Band_Changer.mscr", key)
# CallScript("\windows\Band_Changer.mscr", key)
I test the script in my storage card, but when I use it for CHTS I would have it in \windows folder.
This is the main script:
Code:
# Band_Changer.mscr
If(NOT FileExists("\Windows\CMBandSwitching.exe"))
Message("You must have CMBandSwitching.exe installed in windows folder.^NL^^NL^Script will exit now.", "ERROR")
Exit
EndIf
key = argv[1]
key = (key eq "a")?"Auto":"GSM"
opmode = RegRead( "HKLM","Software\OEM\UMTS","OpMode")
opmode = RegRead( "HKLM","Software\OEM\PhoneSetting\NetworkType","ItemName" & OpMode + 1)
network1 = RegRead( "HKLM","Software\OEM\PhoneSetting\NetworkType","ItemName1" )
network2 = RegRead( "HKLM","Software\OEM\PhoneSetting\NetworkType","ItemName2" )
network3 = RegRead( "HKLM","Software\OEM\PhoneSetting\NetworkType","ItemName3" )
If(key ne OpMode)
If(key eq network1)
key = 1
ElseIf(key eq network2)
key = 2
ElseIf(key eq network3)
key = 3
Else
EndIf
Call("switcher")
EndIf
Sub switcher
Global(key)
SendSpecial(126) # Data disconnect
i=0
ForEach xvariable in regSubkeys("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections")
i+=1
enable[i] = RegRead("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections" \ xvariable, "Enabled")
EndForEach
Sleep(500)
ForEach xvariable in regSubkeys("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections")
RegWriteDWord("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections" \ xvariable, "Enabled", 0)
EndForEach
Sleep(500)
Run("\Windows\CMBandSwitching.exe")
If(ScreenHeight() eq 640)
Y1 = 160 # 1st button which is Auto on my Fuze 163
Y2 = 245 # 2nd button which is GSM on my Fuze 244
Y3 = 315 # 3rd button which is WCDMA on my Fuze 314
Y4 = 610 # Done button on my Fuze 608
X4 = 135 # Done button on my Fuze 134
Y5 = 460 # Done button on my Fuze 460
X5 = 125 # Done button on my Fuze 125
ElseIf(ScreenHeight() eq 800)
Y1 = 150 # 1st button which is Auto on HD2 150
Y2 = 200 # 2nd button which is GSM on HD2 200
Y3 = 305 # 3rd button which is WCDMA on HD2 305
Y4 = 750 # Done button on HD2 750
X4 = 110 # Done button on HD2 110
Y5 = 480 # Done button on HD2 480
X5 = 110 # Done button on HD2 110
EndIf
While(NOT WndActive("Band"))
Sleep(50)
EndWhile
If(key eq 1)
MouseClick("Band", ScreenWidth()*0.25, Y1) # 1st button
ElseIf(key eq 2)
MouseClick("Band", ScreenWidth()*0.25, Y2) # 2nd button
Else
MouseClick("Band", ScreenWidth()*0.25, Y3) # 3rd button
EndIf
Sleep(150)
SendSpecial(112) # Done
Sleep(500)
i=0
ForEach xvariable in regSubkeys("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections")
i+=1
RegWriteDWord("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections" \ xvariable, "Enabled", enable[i])
EndForEach
Sleep(20000)
If(NOT Connected())
Connect("The Internet")
EndIf
EndSub
If you do not have a 480 x 640 or 480 x 800 phone or if this does not work for you please try this script to get me the points I need to improve this script.
Code:
# PickPoints.mscr
Run("\Windows\CMBandSwitching.exe")
WaitForActive("Band", 10)
Sleep(300)
SleepMessage( 2, "Select center of first (top) Network Type choice after this screen closes." )
Sleep(300)
aMouse = ScreenshotClick()
sMSGOutput1 = "^NL^First:^NL^X1 = " & aMouse[1] &"^NL^Y1 = " & aMouse[2]
SleepMessage( 2, "Select center of second (middle) Network Type choice after this screen closes." )
Sleep(300)
aMouse = ScreenshotClick()
sMSGOutput2 = "^NL^Second:^NL^X2 = " & aMouse[1] &"^NL^Y2 = " & aMouse[2]
SleepMessage( 2, "Select center of third (bottom) Network Type choice after this screen closes." )
Sleep(300)
aMouse = ScreenshotClick()
sMSGOutput3 = "^NL^Third:^NL^X3 = " & aMouse[1] &"^NL^Y3 = " & aMouse[2]
Sleep(300)
MouseClick("Band", aMouse[1], aMouse[2])
Sleep(300)
SleepMessage( 2, "Select center of Done button after this screen closes." )
Sleep(300)
aMouse = ScreenshotClick()
sMSGOutput4 = "^NL^Done:^NL^X4 = " & aMouse[1] &"^NL^Y4 = " & aMouse[2]
Sleep(300)
MouseClick("Band", aMouse[1], aMouse[2])
Sleep(1500)
SleepMessage( 2, "Select center of OK button after this screen closes." )
Sleep(300)
aMouse = ScreenshotClick()
sMSGOutput5 = "^NL^OK:^NL^X5 = " & aMouse[1] &"^NL^Y5 = " & aMouse[2]
SleepMessage( 2, "Select center of Cancel button after this screen closes." )
Sleep(3000)
WriteFile("\band_click.txt", "Screen width: " & ScreenWidth() & "^NL^Screen height: " & ScreenHeight() & sMSGOutput1 & sMSGOutput2 & sMSGOutput3 & sMSGOutput4 & sMSGOutput5)
Message("Please send me these data. They are saved in root directory \band_click.txt^NL^")
Remove the .txt from the end of the script files.

Switch Sound Profile
These scripts call the main script with the argument for the profile you want.
Code:
# Sound_Automatic.mscr
CallScript("\Windows\Sound_Profile.mscr", "Automatic")
Code:
# Sound_Normal.mscr
CallScript("\Windows\Sound_Profile.mscr", "Normal")
Code:
# Sound_Silent.mscr
CallScript("\Windows\Sound_Profile.mscr", "Silent")
Code:
# Sound_Vibrate.mscr
CallScript("\Windows\Sound_Profile.mscr", "Vibrate")
This is the main script:
Code:
# Sound_Profile.mscr
# Change Sound Profile based on argument used to call this script from
# a short script in the form:
# CallScript("\Windows\Sound_Profile.mscr", "Automatic")
mode=argv[1]
If(mode EQ "Automatic")
RegWriteString("HKCU", "ControlPanel\Profiles", "ActiveProfile", "Automatic")
SendMessage("", 1156, 0, 0)
ElseIf(mode EQ "Normal")
RegWriteString("HKCU", "ControlPanel\Profiles", "ActiveProfile", "Normal")
SendMessage("", 1156, 0, 0)
ElseIf(mode EQ "Silent")
SendMessage("", 1156, 3, 0)
ElseIf(mode EQ "Vibrate")
SendMessage("", 1156, 2, 0)
Else
EndIf
In CHTS profile switching I use the Execute/Kill App(s) section with the executable as \windows\mortscript.exe and the argument one of these four:
\Windows\Sound_Profile.mscr Automatic
\Windows\Sound_Profile.mscr Normal
\Windows\Sound_Profile.mscr Silent
\Windows\Sound_Profile.mscr Vibrate
Remove the .txt from the end of the script files.

This isn't written as a toggle, but these scripts will turn off or on the auto-time zone sync option in phone settings. Turning it off helps to keep active sync from running all the time.
Code:
#Auto time zone off
RegWriteDWord("HKLM","\Drivers\BuiltIn\RIL","NITZEnable",0)
Code:
#Auto time zone on
RegWriteDWord("HKLM","\Drivers\BuiltIn\RIL","NITZEnable",1)

Auto time zone toggle
Thanks Farmer Ted
It is easy enough to create a toggle.
Code:
If(RegRead("HKLM","\Drivers\BuiltIn\RIL","NITZEnable"))
RegWriteDWord("HKLM","\Drivers\BuiltIn\RIL","NITZEnable",0) #Auto time zone off
Else
RegWriteDWord("HKLM","\Drivers\BuiltIn\RIL","NITZEnable",1) #Auto time zone on
EndIf

Thx RoryB... toggle features are good... if you can store all here.. it must be a good base to share with communauty !

great job my friend! especially after the long test time in beta group to fulfill different device's needs.
this is the perfect extension for the post-run-scripts while profile switching.
I'm looking forward to much more of this scripts, which can be used.
Thanx also in name of all CHTS-users
Micha

RoryB said:
Thanks Farmer Ted
It is easy enough to create a toggle.
Click to expand...
Click to collapse
Cool, that was a lot simpler than if I'd done it, lol. Here's the same script, with message boxes to let you know what the setting is.
Code:
If(RegRead("HKLM","\Drivers\BuiltIn\RIL","NITZEnable"))
RegWriteDWord("HKLM","\Drivers\BuiltIn\RIL","NITZEnable",0) #Auto time zone off
Message("Active Sync under control")
Else
RegWriteDWord("HKLM","\Drivers\BuiltIn\RIL","NITZEnable",1) #Auto time zone on
Message("Active Sync running wild")
EndIf

LOL I love a sense of humor.

I updated post #2 for the Band Changer because I have been getting failed to connect or dialed modem not answering error messages.

RoryB said:
I updated post #2 for the Band Changer because I have been getting failed to connect or dialed modem not answering error messages.
Click to expand...
Click to collapse
Made another tweak to stop data connection first.

Updated Post #2 for Band_Changer.mscr. It seems to run a little faster.

On Band_Changer I realized that
Code:
Y1 = 150 # 1st button which is Auto on HD2 150
Y2 = 215 # 2nd button which is GSM on HD2 200
Y3 = 300 # 3rd button which is WCDMA on HD2 305
works in my phone too. So I would not need to check the screen size, but I am running Energy ROM that is a WVGA with tweaks to work on my VGA. I need to get some pick point data from anyone who uses a true VGA ROM in their phone to confirm the points for it. Also, a screen shot of CMBandSwitcher.exe would help a lot.
If CMBandSwitcher.exe has the same screen size for WVGA and VGA phones I will be able to reduce the code some more.

Toggle Backlight
From http://forum.xda-developers.com/showpost.php?p=2018165&postcount=239
Code:
#toggle backlight between max and one-from-minimum (on trinity at least)
CurrentBright = RegRead( "HKCU", "ControlPanel\Backlight", "Brightness" )
If (CurrentBright = 1)
SetBacklight (100, 5)
Else
SetBacklight (1, 1)
EndIf

Toggle Screen Rotation
From http://forum.xda-developers.com/showpost.php?p=2832605&postcount=929
Code:
If (regread("HKLM", "System\GDI\ROTATION", "ANGLE") eq 0)
Rotate (90)
Else
Rotate (0)
Endif

Toggle between Active Sync and Mass Storage
From http://forum.xda-developers.com/showpost.php?p=5078802&postcount=2552
Code:
usb = RegRead ( "HKLM", "Drivers\USB\FunctionDrivers", "DefaultClientDriver" )
If ( usb eq "RNDIS" )
Run ( "\Windows\USBSetting.exe" )
Sleep ( 200 )
SendSpecial ( "Down" )
Sleep ( 50 )
SendSpecial ( "CR" )
Sleep ( 50 )
SendOK
ElseIf ( usb eq "Mass_Storage_Class" )
Run ( "\Windows\USBSetting.exe" )
Sleep ( 200 )
SendSpecial ( "Up" )
Sleep ( 50 )
SendSpecial ( "CR" )
Sleep ( 50 )
SendOK
EndIf

Toggle Voice Command
I only use Voice Command when I am driving so I toggle it off when I am not driving to save battery drain.
Code:
ShowWaitCursor
If( ProcExists( "VoiceCmd.exe" ) )
Kill( "VoiceCmd.exe" )
PlaySound( "Stopping" )
HideWaitCursor
SleepMessage( 2, "Voice Command^NL^^NL^Stopped", "Voice Command Toggle" )
Delete( "\Windows\Startup\Voice Command.lnk" ) # so it will not restart after a soft reset
else
Run( "\Program Files\Voice Command\VoiceCmd.exe" )
PlaySound( "Starting" )
HideWaitCursor
SleepMessage( 2, "Voice Command^NL^^NL^Started", "Voice Command Toggle" )
Endif

Sad to go
My Fuze no longer works. I currently have a loner Infuse 4G, but do not know what I will end up with.
I will not be able to continue development of Mortscripts, etc.
Sorry to go, but it has been fun.
I'll keep watching to see if anything comes up I need to respond to.

Related

Disable Low Batt Notifications

Hey guys,
I thought i would post this here. Its a mortscript i wrote to automaticlly dismiss the Low Battery notification when your battery goes under 20%.
It works best if you do the mod here http://forum.xda-developers.com/showthread.php?t=331288 and then untick popup message/vibrate etc in 'sounds and notifications'.
Code:
#
# NOLBATT.mscr - Monitors notifications and keeps deleting active registry key for low battery
#
# initialize variables
Delete = FALSE
LowBattID = "{A877D663-239C-47A7-9304-0D347F580408}"
# start notification check loop
While ( 1 )
# check the registry for any notifications
If ( RegValueExists( "HKLM", "System\State\Shell\Notifications\Active", "CLSID" ) )
# make sure it's low batt
CLSID = RegRead( "HKLM", "System\State\Shell\Notifications\Active\", "CLSID" )
If ( CLSID eq LowBattID )
Delete = True
EndIf
Else
Delete = False
EndIf
# Delete Active notification for Low battery
# the OS turns it off whenever there is a new notification.
If ( Delete )
RegDeletekey ( "HKLM", "System\State\Shell\Notifications\Active", TRUE, TRUE )
EndIf
# wait 5 seconds
Sleep( 5000 )
EndWhile
Any thoughts on how to make it more efficient etc are appreciated. There is a 'batterypercentage' option in mortscript that could perhaps be utilised to start the script at a certain percentage.

[Q] VB and the ApplicationBar

Using VB, im trying to add an application bar in the code (rather than xaml). I have the following code:
Code:
Public Sub New()
InitializeComponent()
Dim appBar As ApplicationBar
appBar = New ApplicationBar
appBar.IsMenuEnabled = True
appBar.IsVisible = True
appBar.Opacity = 1
Dim icon As New Uri("/Images/expand.png", UriKind.Relative)
Dim cmdStart As New ApplicationBarIconButton(icon)
cmdStart.Text = "Start"
'AddHandler (cmdStart.Click), test_click()
appBar.Buttons.Add(cmdStart)
' Set the data context of the listbox control to the sample data
DataContext = App.ViewModel
End Sub
However when i run it in the emulator there is no application bar! No error either. It is a pivot application also but this shouldnt make a difference surely? any ideas?
The application bar is accessible via the ApplicationBar property of the Page class you're deriving from. You don't need to create your own instance.
Thanks, I actually figured this out just after i posted the question. Thanks anyway.

WP7 - how to update the bound data in a chart?

Hi,
I'm having a hard time for, what I guess, is a simple question...
Here is the code I'm using to render the amChart
In short, my situation is tha the chart always renders the same datapoints...and there is no way I can change them!
Code:
Dim Y_Value_0 As Double = 0.0
Dim Y_Value_1 As Double = 0.0
Dim Y_Value_2 As Double = 0.0
Dim Y_Value_3 As Double = 0.0
Dim Y_Value_4 As Double = 0.0
Public Class ItemValues
Public Property Range() As String
Public Property Value() As Double
End Class
Private DataPoints As New ObservableCollection(Of ItemValues)() From
{New ItemValues() With {.Range = "200", .Value = Y_Value_0}, _
New ItemValues() With {.Range = "400", .Value = Y_Value_1}, _
New ItemValues() With {.Range = "600", .Value = Y_Value_2}, _
New ItemValues() With {.Range = "800", .Value = Y_Value_3}}
Public ReadOnly Property Data() As ObservableCollection(Of ItemValues)
Get
Return DataPoints
End Get
End Property
Private Sub Page_Graphs_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Me.Fill_Graph()
End Sub
Private Sub Fill_Graph()
Y_Value_0 = -5
Y_Value_1 = -10
Y_Value_2 = -20
Y_Value_3 = -50
Me.DataContext = Me
End Sub
However, there is no way, that when the chart is rendered it takes the new values...
In short, how to make the graph to take my data points?
Thanks in advance for any help!
You need to use INotifyPropertyChanged interface so the databound control knows when to update itself.
http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
Check out the "Windows Phone Databound Application" template installed by default if you want to see a working project. It uses a listbox but it's the same concept.

[Q]Bash scripting

Hey XDA, question, been usig bash for god nows how long, definately not new to it/linux,
basis for my question is, i built a huge ass config-based script (reads from default of 5 cfgs, to infinite..) t
o work as init.d, with way to many options
So many it actually gets annoying using root explorer to edit em all, & tracking em all down xD (generated..)
So i built a dynamic menu script to define it (everything in it changes dynamicly depending on config + current displayed info)
With the lack of text functions on droid its getting annoying xD lmao, so yesterday when i got off work i sat down & rebuilt it from scratch
Only took about n hour, its not to big, but now im stuck on a big issue with droid trying to add option for color
On linux its easy (just tput that **** xD), Android, almost got it, but unless i am filling the menu, color wont stick
Meaning, if i color parts of the menu (borders, text, etc. ) thenhide the keyboard, color returns to default
My question is simply, is there a bash native way to force color?
Script is here if you want a reference
http://pastebin.com/DXq1ny4P
Main config:
http://pastebin.com/q6CziJNi
Advanced config:
http://pastebin.com/0LruDMWc
(Configs MUST be in SRC/Menus from script)
Configs have functio ns removed to use as example..
excuse the crudeness & "unusual" method for scriptig xD its a WiP..
Only had about an hour or so on it
That color function is NOWHERE near mt final, its just a tmp untill
I can get full color working,
Full (so far) is:
Code:
Sf_Out() # Allows multiple variables to be parsed
# during echo, while keeping a simple layout
# $1 = Color ends after echo? [0|1]
# $2 = Remove newline on echo [0|1]
# $3 = FiP (in progress, bold text) [N/A]
# $4 = Foreground color
# $5 = Background color
# $6 = Actual text
# Command is parsed by following layout
# 'Sf_Out 0 0 0 {$4} {$5} "text"'
{
Ec="-e"
tmp=$1; # Specifify if color should end after echo
tmp=$2; # Should we remove newline on echo
tmp=$3; # FiP
U="$6" # Actual text of echoline
case "$1" in
1)Ad="FixCl;";;
*)Ad=;;
esac;case "$2" in
1|y)Ec="-en";;
esac;case "$3" in
1)FiP=;;
*)FiP=;;
esac;
W="$(case "$4" in
0)echo "30";;
1)echo "31";;
2)echo "32";;
3)echo "33";;
4)echo "34";;
5)echo "35";;
6)echo "36";;
7)echo "37";;
*)echo "37";;
esac)"
V="$(case "$5" in
0)echo "40m";;
1)echo "41m";;
2)echo "42m";;
3)echo "43m";;
4)echo "44m";;
5)echo "45m";;
6)echo "46m";;
7)echo "47m";;
*)echo "47m";;
esac)";
echo $Ec "\e[$M;$V""$6"
if [ "$Ad" == 1 ];then FixCl;Ad=;fi
}
dblChk() {
Ok=;Dc="$1";Fb="$2";Op="$3";V1="$4";V2="$5"
for k in `seq $V1 $V2`;
do
if [ "$Dc" == "$k" ];then export "$Op"="$k";else export "$Op"="$Fb";Ok=1;fi
done
}
I have a few more to update aswell, as i said, its constantly changing atm, & wont stabilize untill i can either get
This working, or give up, lol,
Side note, if anyone knows where i can get a tput binary, can u lemme know? Lol i coulda had this done in 30min xD
ok, on the way home on the bus, got 15 min, 10 min in, got a new echo prompt, & better explanation of my issue.
Heres my new function:
Code:
Sf_UI()####################################################
#
# Usage:
# Sf_UI <A> <B> <C> <D> "{TEXT}"
#
# Where <$> is:
# A - Color is line only [1|0]
# B - Remove newline from end of echo [1|0]
# C - Bold or underline? [0-none|1-bold|2-underline]
# D - Text color [0|1|2|3|4|5|6|7]
# E - background color [0|1|2|3|4|5|6|7]
###########################################################
{ Fx=;A=$1;B=$2;C=$3;D=$4;E=$5
case "$1" in
1)Fx=1;;
0)Fx=0;;
*)Fx=;;
esac;case "$2" in
1)Var="-ne";;
*)Var="-e";;
esac;case "$3" in
1)Bd=1;;
2)Bd=4;;
*)Bd=0;;
esac;
# Grab our colors..
FgC="$(case "$4" in
1)echo "31";;
2)echo "32";;
3)echo "33";;
4)echo "34";;
5)echo "35";;
6)echo "36";;
7)echo "37";;
*)echo "37";;
esac)"
BgC="$(case "$5" in
0)echo "40";;
1)echo "41";;
2)echo "42";;
3)echo "43";;
4)echo "44";;
5)echo "45";;
6)echo "46";;
7)echo "47";;
*)echo "47";;
esac)";case "$Fx" in
1)echo $Var "\e[$B;$(echo $FgC)m""\e[$(echo $BgC)m""$6""\e[0m";;
*)echo $Var "\e[$B;$(echo $FgC)m""\e[$(echo $BgC)m""$6";;
esac
}
Which when used in either 'Sf_UI 0 0 0 color1 color2' fills colorspace
'Sf_UI 1 0 0 color1 color2' outputs a newline with standard text afterwords, you get the idea..
In terminal,
Outputs results of pic1&2, pic3 is same prompt & keyboard down.

NFC home automation (need help whit javascript)

I'm trying to make an NFC home automation system. What I like to do is when I go outside of home then there is sticker in my door and when I put my phone near to it it will go to my home server and marks me away.
eg:
Code:
../../automatic.php?who=wife&?id=1
but I'f I'm home and wife leaves it dont do nothing. but when I leave then then our both id's equals to 2 then home will shut down and and roomba start cleaning.
I have started to learn javascript but I'm just beginner and need help.
HTML:
<script>
var status_id = getUrlVars()["id"];
var kes = getUrlVars()["who"];
var a = getUrlVars()["status_id"];
var b = getUrlVars()["kes"];
var x = a+b;
if (x == 2) {
"http://go to roomba wifi rest api";
"http://Tim all lights down";
} else {
exit;
}
</script>
I need this script to work whit 2 people and vars should be saved to somewhere.
status_id = 1 or 0
kes = wife or me
it should be this way
eg:
Code:
wife 1
me 0
hope some1 can help me out whit this

Categories

Resources