Gå til innhold

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


Anbefalte innlegg

hei noen som vet åssen jeg får laget en desktop snarvei til å kjøre et skript med Script Connector plugin.

 

har prøvd med cmd snarvei men fikk ikke lagret comando linjen. kom bare in i cmd.

Lag en snarvei til HSscript, høyreklikk -> Properties -> Legg til scriptnavnet etter banen. :)

(Hvis jeg husker riktig)

 

 

Er antageligvis blitt blind, men hvor i HS setter jeg språk/lokalisering? I About står dette: HomeSeer Localization: English (United Kingdom) - og på strømkostnader står det pund i stedet for kr.

Du endrer det ikke i HomeSeer, men i Windows. HomeSeer følger Windows sine innstillinger.

Lenke til kommentar
Videoannonse
Annonse

hei noen som vet åssen jeg får laget en desktop snarvei til å kjøre et skript med Script Connector plugin.

 

har prøvd med cmd snarvei men fikk ikke lagret comando linjen. kom bare in i cmd.

Lag en snarvei til HSscript, høyreklikk -> Properties -> Legg til scriptnavnet etter banen. :)

(Hvis jeg husker riktig)

 

 

Er antageligvis blitt blind, men hvor i HS setter jeg språk/lokalisering? I About står dette: HomeSeer Localization: English (United Kingdom) - og på strømkostnader står det pund i stedet for kr.

Du endrer det ikke i HomeSeer, men i Windows. HomeSeer følger Windows sine innstillinger.

 

ok fikk det ikke til. åssen tegn skal det være mellom banen og scriptnavnet? Har prøvd de de vanlige tegnene som \ melomrom å med og uten "

Lenke til kommentar

hei noen som vet åssen jeg får laget en desktop snarvei til å kjøre et skript med Script Connector plugin.

 

har prøvd med cmd snarvei men fikk ikke lagret comando linjen. kom bare in i cmd.

Lag en snarvei til HSscript, høyreklikk -> Properties -> Legg til scriptnavnet etter banen. :)

(Hvis jeg husker riktig)

 

 

Er antageligvis blitt blind, men hvor i HS setter jeg språk/lokalisering? I About står dette: HomeSeer Localization: English (United Kingdom) - og på strømkostnader står det pund i stedet for kr.

Du endrer det ikke i HomeSeer, men i Windows. HomeSeer følger Windows sine innstillinger.

 

ok fikk det ikke til. åssen tegn skal det være mellom banen og scriptnavnet? Har prøvd de de vanlige tegnene som \ melomrom å med og uten "

 

jeg fikk det foresten til nå takk for hjelpen :)

Lenke til kommentar

Du kan også legge til parametre til scriptet ditt, som dette:

"C:\Program Files (x86)\HomeSeer Speaker\HsScript.exe" remote_LED.vb "Lunch?!|1"

 

.... hvor remote_LED.vb er scriptet og "Lunch?!|1" er paramteren (som blir slittet med |, her betyr det send beskjeden "Lunch" til et rullende LED-lysbrett én gang).

Lenke til kommentar

Du kan også legge til parametre til scriptet ditt, som dette:

"C:\Program Files (x86)\HomeSeer Speaker\HsScript.exe" remote_LED.vb "Lunch?!|1"

 

.... hvor remote_LED.vb er scriptet og "Lunch?!|1" er paramteren (som blir slittet med |, her betyr det send beskjeden "Lunch" til et rullende LED-lysbrett én gang).

 

ok men åssen for jeg gjort dette scriptet om til et power toogle script?

 

Sub Main()

If hs.isoff("A1") Then

hs.execx10("A1", "on", 100)

End If

End Sub

Lenke til kommentar

Du kan også legge til parametre til scriptet ditt, som dette:

"C:\Program Files (x86)\HomeSeer Speaker\HsScript.exe" remote_LED.vb "Lunch?!|1"

 

.... hvor remote_LED.vb er scriptet og "Lunch?!|1" er paramteren (som blir slittet med |, her betyr det send beskjeden "Lunch" til et rullende LED-lysbrett én gang).

 

