Ändra enhet till dimmer

Hjälp med plugins, tillägg (exempelvis webbtillägget) och exempelkod som inte ingår i Switch Kings officiella installationspaket
Forum rules
För att kunna hjälpa dig med supportfrågor behöver vi så mycket information som möjligt.
Innan du skapar en ny tråd, läs gärna:
viewtopic.php?f=10&t=20
bunker
3 stars
3 stars
Posts: 130
Joined: Thu 23 Dec 2010, 11:26

Ändra enhet till dimmer

Post by bunker » Wed 29 Dec 2010, 13:01

Jag har upptäckt att det blir fel i Web GUI:t om jag ändrar en enhet till en Nexa Självlärande Dimmer. Det kan gälla andra dimmers också men jag har ingen annan modell jag kan testa i det här sammanhanget.

För att återskapa:
-Börja med en befintlig Switch King installation. Skapa en enhet i Telldus Center (vet inte om det blir samma resultat från Switch King) som är en Kjell & Co CodeSwitch och ge den koder, spelar ingen roll vilka.
-Ändra enheten till en Nexa Självlärande Dimmer i Switch King, ge den en kod som fungerar till din Nexa Självlärande Dimmer (eller ev. annan stödd dimmer).
-Verifiera att dimmerfunktionalitet är tillgänglig (absoluta dim-nivåer på jämna 10-tal procent) i Switch King Windows klient och iPhone-tillägget (IIS).
-Konfigurera Web-tillägget (IIS) om det inte redan är gjort, Ip-adress i web-config och den berörda enhetens namn på en av enheterna i default.aspx.
-Ändra dimnivån till 50% från Switch King Windows klient eller iPhone.
-Klicka på den berörda enheten i webgränssnittet. Du ska få en bild motsvarande denna:
DimmerErrorWebGui.png
Detta är rimligen en bugg då tillståndet visas som att det är en dimmer (50%) medans det bara finns knappar för Enligt schema, Av och På.

Obs, eftersom jag kör Switch King pro utan licensen har jag inte möjlighet att testa med att skapa en enhet direkt som Nexa Självlärande Dimmer. Eller jag kan väl med en hel del besvär men då måste jag ta bort befintliga enheter och sånt och det känns obekvämt.

Miljö Server:
Switch King Server (utan betald licens)
(13 enheter skapade från Telldus Center. "Private" devices, Switch King tjänsterna autenticeras som lokal användare med tillgång till registernycklarna.)
Windows Home Server (fullt uppdaterad).
iPhone-tillägget för IIS
Web GUI för IIS

Miljö Windowsklient:
Windows XP SP3 (fullt uppdaterad).
Firefox 3.6.13
Internet Explorer 8 (båda webb-läsarna visar felet).

För mig ser det ut som en bugg i Switch Kings web-tillägg.

Edit:
Här är lite data från REST-gränssnittet som jag misstänker motsvarar vad Switch King har i sin databas:

Code: Select all

<RESTDevice>
  <AutoSynchronizeAllowed>true</AutoSynchronizeAllowed> 
  <CurrentDimLevel>50</CurrentDimLevel> 
  <CurrentStateID>2</CurrentStateID> 
  <Description>Kjell D2</Description> 
  <DeviceCode>29383:1</DeviceCode> 
  <DisabledByServer>false</DisabledByServer> 
  <Enabled>true</Enabled> 
  <GroupID>1</GroupID> 
  <GroupName>Julstj&#228;rnor</GroupName> 
  <ID>10</ID> 
  <InSemiAutoMode>true</InSemiAutoMode> 
  <ManualTargetDimLevel>-1</ManualTargetDimLevel> 
  <ManualTargetStateID>1</ManualTargetStateID> 
  <ModeID>3</ModeID> 
  <ModeType>SemiAuto</ModeType> 
  <Name>Julstj&#228;rna - Sovrum</Name> 
  <NativeID>20</NativeID> 
  <SupportsAbsoluteDimLvl>true</SupportsAbsoluteDimLvl> 
  <TypeCategory>SelfLearningDimmer</TypeCategory> 
  <TypeID>3</TypeID> 
  <TypeModel>selflearning-dimmer:nexa</TypeModel> 
  <TypeName>Self Learning Dimmer</TypeName> 
  <TypeProtocol>Arctech</TypeProtocol> 
