C++

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
Post Reply
riksvag
1 star
1 star
Posts: 3
Joined: Tue 09 Nov 2010, 21:51

C++

Post by riksvag » Sun 24 Apr 2011, 15:21

Jag håller på och utveckla en liten SwitchKing-plugin till en digitalTV-box, en Fortismodell som säljs under namnet Miraclebox här i Sverige. Tanken är att via fjärren få upp alla devices på TV-skärmen, och välja enhet med fjärren och därefter välja tänd/släck. En annan ide är också att lyssna av när ett inspelat program startar, och dra igång ett scenario baserat på det. Det hela fungerar hittills ganska bra på proof of concept-nivå, reaktionerna är snabba och bra, och det hela känns väldigt stabilt.

För kommunikationen kör jag REST-interfacet, och själva styrningen är en enkel historia. Socket skapas, och till den skriver jag helt enkelt bara kommandot i fråga, tex /device/id/turnon och turnoff.

Dock skulle jag vilja använda den kompletta lista som returneras via endast /devices. Den är i XML, och det har jag inte så mycket erfarenhet av. Dessutom blir det lite konstiga tecken om man använder åäö i devicenamnen.

Det jag är ute efter är om någon redan har skrivit någon C++-kod som utnyttjar REST. Skulle vara bra att få låna lite kod.

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

Re: C++

Post by Martin » Sun 24 Apr 2011, 20:00

Ingen C++-hjälp, direkt, men jag funderar på två saker:
  • Konstiga tecken med å,ä,ö känns som om det skulle kunna bero på att encodingen då du läser in dokumentet... Kan det vara så att den är fel, eller inte satt alls?
  • Skulle det vara möjligt att anväda regular expressions för att plocka datat från XML-filen? (själv är jag kass på RegExp, så jag kanske är ute och cyklar...)
Martin | Switch King

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

Re: C++

Post by Martin » Sun 24 Apr 2011, 20:02

Nu vet jag inte vad du har för prylar att tillgå, men om du inte har ngn vettig XmlParser i dina användbara bibliotek så kanske denna kan vara ett alternativ?
http://www.codeproject.com/KB/recipes/F ... arser.aspx

F.ö. väldigt intressant implementation :wave:
Martin | Switch King

riksvag
1 star
1 star
Posts: 3
Joined: Tue 09 Nov 2010, 21:51

Re: C++

Post by riksvag » Sun 24 Apr 2011, 23:52

Tack Martin för de glada tillropen.

Processorn är en sh4, och det finns xml-bibliotek som skulle fungera har jag sett nu. Även den som du länkade till är användbar. Jag kommer dock att göra nåt mycket enkelt, främst för att göra "felytan" så liten som möjligt. Jag är tyvärr ganska grön på C++, och har mycket kvar att lära. Är på sidan 95 (av 1000) i Stroustrup's utmärkta bok. Att sätta mig in i hur parsern jobbar får jag ta efterhand. Lite överkurs alltså än så länge.

Troligen gör jag så att jag läser fram till varje "<ID>" och "<Name>", dvs helt enkelt kollar i hela strängen, och bara lyfter ut det jag behöver. Kommer de förresten alltid i samma följd?

Men även det blir längre fram. Status just nu är att man tvingas lägga in alla device-name och ID som man vill kunna styra via en cfg-fil som läggs in i boxen. Även scenario bör man kunna styra.

Bakgrunden är att vi har ett ganska väl uppsatt system här hemma, där allt styrs via SK. De viktigaste lamporna har såklart egna strömbrytare, men många smålampor och annan mysbelysning saknar helt individuella strömbrytare. Vissa kvällar finns behov av att "förlänga" kvällen, och jag har ett bra scenario för det, som körs i en timme från att det aktiveras. Dock lyckas jag inte lära familjen hur man aktiverar det via SK-klienten, det är lite för stökigt för dem, och det är lite omständigt att behöva gå till en dator för att göra det.

Nå, det går framåt i alla fall, just nu sitter jag och tänder och släcker med färgknapparna på fjärren till boxen, men tanken är som sagt att lägga upp en meny med knappar på TV-n att välja mellan.

Kan förövrigt passa på att tacka för ert utmärkta program! Jag kör i storleksordningen 30 devices, tre datakällor, android- samt windows-klienten. Och snart Miraclebox-klienten!

riksvag
1 star
1 star
Posts: 3
Joined: Tue 09 Nov 2010, 21:51

tellstickMB

Post by riksvag » Thu 28 Apr 2011, 22:10

Har släppt mitt plugin till SK nu.

x) Krävs att du har dels Telldus usb-tellstick i en burk som kör SwitchKing och dels en digitaltvbox som kör någon av Fortis-modellerna (svensk box heter Miraclebox).
x) Plugin installeras och startas med grön knapp som vanligt. Autostart rekommenderas.
x) Port för anonym åtkomst via REST måste öppnas, så kör bara i eget svart nät, exponera inte denna port på internet.
x) Du väcker upp pluginet med den blåa knappen. Navigera upp och ner i menyn, och aktivera och deaktivera devices och scenarios med OK-knappen.
x) Släck menyn med exit.
x) Än så länge måste man lägga in devices och scenarios manuellt i configfilen. SK's REST exponerar alla devices och scenarios, men jag har inte orkat fixa till en xml-tolk. Man får helt enkelt spotta i nävarna och lista ut vilket deviceID och scenarioID som SK har. Hittas via http//sk-server:10000/devices och http//sk-server:10000/scenarios
x) Om du kör MBEPG så bör du uppgradera till senaste versionen som använder checkmark som aktiveringsknapp, annars kommer du att få konflikt med tellstickMB.

Finns inga kända problem, men du kör på egen risk som vanligt.
4.jpg
tellstickMB.zip
You do not have the required permissions to view the files attached to this post.

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 4 guests