Gå til innhold

Homeseer CAPI?


Anbefalte innlegg

Videoannonse
Annonse

Denne skal visstnok dimme til 51%?

 


Function CallCAPI(ByVal intDevRef As Integer, ByVal strDevCmd As String) As CAPIControlResponse
    CallCAPI = CAPIControlResponse.Indeterminate
    For Each objCAPIControl As CAPIControl In hs.CAPIGetControl(intDevRef)
        If LCase(objCAPIControl.Label) = LCase(strDevCmd) Then
            CallCAPI = hs.CAPIControlHandler(objCAPIControl)
            Exit For
        End If
    Next
End Function
Lenke til kommentar

Se scriptet i denne tråden. Der skrur man både på, av og dimmer devicer. (Selve scriptet tar en status fra en device og sender den til andre devicer med CAPI, tipper det er mitt mest brukte script).

 

For å finne korrect CAPI control, så gjør f.eks. dette:

Dim deviceValue as Double = 50 '%
Dim CAPIcontrol As HomeSeerAPI.CAPIControl = Nothing

'Finn rett CAPI for dim-nivået
For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(DEVICE_REF)
    If devicevalue = cc.ControlValue Then
        CAPIcontrol = cc
        Exit For
    End If
Next

'Kjør CAPI
hs.CAPIControlHandler(capi)

... men dette fungerer for av og på også (fordi av = 0 og på = 99).

Endret av Moskus
Lenke til kommentar

Takk, setter jeg da deviceref i parameter i eventen? (for scriptet i posten din)

Er det mulig å angi deviceref direkte i scriptet?

Det scriptet er kun halvferdig, så det må du finne ut selv. ;)

 

Hvis du vil angi deviceref hardkodet i scriptet, så skriver du det bare inn selv "DEVICE_REF".

Lenke til kommentar

Ok, takk.

Skjønner ikke hvorfor de har gjort det så mye vanskeligere enn før

For de som lager et lite script en gang inni mellom har det blitt vanskeligere, det er riktig.

 

Men for de av oss som lager plugins er det mye, MYE lettere å håndtere hva en device gjør når du trykker på en knapp, bruker en nedtrekksboks eller en slider med CAPI. Med CAPI er det lett å finne hvilke muligheter selve device'n faktisk har, man må ikke iterere seg gjennom diverse devivcevaluer. CAPI var på vei inn i HS2 mot slutten også, men har (heldigvis) blitt normen å gjøre det på i HS3.

 

 

Her er et ultrakjapt script hvis du likevel vil hardkode det:

hs.CAPIControlHandler(hs.CAPIGetSingleControl(DEVICE_REF, False, "dim " & 60, False, True))

Hvis jeg bytter DEVICE_REF med 339 og legger det inn i Setup -> Control Panel, så blir lyset i yttergangen satt til 60%. :)

 

Skal du skru av eller på, må du bytte "dim " & 60 med "on" eller "off".

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...