Event met Device value change van 3 naar 0 (opgelost)
Event met Device value change van 3 naar 0 (opgelost)
Ik wil een event maken dat een actie uitvoert als de value van een virtual device verandert van 3 naar 0 en omgekeerd.
Ik zoek me gek maar kan het niet vinden. Alleen detecteren dat de value 0 wordt is niet voldoende want ik wil geen actie uitvoeren als de value van 2 of 1 verandert in 0.
Iemand een idee hoe ik dit kan maken?
Herbus (Jos)
<font size="1">Homeseer 2.3.0.19, HSTouch (Albatron Touchscreen), VB plugin for communication with alarmpanel
ACT TI203, ActiveBackup, DooNetwork, BLDeviceMatrix, Jon00 Web page builder
RFXCom, RFXCharts, RFXMeter (gas, electricity, water), Oregon THGR 228 N,
Modules: Xanura SAIX12/DAIX12, KaKu (fridge), SM10 (doorbell)</font id="size1">
Ik zoek me gek maar kan het niet vinden. Alleen detecteren dat de value 0 wordt is niet voldoende want ik wil geen actie uitvoeren als de value van 2 of 1 verandert in 0.
Iemand een idee hoe ik dit kan maken?
Herbus (Jos)
<font size="1">Homeseer 2.3.0.19, HSTouch (Albatron Touchscreen), VB plugin for communication with alarmpanel
ACT TI203, ActiveBackup, DooNetwork, BLDeviceMatrix, Jon00 Web page builder
RFXCom, RFXCharts, RFXMeter (gas, electricity, water), Oregon THGR 228 N,
Modules: Xanura SAIX12/DAIX12, KaKu (fridge), SM10 (doorbell)</font id="size1">
Event met Device value change van 3 naar 0 (opgelost)
Je moet denk ik iets met een 2e device doen. Het 2e device laat je dezelfde waarde krijgen als het 1e device in de actie van het 1e device.
Voorbeeld:
- Trigger op device value change device (set to any), in de actie run je een script. In dit script doe je het volgende:
- Vraag value 1e device op (dit is de nieuwe waarde), en vraag value van het 2e device op (dit is de oude waarde)
- Je hebt nu beide waardes om iets te doen, b.v. als waarde 1e device = 0 en waarde 2e device = 3 dan is het eerste device van 3 naar 0 gegaan
- Nadat je de juiste actie hebt genomen maak je de waarde van device 2 gelijk aan die van device 1
Rene.
Voorbeeld:
- Trigger op device value change device (set to any), in de actie run je een script. In dit script doe je het volgende:
- Vraag value 1e device op (dit is de nieuwe waarde), en vraag value van het 2e device op (dit is de oude waarde)
- Je hebt nu beide waardes om iets te doen, b.v. als waarde 1e device = 0 en waarde 2e device = 3 dan is het eerste device van 3 naar 0 gegaan
- Nadat je de juiste actie hebt genomen maak je de waarde van device 2 gelijk aan die van device 1
Rene.
- Fantic
- Member
- Posts: 201
- Joined: Sat Feb 21, 2009 2:11 pm
- Location: Loenen, UT, Netherlands
- Contact:
Event met Device value change van 3 naar 0 (opgelost)
tikfoutje:
- Je hebt nu beide waardes om iets te doen, b.v. als waarde 1e device = 0 en waarde 2e device = 0 dan is het eerste device van 3 naar 0 gegaan
moet zijn - Je hebt nu beide waardes om iets te doen, b.v. als waarde 1e device = 0 en waarde 2e device = 3 dan is het eerste device van 3 naar 0 gegaan
Regards, Maarten.
Never let a computer know you're in a hurry.
- Je hebt nu beide waardes om iets te doen, b.v. als waarde 1e device = 0 en waarde 2e device = 0 dan is het eerste device van 3 naar 0 gegaan
moet zijn - Je hebt nu beide waardes om iets te doen, b.v. als waarde 1e device = 0 en waarde 2e device = 3 dan is het eerste device van 3 naar 0 gegaan
Regards, Maarten.
Never let a computer know you're in a hurry.
Event met Device value change van 3 naar 0 (opgelost)
Dank je Maarten. Je begrijpt in ieder geval het idee;-)
Rene.
Rene.
Event met Device value change van 3 naar 0 (opgelost)
Bedankt voor de tip. Script zat zo in elkaar. Maar..........
Ik heb geen 'set to any' bij device value change. Dat komt denk ik omdat ik bij het opstarten van HS een script heb lopen dat de values, tekst en icons van een device vooraf instelt:
hs.DeviceValuesAdd(zoneSTR, "Sabotage (sluiting)" & Chr(2) & "0" & Chr(1) & _
"Open" & Chr(2) & "2" & Chr(1) & _
"Dicht" & Chr(2) & "3" & Chr(1) & _
"Overig" & Chr(2) & "999", False)
hs.DeviceValuesGraphicsAdd(zoneSTR, "\images\security\DisArmed.gif" & Chr(2) & "0" & Chr(1) & _
"\images\security\Armed.gif" & Chr(2) & "2" & Chr(1) & _
"\images\security\Armed.gif" & Chr(2) & "3" & Chr(1) & _
"\images\security\alarmalert.gif" & Chr(2) & "999")
Voordeel van DeviceValuesAdd en DeviceValuesGraphicsAdd is dat een device altijd de juiste tekst en icon heeft ongeacht wanneer en waar de value wijzigt. Daar wil ik eigenlijk niet van af.
Maar ik kan nu alleen kiezen uit: becomes, for at least of for exactly. Het lijkt erop dat hiermee ook gelijk de optie vervalt voor 'set to any'.
Iemand nog een suggestie?
Herbus (Jos)
<font size="1">
Ik heb geen 'set to any' bij device value change. Dat komt denk ik omdat ik bij het opstarten van HS een script heb lopen dat de values, tekst en icons van een device vooraf instelt:
hs.DeviceValuesAdd(zoneSTR, "Sabotage (sluiting)" & Chr(2) & "0" & Chr(1) & _
"Open" & Chr(2) & "2" & Chr(1) & _
"Dicht" & Chr(2) & "3" & Chr(1) & _
"Overig" & Chr(2) & "999", False)
hs.DeviceValuesGraphicsAdd(zoneSTR, "\images\security\DisArmed.gif" & Chr(2) & "0" & Chr(1) & _
"\images\security\Armed.gif" & Chr(2) & "2" & Chr(1) & _
"\images\security\Armed.gif" & Chr(2) & "3" & Chr(1) & _
"\images\security\alarmalert.gif" & Chr(2) & "999")
Voordeel van DeviceValuesAdd en DeviceValuesGraphicsAdd is dat een device altijd de juiste tekst en icon heeft ongeacht wanneer en waar de value wijzigt. Daar wil ik eigenlijk niet van af.
Maar ik kan nu alleen kiezen uit: becomes, for at least of for exactly. Het lijkt erop dat hiermee ook gelijk de optie vervalt voor 'set to any'.
Iemand nog een suggestie?
Herbus (Jos)
<font size="1">
Event met Device value change van 3 naar 0 (opgelost)
Deze waarden heb ik ook inderdaad bij een security sensor die ik via RFXCom ontvang. Dat ligt dus niet aan het startup script. Maar als ik becomes selecteer dan kan ik vervolgens any value aangeven.
Rene.
Rene.
Event met Device value change van 3 naar 0 (opgelost)
Ik kan alleen kiezen uit de values die ik met DeviceValuesAdd heb ingesteld. Any Value staat er niet bij!
<font size="1">
<font size="1">
Event met Device value change van 3 naar 0 (opgelost)
Dan houdt het denk ik op.
Rene.
Rene.
Event met Device value change van 3 naar 0 (opgelost)
Met vbscript kan het volgende doen.
De huide status naar een bestandje schrijven en dat uitlezen bij een wisseling en updaten
(er vanuit gaand dat het script al loopt)
- Er wordt een change gedetecteerd
- Het script leest de vorige opgeslagen waarde uit het bestandje.
- Doet de logic die nodig is bij de huidige status en de voorgaande.
e.g. doe iets als de vorige waarde 3 was en nu 0 en doe geen actie als de vorige waarde 2 of 1 was.
- Schrijft de huidige status weer terug naar het bestandje.
Ik hoop dat je het idee volgen kan.
De huide status naar een bestandje schrijven en dat uitlezen bij een wisseling en updaten
(er vanuit gaand dat het script al loopt)
- Er wordt een change gedetecteerd
- Het script leest de vorige opgeslagen waarde uit het bestandje.
- Doet de logic die nodig is bij de huidige status en de voorgaande.
e.g. doe iets als de vorige waarde 3 was en nu 0 en doe geen actie als de vorige waarde 2 of 1 was.
- Schrijft de huidige status weer terug naar het bestandje.
Ik hoop dat je het idee volgen kan.
Event met Device value change van 3 naar 0 (opgelost)
Ik snap wat je bedoelt denk ik. Mijn probleem is alleen dat ik geen script kan starten omdat bij Device Value Change niet getriggerd wordt op een verandering van Any Value. Ik kan wel kiezen voor een verandering naar value 1, 2, 3 of 4 etc.....
Dan zou ik voor iedere value een apart event moeten maken. Niet echt handig.
Ben nu van plan om de DeviceValuesAdd en DeviceValuesGraphicsAdd niet te doen voor deze specifieke device. In m'n code zal ik voor dit device de string en icon per waarde (select case) instellen.
Als ik het goed heb gaat dat met:
hs.SetDeviceString("Z32", "<img src=Disarmed.gif>", & "Alarm uitgeschakeld",True)
En dat voor alle values.
Als het goed is kan ik dan bij het event triggeren op een verandering in Any Value.
Beetje omslachtig en weer een hele ombouw maar ik zie even geen alternatief..........[?]
Herbus (Jos)
<font size="1">
Dan zou ik voor iedere value een apart event moeten maken. Niet echt handig.
Ben nu van plan om de DeviceValuesAdd en DeviceValuesGraphicsAdd niet te doen voor deze specifieke device. In m'n code zal ik voor dit device de string en icon per waarde (select case) instellen.
Als ik het goed heb gaat dat met:
hs.SetDeviceString("Z32", "<img src=Disarmed.gif>", & "Alarm uitgeschakeld",True)
En dat voor alle values.
Als het goed is kan ik dan bij het event triggeren op een verandering in Any Value.
Beetje omslachtig en weer een hele ombouw maar ik zie even geen alternatief..........[?]
Herbus (Jos)
<font size="1">
Event met Device value change van 3 naar 0 (opgelost)
Opgelost! De hele avond zitten prutsen met hs.SetDeviceString("Z32", "<img src=Disarmed.gif>", & "Alarm uitgeschakeld",True).
Was geen succes. Optisch wel aardig maar als je de string uitleest krijg je ook het hele verhaal terug.
Opeens een ingeving (soms kan het zo simpel zijn...) Ik heb een schaduw device aangemaakt die dezelfde value krijgt als het oorspronkelijke device. Omdat deze device alleen een value heeft wordt hij niet opgenomen in het DeviceValuesAdd en DeviceValuesGraphicsAdd script. Kan bij een event dus wel gebruikt worden met Any Value.
Tweede device houdt de vorige status bij. Kortom: met 15 regels code opgelost. Wel een avond verder maar soms moet dat kennelijk zo zijn.
Bedankt voor de suggesties.
Herbus (Jos)
<font size="1">
Was geen succes. Optisch wel aardig maar als je de string uitleest krijg je ook het hele verhaal terug.
Opeens een ingeving (soms kan het zo simpel zijn...) Ik heb een schaduw device aangemaakt die dezelfde value krijgt als het oorspronkelijke device. Omdat deze device alleen een value heeft wordt hij niet opgenomen in het DeviceValuesAdd en DeviceValuesGraphicsAdd script. Kan bij een event dus wel gebruikt worden met Any Value.
Tweede device houdt de vorige status bij. Kortom: met 15 regels code opgelost. Wel een avond verder maar soms moet dat kennelijk zo zijn.
Bedankt voor de suggesties.
Herbus (Jos)
<font size="1">