ok men åssen for jeg gjort dette scriptet om til et power toogle script?

 

Sub Main()

If hs.isoff("A1") Then

hs.execx10("A1", "on", 100)

End If

End Sub

 

Lagre som remote_toggle.vb

Sub Main(Byval enhet as String)
   If hs.isoff(enhet) Then
    hs.Transmit(enhet, "on")
   Else
    hs.Transmit(enhet, "off")
   End If
End Sub

 

Kalles slik:

"C:\helebanen\HsScript.exe" remote_toggle.vb "A1"

Lenke til kommentar

Hei - jeg er ny med HomeSeer og scripting men har programmert en del før - dog ikke VB.NET, men VB ASP. Bruker RFXCOM og NEXA produkter.

 

Jeg styrer hvert lys med en dobbel bryter slik at jeg kan slå av/på (venstre bryter) og dimme ned/opp trinnvis (høyre bryter) uten å måtte dimme i syklus slik NEXA gjør i utgangspunktet. Tillegg har jeg en nattlys funksjon (hvis en velger dim ned når lyset er av)

 

Veldig fornøyd med hva man kan få til, men nå sitter jeg har og skal programmere de resterende 10-15 bryterne. Siden det er fire events pr bryter blir det mye tasting. Er ikke så tålmodig med repeterende arbeid... Er det noen som vet om en mer elegant måte å gjøre det på. Kan f eks HomeSeer overvåke alle events og "slå til" basert på en liste over "interessante" hendelser?

 

Jeg bruker dette scriptet:

 

Sub SwitchOn(ByVal Dev As Object)
    hs.SetDeviceValue(Dev, 100)
    hs.SetDeviceStatus(Dev, 2) 'On'
End Sub
Sub SwitchOff(ByVal Dev As Object)
    hs.ExecX10(Dev, "off")
    hs.SetDeviceStatus(Dev, 3) 'Off'
End Sub
Sub SwitchUp(ByVal Dev As Object)
    Dim DevVal, DevStat, NewDevVal, NewDevStat As String
    DevVal = hs.DeviceValue(Dev)
    DevStat = hs.DeviceStatus(Dev)
    If hs.IsOff(Dev) Then
	    NewDevVal = 80
	    NewDevStat = 4 'Dim'
    Else
	    If DevVal < 80 Then
		    NewDevVal = DevVal + 20
		    NewDevStat = 4 'Dim'
	    Else
		    NewDevVal = 100
		    NewDevStat = 2 'On'
	    End If
    End If
    hs.SetDeviceValue(Dev, NewDevVal)
    hs.SetDeviceStatus(Dev, NewDevStat)
End Sub
Sub SwitchDown(ByVal Dev As Object)
    Dim DevVal, DevStat, NewDevVal, NewDevStat As String
    DevVal = hs.DeviceValue(Dev)
    DevStat = hs.DeviceStatus(Dev)
    If hs.IsOff(Dev) Then
	    NewDevVal = 20
	    NewDevStat = 4 'Dim'
    Else
	    If DevVal >= 40 Then
		    NewDevVal = DevVal - 20
		    NewDevStat = 4 'Dim'
	    Else
		    NewDevVal = 20
		    NewDevStat = 4 'Dim'
	    End If
    End If
    hs.SetDeviceValue(Dev, NewDevVal)
    hs.SetDeviceStatus(Dev, NewDevStat)
End Sub

 

som styres slik (for en bryter):post-286437-0-45088800-1351439944_thumb.png

Endret av Tanno
Lenke til kommentar

Hei.

 

Har et lite spørsmål. Har så smått startet med dette.

Jeg hadde tenkt å kjøpe 2 stk Nexa LWMR-230 sette de bak strømbryterene. Det jeg lurer på er hva skjer når jeg slår av strømmen fysisk med strømbryteren. Blir strømmen kuttet helt eller sender den kun et signal til boksen til å slå av strømmen. Kan strømbryteren stå i av posisjon, men jeg kan slå på strømmen via nettet?

Dette er vel en jobb for en elektriker da vi vanlige dødlige ikke kan skru opp en fastmontert lysbryter?

