Gå til innhold

Hjemmeautomasjon - Hva er det og hvorfor skulle jeg bry meg? (Automasjonskaféen)


Anbefalte innlegg

Moskus: Scriptet ditt fungerer, men hvis jeg forsøker å kjøre flere instanser samtidig virker det som om ting går litt i krøll. Forsøker å kjøre i 3 rom samtidig, men det er bare de 2 siste som faktisk kjører. Det første stopper på step 1.

 

Litt rart, må jeg si. Lyst å se om det funker hos deg?

 

Se utsnitt av loggen under. Jeg laget en event "test" som starter tre separate eventer som igjen kjører scriptet med forskjellige parametre. Har også prøvd en event med 3 script-actions, med samme resultat.

 

19.01.2011 10:41:38 ~!~Event~!~Event Trigger "test"
19.01.2011 10:41:38 ~!~Event~!~Event Trigger "Vekking - Lys - T&J"
19.01.2011 10:41:38 ~!~Event~!~Running script in background: SunshineClock2.vb("Main","start|E2")
19.01.2011 10:41:40 ~!~Event~!~Event Trigger "Vekking - Lys - Tiril"
19.01.2011 10:41:40 ~!~Event~!~Running script in background: SunshineClock2.vb("Main","start|E3")
19.01.2011 10:41:40 ~!~Alarm Sunshine~!~Good morning sunshine! Timer has started.
19.01.2011 10:41:40 ~!~Alarm Sunshine~!~Light has been increased (time: 1 - level: 1)
19.01.2011 10:41:40 ~!~Alarm Sunshine~!~Good morning sunshine! Timer has started.
19.01.2011 10:41:40 ~!~Alarm Sunshine~!~Light has been increased (time: 1 - level: 1)
19.01.2011 10:41:40 ~!~Event~!~Event Trigger "Vekking - Lys - Tuva"
19.01.2011 10:41:40 ~!~Event~!~Running script in background: SunshineClock2.vb("Main","start|E4")
19.01.2011 10:41:40 ~!~Alarm Sunshine~!~Good morning sunshine! Timer has started.
19.01.2011 10:41:40 ~!~Alarm Sunshine~!~Light has been increased (time: 1 - level: 1)
19.01.2011 10:42:40 ~!~Alarm Sunshine~!~Light has been increased (time: 2 - level: 1)
19.01.2011 10:42:40 ~!~Alarm Sunshine~!~Light has been increased (time: 2 - level: 1)
19.01.2011 10:43:40 ~!~Alarm Sunshine~!~Light has been increased (time: 3 - level: 1)
19.01.2011 10:43:40 ~!~Alarm Sunshine~!~Light has been increased (time: 3 - level: 1)
19.01.2011 10:44:40 ~!~Alarm Sunshine~!~Light has been increased (time: 4 - level: 1)
19.01.2011 10:44:40 ~!~Alarm Sunshine~!~Light has been increased (time: 4 - level: 1)
19.01.2011 10:45:40 ~!~Alarm Sunshine~!~Light has been increased (time: 5 - level: 1)
19.01.2011 10:45:40 ~!~Alarm Sunshine~!~Light has been increased (time: 5 - level: 1)
19.01.2011 10:46:40 ~!~Alarm Sunshine~!~Light has been increased (time: 6 - level: 2)
19.01.2011 10:46:40 ~!~Alarm Sunshine~!~Light has been increased (time: 6 - level: 2)

Endret av DarthSmeg
Lenke til kommentar
Videoannonse
Annonse

Tror jeg ville prøvd plan B. Skjøre script med samme navn og samme funksjonsnavn skal i teorien kunne gå (spesielt siden de har forskjellige parametre), men jeg har iallfall ikke teste det voldsomt...

 

Ut fra loggen ser det jo dessverre bare ut som om skriptet starter på nytt.

Lenke til kommentar

Tiden når vekkeklokke scriptet ditt skal starte.

Greit å ha mulighet til å gjøre det i HSTouch hvis man vil endre tid.