</RESTDevice>
You do not have the required permissions to view the files attached to this post.
Last edited by bunker on Wed 29 Dec 2010, 20:33, edited 1 time in total.

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ändra enhet till dimmer - fel i web gui

Post by Martin » Wed 29 Dec 2010, 14:08

Spontant så känns det onekligen som om du borde få alla dimmernivåerna i listan... :?:
Martin | Switch King

bunker
3 stars
3 stars
Posts: 130
Joined: Thu 23 Dec 2010, 11:26

Re: Ändra enhet till dimmer - fel i web gui

Post by bunker » Wed 29 Dec 2010, 14:19

Ja, och vid nåt tillfälle har jag fått det att fungera också men nu är felet stabilt.

Jag återställde till web-gränssnittet 0.8.1 (inte Grahns) och ändrade endast ip-adress och namn på en enhet för att göra felet reproducerbart för er. Kan du få till det Martin?

För mig är nog Web GUI:t ett av de största dragplåstrerna för Switch King, så jag är angelägen om att det ska fungera med mina dimmers men tänker inte köpa grisen i säcken, även om det är i juletid. :D

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ändra enhet till dimmer - fel i web gui

Post by Martin » Wed 29 Dec 2010, 18:13

Webbtillägget hör ju egentligen inte till något av våra "officiella" tillägg och är ju mer tänkt som ett exempel, men jag håller ju samtidigt på med uppgradering till 0.9, så timingen är ju ganska OK 8-)
Martin | Switch King

bunker
3 stars
3 stars
Posts: 130
Joined: Thu 23 Dec 2010, 11:26

Re: Ändra enhet till dimmer - fel i web gui mm

Post by bunker » Wed 29 Dec 2010, 18:55

Ok, det förstår jag.

Efter att ha spenderat en ansenlig del av dagen med att programmera om mina Nexa dimmer-mottagare (bakom väggbrytare) med koder från Telldus Center har jag upptäckt mer problem med visning av dimmer-enheter som faktiska dimmer-enheter.

Jag bytte device-typ på 3 enheter från Nexa code switch till Nexa självlärande i Telldus Center. Ingen av dessa var någon av "de 5" enheter jag får använda med grundlicensen av Switch King. En mottagare saknade dock en egen enhet i Telldus Center pga en felprogrammering av mig (den delade av misstag hus och enhetskod med en annan enhet). När jag skapade en ny enhet för denna Nexa självlärande dimmer dök den upp som en av de 5 och "puttade ut" en annan enhet. Nu började problemen.

