Autor Wątek: [MortScript] - prośba o skrypty i modyfikacje  (Przeczytany 5094 razy)

Offline __PeTe__

  • Świeżak ;)
  • *
  • Podziękowań: 0
  • HTC Hermes & PALM Treo 750
[MortScript] - prośba o skrypty i modyfikacje
« dnia: Środa, 04 Luty 2009, 10:41 »
Korzystam od niedawna z dobrodziejstw MortScripta, a dokładnie z serwisu pogodowego i opcji zmiany tapet w zależności od pogody w S2U2.
Wszystko w miarę sympatyczmie, ale znalazłem zkrypt, który po prostu pobiera dane z HTC Home i nie musi nawiązywać dodatkowych połączeń.
Oto ten skrypt:
# fetch weather from htc weather registry
# Run every XX Hours
# Version 2.2 using Notification Queue, System Paths

# USER SETTINGS, CHANGE AS DESIRED

# how often to try and get the weather
delayHours = .5

# folder containing your weather wallpaper
wallpaperfolder = "\storage card\my documents\download\wallpaper\weather\"

# wallpaper type jpg or gif
wallpapertype= ".jpg"

# desired units for temp, f or c
units="c"

GetTime(hour,min,sec,day,month,year)

# set up for next notification
utime = TimeStamp() + (delayHours*60)*60

mort = SystemPath("ScriptExe") & "\MortScript.exe"
script = SystemPath("ScriptPath") & "\" & SystemPath("ScriptName") & SystemPath("ScriptExt")

# kill any lingering notification
RemoveNotifications(mort, script)
# set notify for myself at next time
RunAt( utime, mort, script)

# Quietly ignore all errors
ErrorLevel("off")

