Homeseer, PowerOn Level en zwave.me

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
geert-jan
Member
Member
Posts: 126
Joined: Sat Nov 27, 2010 7:23 pm

Homeseer, PowerOn Level en zwave.me

Post by geert-jan »

Het dimlevel van mijn lampen (kamer, gang, overloop, badkamer) hangt af van de tijd van de dag. Hiervoor heb ik een script lopen, die het dimlevel een aantal keer per dag aanpast. Echter, na de upgrade van mijn Duwi dimmers naar de zwave.me variant bleken deze niet meer te werken. Wat blijkt: de ' oude' Duwi dimmers dimmen langzaam ' up' naar het gewenste dimlevel. Als je een dim command stuurt met het gewenste dimlevel, en de dimmer direct uitschakeld, onthoud de Duwi dimmer het gewenste dimlevel. Als de lamp nu aangaat, gaat hij aan op het zojuist ingestelde dimlevel. Op dit principe is mijn script gebaseerd.

Echter, mijn script werkt niet meer met de wave.me variant; de zwave.me dimmers lijken het actuele dimlevel te onthouden, en niet het gewenste dimlevel. Omdat ik de dimmer aanzet en direct uitschakel, is de lamp nog lang niet op het gewenste dimlevel. Doe je daarna de lamp aan, dan is deze sterk gedimmed, en zeker niet op het gewenste dimlevel. Erg ongemakkelijk dus.

Na wat stoeien met de scripts heb ik nu de volgende oplossing:

- Creeer een event met de naam 'POL_<housecode><deviceid>'
- Trigger op Device Status Change ' Changed to On' van het device <housecode><deviceid>
- Actions leeg laten; deze worden automatisch gevuld door het setPoweronlevel script
- Event kan gedisabled blijven

- het setPowerOnlevel script vult het gewenste dim level in het POL_ event in, en zal tevens het event enablen.
- De eerste keer dat de lamp aangaat, wordt het script ' POL_<housecode><deviceid> uitgevoerd, de lamp gaat naar het gewenste setpoint.
- het GH_disableevent.txt disabled direct het POL_ event, zodat deze maar 1 keer uitgevoerd wordt.

Aanroep van het script:

Code: Select all

setPoweronLevel.vb("main", "B2;75")
- B2 is <housecode><deviceid>.
- 75 is het gewenste dim level.

Het setPoweronLevel script:

Code: Select all

Sub main(parm as Object)
    Dim device As String
    Dim dimlevel As String
    Dim arrParm() As String
    dim ev
    Dim dvRef As long

    ' Extract parameters
    arrParm = parm.ToString.Split(";")
    device = arrParm(0)
    dimlevel= arrParm(1)

    ' Look up Power On Level event for this device
    
    ev = hs.GetEventEx("POL_" & device)
    If not ev is nothing Then

      ' Clear all existing actions
      hs.ClearActions(ev.evref)
      
      'Add new action that sets current light level
      'Add action to set request light level
      dvRef = hs.GetDeviceRef(device)

      hs.AddAction(ev.evref, 1, dvref, "DIM", dimlevel)

      'Add action to disable this event 
      hs.AddAction(ev.evref, 5, "GH_disableevent.txt")
      
      'Enable event
      hs.EnableEvent(ev.name)
      
    End If
End Sub
Het GH_disableevent.txt script:

Code: Select all

sub Main
    Dim ev

    'Get the event that called us
    ev = hs.GetLastEvent

    'Disable this event
    hs.DisableEvent ev
    
End Sub
Groeten,
Geert-Jan
User avatar
TANE
Forum Moderator
Forum Moderator
Posts: 4806
Joined: Fri Apr 06, 2007 9:46 pm
Location: Netherlands
Contact:

Re: Homeseer, PowerOn Level en zwave.me

Post by TANE »

Bedankt voor de scripts...net even een test gedaan...het werkt inderdaad veel directer waardoor de events niet meer bruikbaar zijn..
Als ik de volgende event uitvoer gaat de verlichting heel kort even aan.
In verleden was dit niet zo...nu begrijp ik waarom de kids de laatste tijd rond 6 uur wakker zijn... :shock:
Een tweede event zorgt er voor dat de verlichting om 06:00 uur weer naar 100% gaat.
Attachments
dim verlichting.PNG
dim verlichting.PNG (14.05 KiB) Viewed 4817 times
Enver Tanriverdi | http://blog.tane.nl
ralhop
Member
Member
Posts: 99
Joined: Sat May 23, 2009 10:42 pm
Location: Germany

