Jump to content
  • Sign Up

SCRIPT: CloneDevice.vb - Kopier devicestatus fra en til andre


Recommended Posts

Posted

CloneDevice.vb

Speiler status fra en device over på flere andre. Praktisk for å f.eks. kunne skru av/på/dimme et helt rom samtidig.

 

Parameter: 100|200+201+202

... hvor 100 er master device (typisk taklampe) og 200-202 er andre devicer,

 

Trigges typisk av master device set to any status.

    Sub Main(ByVal parms As String)
        '© Moskus
        Dim input() As String = Split(parms.ToString, "|")
        Dim control As String = input(0).ToString
        Dim devs() As String = Split(input(1).ToString, "+")
        Dim devicevalue As Double = hs.DeviceValueEx(control)

        Dim CAPIcontrol As HomeSeerAPI.CAPIControl = Nothing
        For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(control)
            If devicevalue = cc.ControlValue Then
                CAPIcontrol = cc
                Exit For
            End If
        Next

        For Each d as String In devs
            Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d)
            If CAPIcontrol.Label.ToLower.Contains("dim") Then
                If dev.Can_Dim(Nothing) Then
                    Dim capi As HomeSeerAPI.CAPIControl = Nothing
                    For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(d)
                        If cc.Label = CAPIcontrol.Label Then
                            capi = cc
                            Exit For
                        End If
                    Next
                    hs.CAPIControlHandler(capi)
                Else
                    Dim off As HomeSeerAPI.CAPIControl = Nothing
                    For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(d)
                        If cc.Label.ToLower = "off" Then
                            off = cc
                            Exit For
                        End If
                    Next
                    hs.CAPIControlHandler(off)
                End If
            Else
                Dim capi As HomeSeerAPI.CAPIControl = Nothing
                For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(d)
                    If cc.Label = CAPIcontrol.Label Then
                        capi = cc
                        Exit For
                    End If
                Next
                hs.CAPIControlHandler(capi)
            End If

        Next
    End Sub

 

  • 1 year later...
Posted

Feilmelding 

Error 1	Running script C:\Program Files (x86)\HomeSeer HS3\scripts\StuaLysVindu.vb :Målet forårsaket et unntak under aktivering.Objektreferanse er ikke satt til en objektforekomst.

kopiert script, satt master og tre lys som jeg vil klone.

Skjermbilde 2017-05-03 kl. 19.43.11.png

Posted

Jeg kan ikke se noen åpenbare feil (utenom at du ikke trenger å gi scriptet et nytt navn, du endrer jo innstillingene i parameteren, så navnet kan være CloneDevice.vb. Men det spiller egentlig ingen rolle he).

 

Hva om du putter "Main" (uten hermetegn) i tekstfeltet for Sub/Function?

Finnes devicene 29, 401, 431 og 440? Har 401, 431 og 440 de samme CAPI-kommandoene som device 29 (ikke at det heller spiller noen rolle).

Posted

Msin ga litt mer omstendig feilmelding(endret navnet, koblet ikke at det ikke er parameter i scriptet)

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\CloneDevice.vb :Målet forårsaket et unntak under aktivering.->Does entry point Main exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved A.c17b105f989efe61e5979e67bec1ef734.cffd66cb0782c50126727e3fa75582d7a()

Men 29 er en Joweihueenhet. Endret Main til en z-wave, og da forsvant feilmeldingen, og skriptet fungerer. 

Tenkte at jeg var så heldig at jeg kunne skru på Hue-pæra med Huebryter/event. dimme, og så fulgte lampene i vinduene samt vitrineskapet etter(skjermen er så lav, så det går ikke med Lightify/Hue E-14 pærer(montert en fibaro-dimmer inni soklene).

Om det er automatikk på stuelysene så blir ikke generalen så fornøyd.

590a24be045a5_Skjermbilde2017-05-03kl_20_39_10.png.68fa1d72130219bccb3cb92154c406af.png590a24be4f574_Skjermbilde2017-05-03kl_20_39_41.png.b36f8bad98ef7d54b5bf9fba9f601596.png590a24be8bf1b_Skjermbilde2017-05-03kl_20_40_14.png.d5a7391183f76ec8d78289a3d97f6864.png590a24bebfa60_Skjermbilde2017-05-03kl_20_41_09.png.8ca64e43054a696c80b46e47524b5314.png

Tusen takk for hjelpen!

Posted

Vel, dessverre ser det ut som om dette ikke vil fungere siden Hue bruker en skala mellom 0-254, og vanlige Z-wave-lamper bruker 0-100.

Hvis du dimmer en Hue-pære til 154 finnes ikke den samme verdien på Z-wave lampene.

 

Men er det ikke en innstilling i JowiHue hvor man kan endre dette?

Posted
Vel, dessverre ser det ut som om dette ikke vil fungere siden Hue bruker en skala mellom 0-254, og vanlige Z-wave-lamper bruker 0-100.
Hvis du dimmer en Hue-pære til 154 finnes ikke den samme verdien på Z-wave lampene.
 
Men er det ikke en innstilling i JowiHue hvor man kan endre dette?

Takk, skal sjekke senere
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.