# avoid registry writes if no change
curweather = RegRead("HKCU", "\Software\A_C\S2U2\", "UserWeather")
currlweather = RegRead("HKCU", "\Software\emerym\", "Weather")
curpic= RegRead("HKCU", "\Software\A_C\S2U2\", "wallpaper")
curforecast = SubStr(curpic,-6,2)
weather = ""
rlweather = ""

# Array for the HTC Home Weather to BackGround JPG
HHW["01"]=32
HHW["02"]=30
HHW["03"]=44
HHW["04"]=30
HHW["05"]=30
HHW["06"]=28
HHW["07"]=19
HHW["08"]=20
HHW["11"]=26
HHW["12"]=40
HHW["13"]=39
HHW["14"]=39
HHW["15"]=38
HHW["16"]=37
HHW["17"]=37
HHW["18"]=35
HHW["19"]=13
HHW["20"]=14
HHW["21"]=16
HHW["22"]=15
HHW["23"]=14
HHW["24"]=15
HHW["25"]=15
HHW["26"]=46
HHW["29"]=46
HHW["30"]=36
HHW["31"]=25
HHW["32"]=20
HHW["33"]=31
HHW["34"]=29
HHW["35"]=27
HHW["36"]=27
HHW["37"]=31
HHW["38"]=33
HHW["39"]=45
HHW["40"]=45
HHW["41"]=47
HHW["42"]=47
HHW["43"]=5
HHW["44"]=46

# get data from registry
# HKLM\Software\HTC\HTCHome\Weather\

temp = RegRead("HKLM","\Software\HTC\HTCHome\Weather\", "CurrentTemp")
ccodeHTC = RegRead("HKLM","\Software\HTC\HTCHome\Weather\", "Icon")
hitemp = RegRead("HKLM","\Software\HTC\HTCHome\Weather\Forecast0\", "HighTemp")
lotemp = RegRead("HKLM","\Software\HTC\HTCHome\Weather\Forecast0\", "LowTemp")
codeHTC = RegRead("HKLM","\Software\HTC\HTCHome\Weather\Forecast0\", "Icon")

#convert HTC code to weatherpanel/Yahoo code
ccode = HHW[%ccodeHTC%]
code = HHW[%codeHTC%]

weather="C|"&code&"|"&temp&"ş H"&hitemp&"ş\L"&lotemp&"ş"
       

if (curweather ne weather)
#for s2u2 UserWeather
RegWriteString("HKCU", "\Software\A_C\S2U2\", "UserWeather", weather)
if (ccode ne curforecast)
wallpaper=wallpaperfolder&ccode&wallpapertype
RegWriteString("HKCU", "\Software\A_C\S2U2\", "Wallpaper", wallpaper)
Run("\Program Files\S2U2\iLock2.exe","-refresh")
if (WndActive("S2U2") = True)
Run("\Program Files\S2U2\s2u2.exe")
endif
endif
endif

Mój problem polega na tym, że HTC Home pobiera dane w Farenheitach i tak dane te są zapisywane w rejestrze skąd skrypt MortScripta je bierze, a więc wyświetla je też w st. F :-(
Czy mógłby ktoś zmodyfikować ten skrypt, aby dane były przeliczane na st. C ?
Próbowałem samemu, ale niestety ....
Dla ułatwienia podaję wzór na przeliczanie F na st. C:
T[oC] = 5/9 (T[oF] - 32)


Druga prośba - też dotyczy skryptów, ale tyma razem nie udało mi się nic znaleźć, więc nie ma jako takiej "bazy".
Chodzi mi o skrypt, który oprogramowałby przycisk w słuchawkach (ten przy mikrofonie), tak aby podczas słuchania muzyki można było po naciśnięciu tego przycisku zrobić PAUSE, a po kolenym naciśnięciu wznowić muzykę (PLAY).

Oczywiście fajnie byłoby zachować wszystkie pozostałe opcje - tj. odbieranie rozmów ... (wybieranie głosowe jak dla mnie można "olać", ale jeżeli będzie to też nie pogardzę :-) )

Z góry dziękuję :-)

Pozdrawiam

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #1 dnia: Środa, 04 Luty 2009, 11:55 »
temp = RegRead("HKLM","\Software\HTC\HTCHome\Weather\", "CurrentTemp")

Podaj przykładową wartość (liczba? string? jak string, to jaki?).


Przy okazji:
Zmodyfikowałem kiedyś któryś ze skryptów z xda:
http://forum.mobione.pl/index.php/topic,255.msg49442.html#msg49442

Ponadto, napisałem mały skrypcik, który do S2U2 pobiera pogodę z BSWeather:
http://forum.mobione.pl/index.php/topic,255.msg49765.html#msg49765

Chodzi mi o skrypt, który oprogramowałby przycisk w słuchawkach (ten przy mikrofonie), tak aby podczas słuchania muzyki można było po naciśnięciu tego przycisku zrobić PAUSE, a po kolenym naciśnięciu wznowić muzykę (PLAY).

Sądzę, że nie da rady. Ten przycisk w słuchawkach to jest wrzód wiesz, gdzie...  ::)  nie znam metody na jego obsłużenie.


Offline __PeTe__

  • Świeżak ;)
  • *
  • Podziękowań: 0
  • HTC Hermes & PALM Treo 750
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #2 dnia: Środa, 04 Luty 2009, 13:37 »
temp = RegRead("HKLM","\Software\HTC\HTCHome\Weather\", "CurrentTemp")

Podaj przykładową wartość (liczba? string? jak string, to jaki?).
Name: CurrentTemp
Data type: string
Data: 32

Czy o to Ci chodziło ?

Tak samo jest w tej części gdzie pobiera dane o najwyższej i najniższej temperaturze. Jak rozumiem HTC Home zapisuje do rejestru te wartości w st. F, a w ustawieniach HTC Home można zdefiniować st. F lub C. Jeżeli Celcjusz, to HTC Home przelicza je ...


Co do przycisku w słuchawkach....
Sądzę, że nie da rady. Ten przycisk w słuchawkach to jest wrzód wiesz, gdzie...  ::)  nie znam metody na jego obsłużenie.
Ok - znalazłem coś:
#Należy podać pełną ścieżkę do aplikacji, która ma zostać uruchomiona
2  aplikacja="\Storage Card\Program Files\Cyberon.Speech.Commander\VoiceCommander.exe"

4  #wyłączenie obsługi błędów do takiego poziomu, żeby funkcja WaitFor nie krzyczała, że nie znalazła okna
5  ErrorLevel("syntax")
6  #Nie kończąca się pętla
7  while (1)
8    #Czekamy przez 5 minut na okno o tytule "Voice Speed"
9    WaitFor("Voice Speed",600)
10   if (WndExists("Voice Speed"))
11     #Zamknij okno o nazwie "Voice Speed"
12     close("Voice Speed")
13     #Uruchom aplikację
14     Run (aplikacja)
15     #Sprawdzamy co sekundę czy okno Voice Commandera jest aktywne
16     sleep(3000)
17     tytul = ActiveWindow()
18     while(WndActive(tytul))
19       sleep(1000)
20     endwhile
21     #Jeśli nie jest aktywne zamykamy program
22     close(tytul)
23     #...i gasimy ekran dla oszczędności energii
24     ToggleDisplay(0)
25   endif
26 endwhile

źródło: PDACLUB.PL

Pozdrawiam


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #3 dnia: Środa, 04 Luty 2009, 14:18 »
Name: CurrentTemp
Data type: string
Data: 32

Czy o to Ci chodziło ?

Tak, ale skoro to string, to podaj przykładową wartość z regu. Chodzi mi o to, że mogą tam być znaki dodatkowe, np. "F" ;)


8    #Czekamy przez 5 minut na okno o tytule "Voice Speed"
9    WaitFor("Voice Speed",600)

Hmmm....... trochę naokoło  ?-?  No i musisz mieć tę aplikację. Spróbuj to wykorzystać, ale to nie jest to, o co mi chodziło ;)

Offline __PeTe__

  • Świeżak ;)
  • *
  • Podziękowań: 0
  • HTC Hermes & PALM Treo 750
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #4 dnia: Środa, 04 Luty 2009, 14:54 »
Tak, ale skoro to string, to podaj przykładową wartość z regu. Chodzi mi o to, że mogą tam być znaki dodatkowe, np. "F" ;)

Najprościej będzie jak zamieszczę całą wyciągnięta gałąź:
[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather]
"Status"=dword:00000002
"LastUpdateAction"=hex:80,a4,5a,43,96,86,c9,01
"LastUpdate"=hex:80,a4,5a,43,96,86,c9,01
"Icon"="11"
"CurrentTemp"="32"

[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather\Settings]
"Location"="Warszawa, PL"
"LocationCode"="EUR|PL|PL007|WARSZAWA"
"AutoDownload"=dword:00000000
"CityIndex"=dword:00000b94
"RoamDownload"=dword:00000000
"Celsius"=dword:00000001
"ConnectionTimeout"=dword:0000003c

[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather\Forecast0]
"Icon"="08"
"LowTemp"="27"
"HighTemp"="39"
"DayCode"="Wed"

[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather\Forecast1]
"Icon"="11"
"LowTemp"="29"
"HighTemp"="36"
"DayCode"="Thu"

[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather\Forecast2]
"Icon"="06"
"LowTemp"="36"
"HighTemp"="39"
"DayCode"="Fri"

[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather\Forecast3]
"Icon"="08"
"LowTemp"="31"
"HighTemp"="46"
"DayCode"="Sat"

[HKEY_LOCAL_MACHINE\Software\HTC\HTCHome\Weather\Forecast4]
"Icon"="26"
"LowTemp"="23"
"HighTemp"="35"
"DayCode"="Sun"
Jak widzisz, nic tam więcej nie ma - a wartości liczbowe są, jak wcześniej pisałem, wartościami temp. wyrażonymi w st. F.

====
Hmmm....... trochę naokoło  ?-?  No i musisz mieć tę aplikację. Spróbuj to wykorzystać, ale to nie jest to, o co mi chodziło ;)

Wiem, że naokoło, ale sprawdzę to - na razie aplikację zainstalowałem na Palmie i sprawuje się całkiem sympatycznie, jednak chwilę to potrwa zanim będę mógł się wypowiedzieć na ten temat.

Pozdrawiam


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #5 dnia: Środa, 04 Luty 2009, 15:20 »
Poniższe działa:

temp = RegRead("HKLM","\Software\HTC\HTCHome\Weather\", "CurrentTemp")
tempC = 0.55556 * (temp - 32)
Message("temp F: " & temp & "   temp C: " & tempC)

Szkopuł tkwił w konstrukcji 5/9*(....) - nie działało.



dodano: Środa, 04 Luty 2009, 15:19

...bo musi być:

tempC = 5.0/9.0 * (temp - 32)

Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #6 dnia: Środa, 04 Luty 2009, 15:22 »
Cytuj
Chodzi mi o skrypt, który oprogramowałby przycisk w słuchawkach (ten przy mikrofonie), tak aby podczas słuchania muzyki można było po naciśnięciu tego przycisku zrobić PAUSE, a po kolenym naciśnięciu wznowić muzykę (PLAY).
Przycisk na słuchawce można wykorzystać! ale ten drugi :p
Jeśli nadal masz hermesa to po prostu
Cytuj
[HKEY_LOCAL_MACHINE\Software\OEM\VoiceCommand]
"Path"="\\WINDOWS\\jakiśtam.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\AudioGateWay]
  "BTAGExtModule"="BTAGExt.dll"
  "Capability"=dword:25         ; 0x25(37)
  "ConnectHFOnCall"=dword:1
[HKEY_LOCAL_MACHINE\Software\OEM\VoiceCommand]
   "VoiceCmdEnable"=dword:0
   "LaunchAPEnable"=dword:1
   "VoiceCmdDuration"=dword:0a

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #7 dnia: Środa, 04 Luty 2009, 15:27 »
  "VoiceCmdEnable"=dword:0
   "LaunchAPEnable"=dword:1

hm, ciekawy myk :) To teraz skrobnąć np. programik, który będzie coś do regu pisał albo wysyłał jakiegoś mesga i jest :)

Offline __PeTe__

  • Świeżak ;)
  • *
  • Podziękowań: 0
  • HTC Hermes & PALM Treo 750
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #8 dnia: Środa, 04 Luty 2009, 16:45 »
Czyli fragment skryptu ma wyglądać teraz następująco:

ccode = HHW[%ccodeHTC%]
code = HHW[%codeHTC%]

tempC = 5.0/9.0 * (temp - 32)
hitempC = 5.0/9.0 * (hitemp - 32)
lotempC = 5.0/9.0 * (lotemp - 32)

weather="C|"&code&"|"&tempC&"ş H"&hitempC&"ş\L"&lotempC&"ş"

@Globalbus:
Nadal ma Hermesa ... ale jaki drugi przycisk słuchawek miałeś na myśli?
Mam standardową allegrową "przejściówkę" na słuchawki z mini jackiem, ale nawet w zestawie oryginalnym nie ma 2-go przycisku... aż obejrzę to jeszcze raz :-)
Jak rozumiem, zmiana w rejestrze wyłącza standardowe wybieranie głosowe... w wcześniej w ścieżce wpisuję program jaki ma być na miejsce VoiceCommand'a?
« Ostatnia zmiana: Środa, 04 Luty 2009, 17:17 wysłana przez __PeTe__ »