Re: Homeseer, PowerOn Level en zwave.me

Post by ralhop »

ik haak helaas af na het maken van het Event. en heb zeer weinig ervaring met scripts

kan even uitgelegt worden in Jip en Janneke taal :D hoe en waar ik de scripts moet plaatsen of toevoegen.

hiervoor heb ik het ook altijd met een event gedaan zoals Enver.
Ralph
User avatar
TANE
Forum Moderator
Forum Moderator
Posts: 4806
Joined: Fri Apr 06, 2007 9:46 pm
Location: Netherlands
Contact:

Re: Homeseer, PowerOn Level en zwave.me

Post by TANE »

Geert-Jan,

Ik heb de scripts geïnstalleerd en het werkt.
Enige probleem is dat het eerst even naar de vorige sterkte gaat..het is wel snel terug naar de ingesteld sterkte maar wel even veel licht..
bv.
Kinder kamers
19:00 uur op 100%
21:15 uur 40%

Als ik na 21:15uur de verlichting aan doen gaat die eerst heel even naar 100% en dan gelijk naar 40%
Het zou mooi zijn als we een optie kunnen vinden om dit te veranderen zonder eerst naar 100% te gaan..

Geheel is complex maar wel heel mooi gevonden..:)
bedankt.
Enver Tanriverdi | http://blog.tane.nl
geert-jan
Member
Member
Posts: 126
Joined: Sat Nov 27, 2010 7:23 pm

Re: Homeseer, PowerOn Level en zwave.me

Post by geert-jan »

@TANE: aangaan op het gewenste nivo kan op de volgende manier: Configureer de schakelaar zodat hij een event stuurt naar Homeseer, maar NIET het licht aanzet (parameter: 12, value: 0). Op dit event zet je de lamp aan met hs.Transmit en het gewenste dim nivo.

Je krijgt dan geen flits, de lamp gaat direct naar de gewenste waarde. Wat ik zelf het grootste nadeel vind: er is (enige) vertraging tussen indrukken schakelaar en het aangaan van de lamp. Is de Homeseer server druk, dan duurt het dus wat langer voordat de lamp aangaat, en als Homeseer niet draait, heb je ook geen licht.

@ralhop:
Je hebt geen kennis van de scripts nodig, kwestie van copy/paste van de scripts in mijn 1e posting naar je Homeseer installatie directory;
- kopieer de code van het script "setPoweronLevel " naar Notepad, en bewaar dit bestand in
"c:\program files\Homeseer HSPRO\Scripts\setPoweronLevel.vb"
- kopieer de code van het script "GH_disableevent.txt" naar Notepad, en bewaar dit bestand in
"c:\program files\Homeseer HSPRO\Scripts\GH_disableevent.txt "
- Let op de extensies!

- Maak een event, naam mag je vrij kiezen, trigger type is 'Absolute time'
Image

- In de Action tab: per lamp die je een nieuw poweron level wil geven wordt het script aangeroepen:

Image


- En zo ziet dan die aanroep eruit in detail, in het status overzicht kun je zien wat het housecode/deviceid is van de lamp die je wilt dimmen.

Image


- Ten slotte het POL_ event creeren.
Image

- De naam MOET met POL_ beginnen
- housecode/deviceid gelijk aan de aanroep in het event wat je hiervoor gemaakt hebt.
- triggertype "Device Status Change",
- device is wat hoort bij housecode/deviceid
- status 'Change To On'
- Actions kun je leeg laten, dit wordt automatisch ingevuld

Kom je hier verder mee?

Groeten,
Geert-Jan
martinisoft
Member
Member
Posts: 98
Joined: Fri May 07, 2010 10:39 am
Location: The Netherlands

Re: Homeseer, PowerOn Level en zwave.me

Post by martinisoft »

Ik heb zelf geen zwave.me dimmers dus kan het niet testen, maar als ik het goed lees in de handleiding kun je met parameter 5 de dimtijd bij aan en uitschakelen bepalen.
Deze staat standaard op 30ms. Wellicht dat het instellen van een langere dimtijd het probleem oplost?
Post Reply

Return to “Homeseer Scripts Forum”