Ah, sånn ja. Ja, jeg har en "virtuell device" hvor klokkeslettet justeres med knapper for timer (+/- 1 time pr trykk) og minutter (+/- 5 min pr trykk). Fungerer glimrende med HStouch. :)

 

0. Vekkeklokken må startes av et script som heter "Vekking - Lys". (evt må du endre skriptet under)

 

1. Lagre dette skriptet som f.eks. "Min_vekkerklokke.vb" i \Scripts-mappen.

	Sub Main(ByVal pDevice As String)
	Dim newtime As TimeSpan = New TimeSpan(7, 10, 0)
       MainButtons(pDevice)
	hs.SetDeviceString(pDevice, TimeToString(newtime))
	hs.WriteLog("Min_vekkerklokke.vb", "Initiering avsluttet")
End Sub


Private Sub MainButtons(ByVal pDevice As String)
	Try
		Dim myScript As String = Nothing

		hs.DeviceButtonRemove(pDevice, "H +")
		myScript = "Min_vekkerklokke.vb(""HourUp"",""" & pDevice & """)"
		hs.DeviceButtonAdd(pDevice, myScript, "H +")

		hs.DeviceButtonRemove(pDevice, "H -")
		myScript = "Min_vekkerklokke.vb(""HourDown"",""" & pDevice & """)"
		hs.DeviceButtonAdd(pDevice, myScript, "H -")

		hs.DeviceButtonRemove(pDevice, "M +")
		myScript = "Min_vekkerklokke.vb(""MinUp"",""" & pDevice & """)"
		hs.DeviceButtonAdd(pDevice, myScript, "M +")

		hs.DeviceButtonRemove(pDevice, "M -")
		myScript = "Min_vekkerklokke.vb(""MinDown"",""" & pDevice & """)"
		hs.DeviceButtonAdd(pDevice, myScript, "M -")

		hs.WriteLog("Min_vekkerklokke.vb", "Initiering avsluttet")
	Catch ex As Exception
		hs.WriteLog("Min_vekkerklokke.vb", "Error = " & ex.Message)
	End Try
End Sub

Private Sub UpdateDeviceAndEvent(ByVal pDevice As String, ByVal _time As TimeSpan)
	hs.SetDeviceValue(pDevice, CInt(_time.Hours & _time.Minutes))
	hs.SetDeviceString(pDevice, TimeToString(_time))

	Dim evnt As Scheduler.Classes.EventClass = hs.GetEventByRef(hs.GetEventRefByName("Vekking - Lys"))
	evnt.ev_time = TimeToString(_time.Subtract(New TimeSpan(0, 30, 0)))

	evnt = Nothing
End Sub

Sub MinUp(ByVal pDevice As String)
	Dim time As TimeSpan = TimeToTimepan(hs.DeviceString(pDevice))
	Dim newtime As TimeSpan = time.Add(New TimeSpan(0, 5, 0))

	UpdateDeviceAndEvent(pDevice, newtime)
End Sub

Sub MinDown(ByVal pDevice As String)
	Dim time As TimeSpan = TimeToTimepan(hs.DeviceString(pDevice))
	Dim newtime As TimeSpan = time.Subtract(New TimeSpan(0, 5, 0))

	UpdateDeviceAndEvent(pDevice, newtime)
End Sub

Sub HourUp(ByVal pDevice As String)
	Dim time As TimeSpan = TimeToTimepan(hs.DeviceString(pDevice))
	Dim newtime As TimeSpan = time.Add(New TimeSpan(1, 0, 0))

	UpdateDeviceAndEvent(pDevice, newtime)
End Sub

Sub HourDown(ByVal pDevice As String)
	Dim time As TimeSpan = TimeToTimepan(hs.DeviceString(pDevice))
	Dim newtime As TimeSpan = time.Subtract(New TimeSpan(1, 0, 0))

	UpdateDeviceAndEvent(pDevice, newtime)
End Sub

Private Function TimeToTimepan(ByVal _time As String) As TimeSpan
	Dim time() As String = _time.Split(":")
	Dim hours As Integer = time(0)
	Dim mins As Integer = time(1)
	Dim ret As New TimeSpan(hours, mins, 0)

	Return ret
End Function

Private Function TimeToString(ByVal _time As TimeSpan) As String
	If _time.Hours >= 24 Then _time = New TimeSpan(0, _time.Minutes, 0)
	If _time.Hours < 0 Then _time = New TimeSpan(24 + _time.Hours, _time.Minutes, 0)
	If _time.Hours = 0 And _time.Minutes < 0 Then _time = New TimeSpan(23, 60 + _time.Minutes, 0)
	Return _time.Hours.ToString("00") & ":" & _time.Minutes.ToString("00")
End Function

 

 

2. Lag en device i HomeSeer og sett Device Type til "Virtual". Husk koden du velger. Min device har kode Q11.

 

3. Lag et event som kjører skriptet (skal KUN kjøres én gang). Scriptet skal kjøres med parametre som følger:

("Main","Q11")

 

4. Legg til knappene i HStouch. Status'en til devicen viser klokkeslettet.

 

 

Done! :)

Endret av Moskus
Lenke til kommentar

Dette blir spennede (og dyrt, ja...:-D).

Dyrt er relativt. KNX/EiB har en startpris på et stykke over 100.000... ;)

Sant. :-) Men tror du ikke de har leveranseproblemer på komponenter til RFXMitter da, så jeg får ikke den før i slutten av februar...:-(

 

Hadde tenkt til å kjøre demoversjon av Homeseer for å få testet dette, men siden demoen bare varer i 1 måned (tror jeg?) blir jo det vanskelig. Vet du hva Homeseer sjekker på? Hvis det er installasjonen av Windows så er det jo greit, da kan jeg jo bare installere en ny versjon av Windows når jeg etter hvert får RFXMitteren, men his det er noe annet sliter jeg litt.

 

Har jo tenkt til å kjøpe Homeseer, men kunne jo tenkt meg å teste litt først. Æsj. :-(

Lenke til kommentar

Hva mener du "sjekker på"? Hvis du likevel skal reformatere er det jo bare å installere...

Installerer dette på en virtuell PC, så kan evt bare reinstallere den når jeg får alt utstyret, men det betinger at ikke demolisensen er knyttet mot min epostadresse f.eks.

Ah sånn, ja. Nei, da er det bare å installere. :)

Lenke til kommentar

Hm, hvordan legger jeg til innganger og utganger som funker sammen med RFX?

Ser ut til at jeg har faat confet den,

1/21/2011 8:34:03 PM - RFXCOM - Transmitter #:1 alive check

1/21/2011 8:34:25 PM - RFXCOM - Receiver #1 alive check on rfxlan

 

Men finner ikke ut hvordan legge til brytere (inngangsenheter)

Endret av LEHoisveen
  • Liker 1
Lenke til kommentar

Hm, hvordan legger jeg til innganger og utganger som funker sammen med RFX?

Ser ut til at jeg har faat confet den,

1/21/2011 8:34:03 PM - RFXCOM - Transmitter #:1 alive check

1/21/2011 8:34:25 PM - RFXCOM - Receiver #1 alive check on rfxlan

 

Men finner ikke ut hvordan legge til brytere (inngangsenheter)

Dette er svart noen ganger tidligere. Og manualen ligger i HomeSeer HS2\Docs mappen. :)

 

 

noen som vet om denne kan brukes sammen med rfxcom: brannvarsler

Nei, den fungerer ikke dessverre.

 

Er det noen som har peiling paa hvordan jeg kan sette opp en musikkspiller i hstouch og der kunne velge hvilke sone som skal spille? Eller maa jeg sette opp en spiller for hver sone?

Har letet en del rundt i forumene men har ikke funnet noe enda..

Spør i Squeezebox-forumet hos HS. :)

 

 

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...