Pozdrawiam

Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #9 dnia: Środa, 04 Luty 2009, 16:56 »
hehe, miałem na myśli słuchawkę bt ;)
ale z kablową też powinno działać, raczej


Offline __PeTe__

  • Świeżak ;)
  • *
  • Podziękowań: 0
  • HTC Hermes & PALM Treo 750
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #10 dnia: Środa, 04 Luty 2009, 17:02 »
Nawet w w słuchawce BT mam jeden przycisk jeżeli nie liczyć przycisków od głośności :-)

Jak wrócę do domu i dziecko mi pozwoli to poeksperymentuję :-)

========= KILKA GODZIN PÓŹNIEJ .... ======================

Nie będę pisał już nowego posta (żeby nie nabijać :-) )

@globalbus: Dzięki za "receptę" na wpis do rejestru - w moim przypadku wystarczyło dopisać tylko:

[HKEY_LOCAL_MACHINE\Software\OEM\VoiceCommand]
"Path"="\\WINDOWS\\jakiśtam.exe"

przy okazji pytanie, a nawet dwa:
- dlaczego w PATH-u powyżej stosowałeś: \\  ? (pytam tak ze zwykłej ciekawości)
- Czy ta wartość: { "VoiceCmdDuration"=dword:0a } odpowiedzialna jest za czas przyciskania przycisku aby wywołać program ?