Först och främst dök inte dimmer-kontrollerna upp för den nya enheten trots att den skapats som en dimmer-enhet från början. (Inte heller på iPhone för övrigt.) Ok, tänker jag, en omstart av klienten kanske gör det. Startar om Windows-klienten men nu vill den inte starta alls. Får diverse felmeddelanden och en stack-trace i en av dom. (Se bilaga.) Ok. Nu är något rejält problematiskt, så jag gör det en användare inte ska behöva göra, startar om tjänsterna på WHS:en. Jag startar om Framework som tar med sig dom andra tre tjänsterna. Nu kan jag starta Windows-klienten igen men ingenstans (tror jag) ser jag några dimmer-kontroller, varken i Windows-klienten eller iPhone-klienten. Så, jag kollar i REST-gui:t på devices (http://localhost:8800/devices). Ser att den nya enheten inte är satt som SupportsAbsoluteDimLvl. Så jag går till Windows-klienten för Switch King, byter typen till Nexa SelfLearn On/Off och klickar på Använd. Verifierar att ingen ändring skett i REST-gui och ändrar sedan enhetstypen till Nexa SelfLearn Dimmer och nu står det true på SupportsAbsoluteDimLvl.

Japp, nu fungerar det. Fast inte i web-gui:t, där ser jag samma typ av ruta som jag klistrade in i första inlägget, efter att jag uppdaterat enhets-namnet för den nya enheten.

Jag tolkar det som att det finns ett eller mer troligt två problem.

1. Importen av data från registret för enheter som skapats av Telldus Center fungerar inte så bra till Switch King servers databas. Dels behövs tjänsterna startas om, dels sätts flaggan för stöd av absolut-dimnivå fel åtminstone för den typ av enheter jag använder. Om det inte är ok att jobba med enheterna i Telldus Center borde en varning delas ut åtminstone. Mitt problem var att jag ville lära upp självlärande dimmers något som jag inte lätt kunde se att det stödjs i Switch King.
2. Som vi tidigare diskuterat är något fel i Web-GUI:t. Något verkar parsas fel från databasen. Har du någon känsla för vad det kan vara? Är någon databas-export till hjälp? Använder du eller någon du känner till dimmers i Web-GUI:t med framgång?

Som jag nämnt tidigare kör jag INTE med Shared Devices.
You do not have the required permissions to view the files attached to this post.

Westlund
2 stars
2 stars
Posts: 27
Joined: Tue 09 Nov 2010, 21:51

Re: Ändra enhet till dimmer - fel i web gui

Post by Westlund » Wed 29 Dec 2010, 19:36

Jag hade liknande problem när jag ändrade från fasta till en självlärande dimmer. Jag fick det att fungerar genom att ta bort enheten och lägga til den igen.
Klart det är ju svårt för dig och testa när du redan lagt upp enheterna i telldus.

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ändra enhet till dimmer - fel i web gui

Post by Martin » Wed 29 Dec 2010, 19:56

@bunker:
Du får gärna bifoga loggen för servern också. Den fil som bifogats var den för klienten och där ser man egentligen bara att servern inte svarade.
Martin | Switch King

bunker
3 stars
3 stars
Posts: 130
Joined: Thu 23 Dec 2010, 11:26

Re: Ändra enhet till dimmer - fel i web gui

Post by bunker » Wed 29 Dec 2010, 20:18

Men åhhhhhhh... :banghead: 256 KiB storleksbegränsning, loggen är 323 KB. Jo jag tackar, ingenting går lätt här inte.

Då fick jag leta lite i filen efter rätt felmeddelande i stället.

Gissar att det är den här biten:

Code: Select all

{BusinessAccess - Invocation} --<Status> -- 2010-12-29 17:00:44 -- Device with id 12, name Vardagsrummet - Bokhyllan, native id 3 and code J:10 is being turned off. Method used is TellStickWrapper.
{BusinessAccess - Invocation} --<Status> -- 2010-12-29 17:00:46 -- Device with id 12, name Vardagsrummet - Bokhyllan, native id 3 and code J:10 is being turned off. Method used is TellStickWrapper.
{BusinessAccess - Devices} --<Critical> -- 2010-12-29 17:01:11 -- Failed collecting device data from registry. 
Exception: 
Level 1) Invalid house code 2183.

StackTrace for Level 1:
   at SwitchKing.Common.Entities.DeviceTypes.ArctechCodeSwitch.GetDeviceCode(String[] codeData)
   at SwitchKing.Server.BusinessAccess.PlatformStore.TelldusCoreAccess.ParamReader.MergeParamsFromRegistry(Int32 deviceId, ArctechCodeSwitch type)
   at SwitchKing.Server.BusinessAccess.PlatformStore.TelldusCoreAccess.ParamReader.MergeParamsFromRegistry(Int32 deviceId, DeviceTypeDefined type)
   at SwitchKing.Server.BusinessAccess.PlatformStore.TelldusCoreAccess.CreateDeviceFromPlatformStore(Int32 nativeId)
   at SwitchKing.Server.BusinessAccess.PlatformStore.Windows.WindowsPlatformAccess.CreateDeviceFromPlatformStore(Int32 nativeId)
   at SwitchKing.Server.BusinessAccess.PlatformStore.AbstractPlatformAccess.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithPlatformStore()
{WCFServices - Service Request} --<Error> -- 2010-12-29 17:01:11 -- Request failed for SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithRegistry.
Exception: Invalid house code 2183.. 
StackTrace:    at SwitchKing.Server.BusinessAccess.PlatformStore.AbstractPlatformAccess.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithPlatformStore()
   at SwitchKing.Server.BusinessAccess.RegistryAccess.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithPlatformStore()
   at SwitchKing.Server.WCFServices.FrameworkData.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithRegistry()
{BusinessAccess - Devices} --<Critical> -- 2010-12-29 17:03:05 -- Failed collecting device data from registry. 
Exception: 
Level 1) Invalid house code 2183.