Lenke til kommentar

hei

 

jeg har 2 Nexa LWMR-230 å på mine funker det og slår av strømmen fysisk med strømbryteren og skru den på igjen med signal fra homeseer eller kontrol. så det virker som bryteren bare sender et av eller på signal til boksen. hvis du har skrud lyset på med homeseer så kan du bruke den fysiske bryteren til å skru av lyset. og motsat.

Lenke til kommentar

ok takk :) men åssen blir det vis jeg skal starte et event med script?

Da bruker du hs.TriggerEvent.

 

Her er hele hjelpfilen online, også med scripting funksjoner. Idiotisk nok fungerer den best i IE...

 

Jeg bruker dette scriptet:

 

masse kode

Du kan enkelt halvvere antall scripts iallfall med å sette trigger til for en bryter til "any status" og så sjekke hvilken status bryteren har i scriptet ditt. Da må du altså sende inn flere paramtere til scriptet, men det er enkelt gjort med å splitte på en Char.

 

Dette er det jeg gjør, og da bruker jeg f.eks. "_31|B23" som parameter, til scriptet som heter CloneDevice.vb:

Sub Main(ByVal parms As String)
Dim input() As String = parms.ToString.Split("|")

Dim control As String = input(0).ToString
Dim dev As String = input(1).ToString

Dim controldim As Integer = hs.DeviceValue(control)
Dim controlstat As status = hs.DeviceStatus(control)

hs.ExecX10NoLog(dev, controlstat.ToString.Replace("_", ""), controldim)
End Sub

Private Enum status As Integer
On_ = 2
Off_ = 3
Dim_ = 4
End Enum

... scriptet tar bryteren _31 og setter dens status til device B23. Hvis jeg trykker ON på bryteren så blir altså B23 satt til ON. Etc. Og du kan klare deg uten enum'en, Bare endre "Dim controlstat As status" til "Dim controlstat As Integer".

 

Ellers er det strengt tatt mulig å få det til med ett Event. Men det er noen forutsetninger: Du må legge til alle bryterne i som Conditions, og sette trigger til Conditions. I tillegg må du finne en måte å iterere gjennom alle bryter-devicene på, for å finne den som ble trigget sist, i tillegg til å finne den kommandoen den skal kjøre.

 

Det er strengt tatt mulig, men det kan være at å sette opp Events er like greit.

 

 

Jeg hadde tenkt å kjøpe 2 stk Nexa LWMR-230 sette de bak strømbryterene. Det jeg lurer på er hva skjer når jeg slår av strømmen fysisk med strømbryteren.

Bare merk at automasjonsprogrammet ditt ikke får beskjed om at du bruker den fysiske bryteren, og dermed heller ikke vet om lyset er på eller av.

 

Altså kan programmet melde om at lyset er på selv om det er av fordi du har skrudd det av med den fysiske bryteren. Ikke noe problem for funksjon, da på/av-kommandoer alltid vil virke, men du har altså ikke "100% kontroll".

Lenke til kommentar

Er antageligvis blitt blind, men hvor i HS setter jeg språk/lokalisering? I About står dette: HomeSeer Localization: English (United Kingdom) - og på strømkostnader står det pund i stedet for kr.

Du endrer det ikke i HomeSeer, men i Windows. HomeSeer følger Windows sine innstillinger.

OK, men nå er alt endret til norsk/Norge i regionale instillinger, og HS restartet - men fremdeles samme problem. Søkte litt på HS-forumet også, men fant ikke noe relevant der heller. Tips?

Lenke til kommentar

Er antageligvis blitt blind, men hvor i HS setter jeg språk/lokalisering? I About står dette: HomeSeer Localization: English (United Kingdom) - og på strømkostnader står det pund i stedet for kr.

Du endrer det ikke i HomeSeer, men i Windows. HomeSeer følger Windows sine innstillinger.

OK, men nå er alt endret til norsk/Norge i regionale instillinger, og HS restartet - men fremdeles samme problem. Søkte litt på HS-forumet også, men fant ikke noe relevant der heller. Tips?