Dla wszystkich zainteresowanych tym tematem - oświadczam, że Voice Commander zamiast standardowego wybierania głosowego spisuje się znakomicie.
Voice Commander w wersji poskiej do pobrania >> TUTAJ <<

Natomiast jeżeli chodzi o skrypt - jest prawie dobrze :-)
Jedynym mankamentem jest fakt, że po przeliczeniu temperatury na st. C wartości wyrażone są do chyba 8 miejsc po przecinku :-)
Czy jest jakiś sposób na zaokrąglanie ich w górę - bo zauważyłem, że HTC Home tak to robi - nawet jeżeli temp = 1,1111111 to w zakładce Weather, temp = 2
« Ostatnia zmiana: Czwartek, 05 Luty 2009, 10:01 wysłana przez __PeTe__ »

Pozdrawiam

Offline motyk344

  • Świeżak ;)
  • *
  • Podziękowań: 0
  • HTC Tornado,HTC Prophet
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #11 dnia: Czwartek, 19 Luty 2009, 00:29 »
Witam
Mam prosbe czy da rade za pomoca skryptu zabezpieczyc sie przed rozladowaniem bateri np przy 15% sie wylaczy.
PS: Bardzo pomoglo by to posiadaczom  spv m600 i innym ppc


lupus

  • Gość
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #12 dnia: Sobota, 01 Sierpień 2009, 09:30 »
Prośba. Potrzebuje skryptu, który przy uruchomieniu systemu wyłączy działający GPS, który w Diamondzie jak wynika z Batery Guard działa nontoper  ?-?  i wciaga bateryjke  >:(

Offline Budniu

  • Administrator
  • Core
  • *****
  • Podziękowań: 226
  • Nokia Lumia 820│Motorola Xoom 2 ME
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #13 dnia: Sobota, 01 Sierpień 2009, 10:30 »
@Lupus nie znam się za bardzo na Diamondzie, ale czy nie patrzyłeś jakie pliki są w autostarcie systemu, może rozwiązanie jest prostsze niż się wydaje ?-? Usunąć skrót z autostartu i po kłopocie.

lupus

  • Gość
Odp: [MortScript] - prośba o skrypty i modyfikacje
« Odpowiedź #14 dnia: Sobota, 01 Sierpień 2009, 10:45 »
@Lupus nie znam się za bardzo na Diamondzie, ale czy nie patrzyłeś jakie pliki są w autostarcie systemu, może rozwiązanie jest prostsze niż się wydaje ?-? Usunąć skrót z autostartu i po kłopocie.

to była 1 rzecz jaką sprawdziłem...