Page 1 of 1
scenarie
Posted: Wed 13 Jul 2011, 22:31
by skunkworks
Har kopplat larmet till servern via onewire -> owfs -> webserver -> switchking
läser en variabel som intar 0,1,2 beroende på om larmet är från, skalskydd eller full larmat. Har jag Switchking i "alla enligt schema" så funkar det med att om larmet går igång så sätts scenariet "larm" men om jag larmar av så avbryts inte detta scenarie även om villkoren inte längre gäller och eftersom scenariet "hemma" har samma prio så ligger den kvar i larmat... Om jag manuellt sätter systemet i "alla enligt schema" så hoppar den över i "hemma" efter en stund.. Är det en bugg eller jag som inte fattat hur jag ska ställa in det hela??
Kör Switchking V 1.10.1 i en Ubuntu server
Tacksam för support!!!

Re: scenarie
Posted: Fri 15 Jul 2011, 07:22
by Martin
Viktigt att komma ihåg att värdet från en viss datakälla bara kan
starta ett scenario. Ett avvikande/felaktigt värde kan aldrig
avsluta ett scenario (annat än om scenariot byts av annan anledning - exempelvis att en annan regel med högre prioritet slår till).
Inte helt lätt att förklara detta i text, men jag gör ett försök...
Om du har flera scenarior kopplade till samma datakälla så bör du tänka på följande:
- Sätt en låg förfallotid på datakällan. Om du exempelvis samlar in värden var 5:e minut, så kan det vara lämpligt att ha en förfallotid mellan 6 och 9 minuter.
- Undvik att använda inställningen (på scenariot) som gör att scenariot kör i oändlighet. I exemplet ovan så kan det vara lämpligt att säga att scenariot ska köras mellan 6 och 9 minuter. När ett insamlat värde har gjort att ett scenario har startat gör efterföljande värden att scenariot "förlängs", vilket du ser i "Coming Up"-fliken.
Exempel:
1-1-1-2-2-2
Om data samlas in var 5:e minut ovan (tre 1:or minut 0, 5 och 10 och tre 2:or minut 15, 20 och 25) och ett scenario med prioritet "hög" aktiveras av en "1:a" och det scenariot körs i 6 minuter så kommer det att bli enligt följande:
1) Scenariot startas vid minut "0" och vet att det ska köra till minut "6".
2) Ett värde "1" kommer in vid minut "5" och förlänger scenariot med ytterligare sex minuter = scenariot körs nu till minut "11".
3) Ett värde "1" kommer in vid minut "10" och förlänger scenariot med ytterligare sex minuter = scenariot körs nu till minut "16".
4) Ett värde "2" kommer in vid minut "15", och värde "2" gör att scenariot med prioritet "normal" kan startas. Dock körs redan ett scenario med prioritet hög. Scenariot med prioritet "normal" kommer först att starta vid minut "16", då scenariot med prioritet "hög" avslutas och lämnar över.
- Sätt olika prioritet på scenarior. Om ett scenario med prioritet "normal" körs, och det kommer in ett värde som gör att ett annat med prioritet "hög" ska startas, så startas scenariot med prioritet "hög" direkt. Om ett scenario med hög prioritet körs och det kommer in värden som gör att ett scenario med normal prioritet ska startas så kan två saker hända beroende på hur du har konfigurerat scenariot med prioritet hög:
1) Om scenariot med prioritet "hög" är satt att köras i oändlighet kommer det aldrig att avslutas automatiskt,
eller
2) Om scenariot med prioritet "hög" är satt till att köras i "x" antal minuter, så kommer det att köras i begärt antal minuter och sedan slå över till scenariot med prioritet "normal" (om det finns värden som inte förfallit som skulle kunna starta normal-scenariot.
Re: scenarie
Posted: Sat 16 Jul 2011, 00:59
by skunkworks
Hej!
Tack för ditt svar!
Gjorde en test med detta, men lyckades inte få det att fungera...
hämtar värden varje minut låter senariet vara i tre minuter och har en giltighet på tre minuter.
Min konfiguration ger mig två eventuellt tre senarie skalskydd, larmat och hemma (hemma är "allt enligt schema") vad jag kan komma fram till så måste jag ha samma prio på dessa ( och eftersom det är samma variabel så kan det inte bli konflikt )
Det som händer är att t.ex skalskydd aktiveras och ger nästa händelse "allt enligt schema" om tre minuter. Värden kommer in som ger skalskydd varje minut men de tre minuterna uppdateras inte, efter tre minuter så går den över i "allt enligt schema" och ligger i detta läge till det kommer ett nytt värde ( som är det samma som förra läsningen ) då hoppar den över i skalskydd i tre nya minuter.
Ger ju en lätt blinkande effekt på husets lampor.. och eftersom den vid återgång till skalskydd skickar släck signalen igen så släcker den då allt som man hunnit tända med fjärrkontroll..
Har i princip snart alla husets lampor via switchking så det skulle vara riktigt nice att hitta en lösning.. Testade en workaround med gruppscheman men känner att senarie skulle vara en snyggare lösning.
PS. ytterligare en fråga, om jag sätter en lampa i "till" i senariet är den då till även om solen e uppe? Kan ju testa själv men tog den lätta vägen..
//Micke
Re: scenarie
Posted: Mon 18 Jul 2011, 09:37
by Martin
Du får gärna skicka databasen i ett PM eller mail till oss, så kan jag kika på hur ditt scenario är uppsatt.
skunkworks wrote:PS. ytterligare en fråga, om jag sätter en lampa i "till" i senariet är den då till även om solen e uppe? Kan ju testa själv men tog den lätta vägen..
Om enheten är "med i" ett scenario så spelar solen ingen roll.
Re: scenarie
Posted: Tue 19 Jul 2011, 07:04
by skunkworks
hej!
skickade databasen till er info adress.
Efter lite funderande så ändrade jag så att skalskydd och larmat ligger som eviga senario med låg prio och skapade ett hemma med inställningar enligt ditt tips och normal prio... Nu funkar det nästan.. ( larmet passerar alltid olarmat inan man kan välja skal eller larmat ) Men om jag på dagen startar t.ex musiken via ipad så spelar den i max 2 min, sen kommer ju inställningarna från hemma senariet dvs. alla enl.schema och stoppar. Så de blir till att använda nexafjärren.
Saknar två alternativ i senariehanteringen.
don't care = objektet påverkas inte
samt att man skulle kunna välja om den ska påverkas av dag/natt eller inte.
//Micke
Re: scenarie
Posted: Thu 21 Jul 2011, 08:06
by Martin
Jag tittade lite på databasen och i stort så löser det ju, som du skriver, dina problem...
Just delen med opåverkade enheter finns med i planeringen för kommande versioner. Det nämns bl.a. här:
viewtopic.php?f=10&t=178&p=1282
Orsaken är egentligen att vi från början inte tänkte tillräckligt utanför boxen när det gäller vad scenario kan användas till i kombination med regler. Steg 1 var att kunna starta ett scenario när en regel uppfylldes, men det räcker inte riktigt hela vägen fram när man har flera olika scenarior som startas av samma datakälla (och alltså riskerar att "krocka").
Re: scenarie
Posted: Thu 21 Jul 2011, 08:08
by Martin
Lite OT:
...för övrigt undrar jag hur du upplever stabiliteten på Ubuntu och exakt vilken version av Ubuntu Server du kör. Eftersom stabiliteten på Mono (som Switch King använder) är olika beroende på distribution och version så är det intressant att fånga upp vad som fungerar bra/mindre bra...

Re: scenarie
Posted: Mon 25 Jul 2011, 06:52
by skunkworks
Hej!
Jag kör på Ubuntu Server 10.10 64-bit.
"Maskinen" är en virituell burk i en Citrix Xen server med tellsticken kopplad via USB/IP.
Fungerade ganska bra tidigare, fick dock starta om servern när jag skulle ansluta med clienten om servern varit igång en tid. Tyvärr så blev det betydligt sämre efter uppdateringen av SK och idag kraschar switchking varje morgon. Felsökning pågår och jag återkommer i ärendet.
Hoppas verkligen ni fortsätter att underhålla Linux, ger ju betydligt fler möjligheter till spännande lösningar än Win..
//Micke
Re: scenarie
Posted: Sun 07 Aug 2011, 20:59
by skunkworks
Fångade ett meddelande innan servern kraschade...
Unhandled Exception: Mono.Data.Sqlite.SqliteException: Unable to open the database file
unable to open database file
at Mono.Data.Sqlite.SQLite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000] in <filename unknown>:0
at Mono.Data.Sqlite.SQLite3.Step (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000] in <filename unknown>:0
at Mono.Data.Sqlite.SqliteDataReader.NextResult () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) Mono.Data.Sqlite.SqliteDataReader:NextResult ()
at Mono.Data.Sqlite.SqliteDataReader..ctor (Mono.Data.Sqlite.SqliteCommand cmd, CommandBehavior behave) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) Mono.Data.Sqlite.SqliteDataReader:.ctor (Mono.Data.Sqlite.SqliteCommand,System.Data.CommandBehavior)
at Mono.Data.Sqlite.SqliteCommand.ExecuteReader (CommandBehavior behavior) [0x00000] in <filename unknown>:0
at Mono.Data.Sqlite.SqliteCommand.ExecuteNonQuery () [0x00000] in <filename unknown>:0
at SwitchKing.Server.DataAccess.Scenarios.ScheduledScenarioDataAccess+InternalAccessor.Delete () [0x00000] in <filename unknown>:0
at SwitchKing.Server.DataAccess.Scenarios.ScheduledScenarioDataAccess.DeleteScheduledScenarios () [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.ScenarioAccess+ScheduledScenarioEntity.DeleteScheduledScenarios (Boolean setActiveToInactive) [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.ScenarioAccess+ScheduledScenarioEntity.RecalcScheduledScenarios (SwitchKing.Common.Entities.Scenario lastActiveScenario, SwitchKing.Common.Entities.Scenario[] allScenarios) [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.ScenarioAccess+ScenarioEntity.SetScenarioInactive (Int32 id) [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.ScenarioAccess+ScenarioEntity.CheckAndAdjustExpiredScenarios () [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.Invocation.Engines.StateValidatorEngine.ValidateScenarioStates () [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.Invocation.EventQueueAccess+DeviceEventEntity.PullAndExecuteEventStack (SwitchKing.Server.BusinessAccess.DeviceEntity& devAccess, SwitchKing.Server.BusinessAccess.DeviceTypeEntity& devTypeAccess, SwitchKing.Server.BusinessAccess.DeviceModeEntity& devModeAccess, SwitchKing.Server.BusinessAccess.DeviceActionEntity& devActionAccess, SwitchKing.Server.BusinessAccess.Invocation.Engines.InvocationEngine& engine, SwitchKing.Server.BusinessAccess.ScenarioEntity& scenarioAccess, SwitchKing.Server.BusinessAccess.SystemStateEntity& stateAccess, SwitchKing.Server.BusinessAccess.ScenariosDevicesEntity& scenariosDevicesAccess, SwitchKing.Server.BusinessAccess.ScheduleEntity& calcAccess, SwitchKing.Server.BusinessAccess.Invocation.ExecutionQueueAccess& execAccess, SwitchKing.Server.BusinessAccess.DataCollection.DataSourceEntity& dsAccess, SwitchKing.Server.BusinessAccess.DataCollection.DataSourceValueEntity& dsvAccess, SwitchKing.Server.BusinessAccess.DataCollection.RuleSetEvaluationAccess& evalAccess, SwitchKing.Server.BusinessAccess.EntityRuleSetEntity& ruleAccess) [0x00000] in <filename unknown>:0
at SwitchKing.Server.WinSvcServiceHost.InvocationService.ProcessDeviceEvents () [0x00000] in <filename unknown>:0
Några tips på var jag ska leta... ?
Re: scenarie
Posted: Tue 30 Aug 2011, 19:48
by skunkworks
Kapitulerar... Ligger nu i en Windows maskin.