Never mind, fant denne:

 

Go to the Homeseer 2/config directory and delete the file "Settings_Regional.xml"
Restart Homeseer and your time/date in Homeseer should be changed.

Lenke til kommentar

....

Ellers er det strengt tatt mulig å få det til med ett Event. Men det er noen forutsetninger: Du må legge til alle bryterne i som Conditions, og sette trigger til Conditions. I tillegg må du finne en måte å iterere gjennom alle bryter-devicene på, for å finne den som ble trigget sist, i tillegg til å finne den kommandoen den skal kjøre.

 

Det er strengt tatt mulig, men det kan være at å sette opp Events er like greit.

Takk for svar Moskus. God ide å halvere antall events med å legge inn et parameter til. Det tenkte jeg ikke på!

 

Skjønner ikke hva du mener med "alle brytere som Conditions" men jeg må kanskje lese litt mer i brukermanualen :-) Har du et stikkord for hva "conditions" er?

Lenke til kommentar

Skjønner ikke hva du mener med "alle brytere som Conditions" men jeg må kanskje lese litt mer i brukermanualen :-) Har du et stikkord for hva "conditions" er?

"Conditions" er noe du kan legge til et Event, som gjør at Eventet kun skal trigges hvis "sånn og sånn", som f.eks. "time is before 14:00", "Device whatever is set ON", etc. Men Conditions kan være en trigger i seg selv. Bare velg "Condition", så velger du "Device", blar til bryteren og velger "Set To Any Status". Trykk på Add. Repeat for alle brytere.

 

Som dette:

post-13975-0-48799300-1351504068_thumb.png

 

Problemet er at Actions ikke får beskjed om HVA som trigget eventet. Derfor må du itterere deg gjennom lista og finne bryteren som "sist ble endret", noe som ikke nødvendigvis er så lett. LastChanged vil kun endres om det faktisk er en endring. Hvis bryterens status i HomeSeer er "ON" og du trykker på "ON" igjen, så trigger et hvert Event som er satt til å trigge på "Set ON", men LastChanged vil ikke endre seg fordi status ikke har endret seg.

 

Var det veldig knotete forklart?

Lenke til kommentar

Skjønner ikke hva du mener med "alle brytere som Conditions" men jeg må kanskje lese litt mer i brukermanualen :-) Har du et stikkord for hva "conditions" er?

"Conditions" er noe du kan legge til et Event, som gjør at Eventet kun skal trigges hvis "sånn og sånn", som f.eks. "time is before 14:00", "Device whatever is set ON", etc. Men Conditions kan være en trigger i seg selv. Bare velg "Condition", så velger du "Device", blar til bryteren og velger "Set To Any Status". Trykk på Add. Repeat for alle brytere.

 

Som dette:

post-13975-0-48799300-1351504068_thumb.png

 

Problemet er at Actions ikke får beskjed om HVA som trigget eventet. Derfor må du itterere deg gjennom lista og finne bryteren som "sist ble endret", noe som ikke nødvendigvis er så lett. LastChanged vil kun endres om det faktisk er en endring. Hvis bryterens status i HomeSeer er "ON" og du trykker på "ON" igjen, så trigger et hvert Event som er satt til å trigge på "Set ON", men LastChanged vil ikke endre seg fordi status ikke har endret seg.

 

Var det veldig knotete forklart?

Ok. Takk for info om Conditions. Da er jeg allerede litt klokere :-) Skjønner dog ikke hva som skal til for at de skal "være en trigger i seg selv" men dette vil nok ikke virke for meg uansett. Som du sier siden jeg ikke kan finne ut hva siste hendelse var - bare sist endring. Måten jeg har satt opp dimmefunksjon på kan man trykke på ON flere ganger etterhverandre og det vil jo ikke være en endring for HomeSeer...

Får nok legge opp til å legge inn en hendelse pr bryter (dog ikke to pr bryter slik jeg begynte).

Takk igjen. Fantastisk mye bra innsikt :-)

Endret av Tanno
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å
×
×
  • Opprett ny...