StackTrace for Level 1:
   at SwitchKing.Common.Entities.DeviceTypes.ArctechCodeSwitch.GetDeviceCode(String[] codeData)
   at SwitchKing.Server.BusinessAccess.PlatformStore.TelldusCoreAccess.ParamReader.MergeParamsFromRegistry(Int32 deviceId, ArctechCodeSwitch type)
   at SwitchKing.Server.BusinessAccess.PlatformStore.TelldusCoreAccess.ParamReader.MergeParamsFromRegistry(Int32 deviceId, DeviceTypeDefined type)
   at SwitchKing.Server.BusinessAccess.PlatformStore.TelldusCoreAccess.CreateDeviceFromPlatformStore(Int32 nativeId)
   at SwitchKing.Server.BusinessAccess.PlatformStore.Windows.WindowsPlatformAccess.CreateDeviceFromPlatformStore(Int32 nativeId)
   at SwitchKing.Server.BusinessAccess.PlatformStore.AbstractPlatformAccess.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithPlatformStore()
{WCFServices - Service Request} --<Error> -- 2010-12-29 17:03:05 -- Request failed for SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithRegistry.
Exception: Invalid house code 2183.. 
StackTrace:    at SwitchKing.Server.BusinessAccess.PlatformStore.AbstractPlatformAccess.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithPlatformStore()
   at SwitchKing.Server.BusinessAccess.RegistryAccess.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithPlatformStore()
   at SwitchKing.Server.WCFServices.FrameworkData.SynchronizeDeviceNameDeviceCodeAndDeviceTypeWithRegistry()
{Invocation Service - Shutdown} --<Warning> -- 2010-12-29 17:04:40 -- Thread aborted. Exception: 
Level 1) Thread was being aborted.

StackTrace for Level 1:
   at System.Threading.Thread.SleepInternal(Int32 millisecondsTimeout)
   at SwitchKing.Server.WinSvcServiceHost.InvocationService.ProcessDeviceEvents()
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:45 -- Running version 0.9.1.0 of server and version 1.82 of DB.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:45 -- Build date and time for this version is 2010-12-20 22:38:42.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:46 -- Telldus version is 2.0.4.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:46 -- Validating database version and executing upgrade scripts.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:46 -- No upgrade performed. Database version is already up to date.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:46 -- Status of license is NotFound.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:46 -- Opening service channel for Framework.
{Framework Service - Startup} --<Status> -- 2010-12-29 17:04:46 -- Service channel for Framework opened.
{BusinessAccessDataCollection - ReinitCounter} --<Status> -- 2010-12-29 17:04:47 -- Saving 294 DataSourceValues with min date of 2010-12-27 01:07:22 and max date of 2010-12-29 17:01:00.
{BusinessAccess - Licensing} --<Status> -- 2010-12-29 17:04:48 -- 8 devices currently disabled by server due to missing license.
{BusinessAccess - Invocation} --<Status> -- 2010-12-29 17:04:48 -- Device with id 10, name Julstjärna - Sovrum, native id 20 and code D:2 is being turned on. Method used is TellStickWrapper.
{REST Service - Startup} --<Status> -- 2010-12-29 17:04:49 -- Opening service channel for REST.
{REST Service - Startup} --<Status> -- 2010-12-29 17:04:49 -- Service channel for REST opened.
{BusinessAccess - Invocation} --<Status> -- 2010-12-29 17:04:50 -- Device with id 12, name Vardagsrummet - Bokhyllan, native id 3 and code J:10 is being turned off. Method used is TellStickWrapper.
{BusinessAccess - Invocation} --<Status> -- 2010-12-29 17:04:52 -- Device with id 13, name Vardagsrummet - Golvlampan, native id 4 and code J:11 is being turned off. Method used is TellStickWrapper.
Ser ut som någon antagit att en code-switch enhet fortsätter att vara en code-switch enhet även när den är ändrad...

bunker
3 stars
3 stars
Posts: 130
Joined: Thu 23 Dec 2010, 11:26

Re: Ändra enhet till dimmer - fel i web gui

Post by bunker » Wed 29 Dec 2010, 20:23

