Waarom start mn script niet?

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Reiniertc
Starting Member
Starting Member
Posts: 30
Joined: Sat May 28, 2011 8:34 am

Re: Waarom start mn script niet?

Post by Reiniertc »

Dank je voor de voorbeelden, die had ik vanmiddag inderdaad gevonden na de hints in dit draadje.
Hij start mn script nu inderdaad als er waardes veranderen.
Alleen heel raar: als ik beneden door de kamer loop en homeseer beweging detecteert, start hij het script wel, maar als de waardes van het verbruik van de wasmachine of wasdroger wijzigen, start hij het script weer niet.

Hier wat regels uit mijn log, waaruit blijkt dat de device update wel aankomt bij Homeseer en dat homeseer netjes mn script start (wat ik voor nu gewoon nog ff leeg heb gehouden):
10/16/2012 9:17:26 PM Device Update Device: Z-Wave Woonkamer Woonkamer lichtsterkte value set to 4 (400/%)
10/16/2012 9:17:27 PM Event Event Trigger "Status devices updaten"
10/16/2012 9:17:27 PM Event Running script in background: status_update.txt
10/16/2012 9:17:27 PM Device Update Device: Begane grond Woonkamer Woonkamer temperatuur value set to 17.8333333333333 (1783/C)
10/16/2012 9:17:28 PM Event Event Trigger "Status devices updaten"
10/16/2012 9:17:28 PM Event Running script in background: status_update.txt
10/16/2012 9:19:28 PM Device Update Device: Begane grond Woonkamer Woonkamer beweging value set to 255 ()
10/16/2012 9:19:29 PM Event Event Trigger "Status devices updaten"
10/16/2012 9:19:29 PM Event Running script in background: status_update.txt
10/16/2012 9:20:06 PM Device Update Device: Begane grond Keuken Dimmer keuken Status set to OFF
10/16/2012 9:20:06 PM Event Event Trigger "Status devices updaten"
10/16/2012 9:20:06 PM Event Running script in background: status_update.txt
10/16/2012 9:20:12 PM Device Update Device: Begane grond Woonkamer Root Device 7 Status set to OFF
10/16/2012 9:20:13 PM Event Event Trigger "Status devices updaten"
10/16/2012 9:20:13 PM Event Running script in background: status_update.txt
10/16/2012 9:20:49 PM Device Update Device: Begane grond Woonkamer Dimmer woonkamer Status set to OFF
10/16/2012 9:20:50 PM Event Event Trigger "Status devices updaten"
10/16/2012 9:20:50 PM Event Running script in background: status_update.txt


maar hetzelfde gaat niet op voor de wasmachine en wasdroger:
10/16/2012 9:14:27 PM Device Update Device: Verbruik Washok Wasmachine Verbruik value set to 200 (2 Watts)
10/16/2012 9:14:28 PM Device Update Device: Verbruik Washok Wasdroger actueel value set to 200 (2 Watts)
10/16/2012 9:14:37 PM Device Update Device: Verbruik Washok Wasmachine Verbruik value set to 100 (1 Watts)
10/16/2012 9:14:39 PM Device Update Device: Verbruik Washok Wasdroger actueel value set to 100 (1 Watts)
10/16/2012 9:14:59 PM Device Update Device: Verbruik Washok Wasmachine Verbruik value set to 0 (0 Watts)
10/16/2012 9:15:01 PM Device Update Device: Verbruik Washok Wasdroger actueel value set to 0 (0 Watts)

waarom de een wel en de ander niet?! pfff...
Reiniertc
Starting Member
Starting Member
Posts: 30
Joined: Sat May 28, 2011 8:34 am

Re: Waarom start mn script niet?

Post by Reiniertc »

ik begin de moed op te geven, zeker als ik dit lees:
http://www.domoticaforum.eu/viewtopic.php?f=50&t=5853

het zal wel aan die everspring module liggen dat het me niet lukt.
de aangedragen oplossing om met een status=only device te werken, lukt ook niet.

dan maar een niet-charmante oplossing: gewoon elke 30 seconden mn wasmachinescript draaien :-(
labium
Advanced Member
Advanced Member
Posts: 512
Joined: Sat Feb 06, 2010 10:56 am
Location: netherlands

Re: Waarom start mn script niet?

Post by labium »

AshaiRey wrote:Ik weet niet of dit je gaat helpen dus gooi ik het bot maar voor je op :-)

Hier een voorbeeld van het gebruik van hs.RegisterStatusChangeCB

http://board.homeseer.com/showthread.php?t=88496

Hier een wat recenter bericht met een eenvoudiger script
http://board.homeseer.com/showpost.php? ... ostcount=6
om te blijven bij voorbeeld 1 hierboven je hebt een case wasmachine en wasdroger in je script staan ?
en kun je die dan posten ?
Reiniertc
Starting Member
Starting Member
Posts: 30
Joined: Sat May 28, 2011 8:34 am

Re: Waarom start mn script niet?

Post by Reiniertc »

ik heb voorbeeld 1 gebruikt en uitgekleed om te testen.
het scriptje heb ik hieronder geplaatst, met de opmerking dat het me er in de test alleen om te doen is om te zien of het script inderdaad gestart wordt.
Ik kan uit mn logfile opmaken dat het script inderdaad wordt gestart bij elke valuechange, behalve.... bij de everspring tussenstekkers. Die blijken (zie twee posts hierboven) geen events op basis van een value change te kunnen aantrappen :-(

Ik heb nu een recurring event die om de minuut mn wasmachinescript draait.

inhoud script:

'q14 = actueel verbruik van de wasmachine
'v11 = virtual devive met fake verbruik voor testdoeleinden
'v10 = virtual device met wasmachine status

sub main(parms)

'X10 status the device changed to: 2=ON 3=OFF 4=DIM
'The device ID is the device reference number as stored in the device class.

'When using hs.GetDevice, this is the .ref property. It can be used to
'iterate through all the devices to find the exact device that changed status
'and get its name, location, etc.

'The housecode and devicecode are the X10 codes of the device that changed
'status.

'parms(0) ' housecode
'parms(1) ' device code
'parms(2) ' status
'parms(3) ' device ID

'2 = ON
'3 = OFF
'4 = DIM
'17 = UNKNOWN

Dim strDeviceCode, strDeviceName, strDeviceString
Dim iStatus

strDeviceCode = uCase(Trim(uCase(parms(0) & parms(1))))
strDeviceName = GetDeviceName(strDeviceCode)
iStatus = parms(2)

if len(strDeviceCode) > 1 then
select case strDeviceCode

case "q14"
'Wasmachine
hs.WriteLog "TEST", "Wasmachine is veranderd"

end select



'Write it to the log
if strDeviceString <> "" then
hs.SetDeviceString strDeviceCode, strDeviceString
hs.WriteLog "State Change", strDeviceName & " - " & strDeviceString
else
hs.WriteLog "Status_Change Error", "Device string not found for " & strDeviceCode
end if
else
hs.WriteLog "Status_Change Error", "Improper device code of zero length."
end if


end sub


function GetDeviceName(strDeviceCode)
dim iDeviceCount, iIndex, objDevice

' Get total number of devices
iDeviceCount = hs.DeviceCount

for iIndex = 1 to iDeviceCount
set objDevice = hs.GetDevice(iIndex)
if lCase(strDeviceCode) = lCase(objDevice.hc & objDevice.dc) then
GetDeviceName = strDeviceCode & " (" & objDevice.Name & ": " & objDevice.Location & ")"
exit function
end if
next

GetDeviceName = ""

set objDevice = Nothing

end function
Post Reply

Return to “Homeseer Scripts Forum”