Westlund wrote:Jag hade liknande problem när jag ändrade från fasta till en självlärande dimmer. Jag fick det att fungerar genom att ta bort enheten och lägga til den igen.
Klart det är ju svårt för dig och testa när du redan lagt upp enheterna i telldus.
Jo, men om man inte ska få ändra från en code-switch till self-learning får man ju begränsa GUI:t, annars kommer användare göra det ändå. I det här fallet är det meningslöst eftersom enheter kan ändras med Telldus Center också. Och eftersom man valt att importera enhetsinfo löpande så måste Switch King hantera detta också utan krascher.

Visst, jag skulle kunna skapa om enheterna men poängen är ju att om Switch King ska bli poppis måste det kunna hantera enheter skapade i TC, och kanske även ändrade där. Dom som kommer som nya användare till Switch King har ju ofta redan en Tellstick och därmed Telldus Center och vanan att använda det. Men det tror jag Martin och Tomas redan tänkt på. :clap:

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ändra enhet till dimmer

Post by Martin » Wed 29 Dec 2010, 20:56

Många inlägg att kommentera på en gång, men jag gör ett försök...
bunker wrote:Jag har upptäckt att det blir fel i Web GUI:t om jag ändrar en enhet till en Nexa Självlärande Dimmer.[...]
Jag har försökt återskapa detta både med och utan Shared Devices men faktiskt inte lyckats. Jag har följt dina steg men får direkt rätt vy i webben.
Lite halvt frustrerande, men jag vet inte riktigt hur jag ska göra för att provocera fram beteendet... :banghead:
bunker wrote:1. Importen av data från registret för enheter som skapats av Telldus Center fungerar inte så bra till Switch King servers databas. Dels behövs tjänsterna startas om, dels sätts flaggan för stöd av absolut-dimnivå fel åtminstone för den typ av enheter jag använder. Om det inte är ok att jobba med enheterna i Telldus Center borde en varning delas ut åtminstone. Mitt problem var att jag ville lära upp självlärande dimmers något som jag inte lätt kunde se att det stödjs i Switch King.
I de allra flesta fall lyckas Switch King synkronisera enheter med vad som finns i Telldus Center och dess egen databas men helt 100% är svårt att vara. Synkronisering sker inte heller regelbundet utan enbart när du startar upp klienten.

Vanligtvis brukar det också inte vara några problem att ändra enheter i Switch King eller i Telldus Center och få det att slå igenom på båda ställen.
Det är möjligt att det har att göra med Shared Devices (eller rättare sagt Private Devices i ditt fall). Jag har dessvärre inte lyckats återskapa detta problem heller.
bunker wrote:2. Som vi tidigare diskuterat är något fel i Web-GUI:t. Något verkar parsas fel från databasen. Har du någon känsla för vad det kan vara? Är någon databas-export till hjälp? Använder du eller någon du känner till dimmers i Web-GUI:t med framgång?
Jag kör själv med dimmer-enheter i webbgui:t utan problem och jag vet att andra användare gör det också.
bunker wrote:
Westlund wrote:Jag hade liknande problem när jag ändrade från fasta till en självlärande dimmer. Jag fick det att fungerar genom att ta bort enheten och lägga til den igen.
Klart det är ju svårt för dig och testa när du redan lagt upp enheterna i telldus.
Jo, men om man inte ska få ändra från en code-switch till self-learning får man ju begränsa GUI:t, annars kommer användare göra det ändå. I det här fallet är det meningslöst eftersom enheter kan ändras med Telldus Center också. Och eftersom man valt att importera enhetsinfo löpande så måste Switch King hantera detta också utan krascher.

Visst, jag skulle kunna skapa om enheterna men poängen är ju att om Switch King ska bli poppis måste det kunna hantera enheter skapade i TC, och kanske även ändrade där. Dom som kommer som nya användare till Switch King har ju ofta redan en Tellstick och därmed Telldus Center och vanan att använda det. Men det tror jag Martin och Tomas redan tänkt på. :clap:
Det jag kan tänka mig skulle kunna bli ett problem är om man ändrar från självlärande dimmer till code switch och dimmern står på en annan nivå än 100%. Dock bör detta ställas till rätta när nästa signal skickas till enheten och bör alltså vara övergående.

I GUI:t ska du, som sagt, kunna ändra fritt.
Martin | Switch King

Post Reply

Who is online

Users browsing this forum: No registered users and 20 guests