Author Topic: Styra uppvärmningsfunktionen via http  (Read 44389 times)

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Styra uppvärmningsfunktionen via http
« on: 2011-09-27, 08:08:35 »
Går det att ändra inställningarna för uppvärmningsfunktionen via http? Jag hittar bara info om hur man kan styra relän, läsa temperaturer m.m. Det hade varit smidigt om man hade kunnat ändra åtminstone "Override" inställningarna via http.

/Roger

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #1 on: 2011-09-27, 20:28:31 »
Ska man vara en petig besserwisser så är det faktiskt så att allt ändras via HTTP ;) Det innebär att för den ambitiösa webbutvecklaren så är det "bara" att ta reda på vad som skickas från webbsidan och sen använda samma data (HTTP GET eller POST) från valfritt program. Jag förstår dock vad du är ute efter, ett beskrivet publikt "gränssnitt", något som inte finns som det ser ut nu. Tanken med hur det är gjort nu är att antingen är det Webswitchen som är "hjärnan" och kontrollerar reläerna eller så styr man reläerna från utsidan så att säga.

Jag kikade i alla fall som hastigast på hur det är gjort(kom inte ihåg det själv heller, hehe) och så här man kan göra:

http://[adress till Webswitch]/autoPrograms?i=[nollbaserat programindex]&m=[override operation]&ot=[ev tid, klockslag eller minuter]

"i" kan vara 0-19 = programrad 1-20. OBS att man måste klicka på "Show disabled programs" för att kunna se alla program och då kunna räkna sig fram till rätt nr.

"m" anger vilken operation man vill utföra. 255=Disabled, 0=Off, 1=On

"ot" anger ev tidsgräns för operationen. Kan lämnas tom=ingen gräns. Om ett tal anges = minuter, om timmar+minuter "TT:MM" anges i URL-kodat format = klockslag.  Ex är kl 20:24 = 20%3A24 i URL-kodat format.

Några exempel:

http://192.168.1.100:8123/autoPrograms?i=12&m=1&ot=60
= sätt On som Override på program nr 13(index 12) i 60 minuter

http://192.168.1.100:8123/autoPrograms?i=0&m=255&ot=
= Ta bort Override på program nr 1(index 0)

http://192.168.1.100:8123/autoPrograms?i=1&m=1&ot=20%3A24
= sätt On som Override på program nr 2(index 1) till klockan 20:24

Edit: Ser nu när jag läser igenom igen att du skriver "uppvärmningsfunktionen"! Menar du kanske motorvärmarstyrningen då?


« Last Edit: 2011-09-27, 20:30:37 by Jan (Microbit) »
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #2 on: 2011-09-28, 09:14:14 »
Oops, såg just att jag lagt den här frågan i fel forum :P

Precis, det är motorvärmarstyrningen jag menade. Kom inte på något bättre namn när jag ställde frågan ::)

Jag förstår att tanken är att switchen ska vara hjärnan. Men min tanke var att göra ett lite mer lättanvänt gränssnitt för att ställa in tiden för motorvärmaren som passar min bättre hälft. Mao en enkel mobilanpassad sida där hon lätt kan ändra tiden om så behövs utan att behöva logga in i switchen via mobilen och navigera fram den vägen.

Jag har inte införskaffat någon switch själv ännu så jag kan inte gå in och snoka i HTML-koden. Därav mina frågor :)

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #3 on: 2011-09-28, 09:36:56 »
OK, så du tänker dig att det är olika tider för avfärd/färdig-tid mest hela tiden och att "override" blir mer regel än undantag? Motorvärmarstyrningens override ställs in med HTTP POST, så det är lite mer pillrigt att få till. Vad är det för mobiltyp? iphone, android? Annat?
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #4 on: 2011-09-28, 10:34:15 »
Precis. Tiden kommer att vara olika varje dag, ibland inte någon tid alls, så baserat på hur jag tolkar att funktionen ser ut att fungera så stämmer det att "override" i princip blir det som kommer att användas hela tiden. Tanken är att ersätta ett vanligt tidur med den här webswitchen och att motorvärmarkabeln alltid får sitta i bilen. När man kommer på att man behöver bilen så tar man bara fram mobilen och ställer in tiden och bilen är varm när man behöver den :)

Mobilen är en iPhone och tanken är att göra ett enkelt gränssnitt som en "Webbapp" med HTML+Javascript där man bara ställer in avgångstiden så uppdateras switchen. Mao det man ser i switchens gränssnitt för "override" är det som jag vill kunna komma åt att styra via HTTP. Om det idag går att göra via HTTP POST så ska det inte vara något problem.

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #5 on: 2011-09-28, 10:59:17 »
Som sagt, allt man ställer in görs via HTTP POST/GET så då kan du nog klura ut en sådan sak rätt enkelt(Du verkar ju ha bra koll, hehe)
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #6 on: 2011-09-28, 11:13:26 »
Okej, det låter lovande. Får ta och beställa hem en switch och labba lite :)

Tack för dina snabba svar!

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #7 on: 2011-09-28, 11:40:21 »
Hör gärna av dig när du har totat ihop nått. Vore kul att höra/se hur det gick/blev  ;)
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #8 on: 2011-10-18, 13:19:45 »
Det blev lite besvärligare än jag trodde med en webbapp eftersom javascript har vissa säkerhetsbegränsningar. Man får nämligen bara kontakta den server som man hämtat skriptet från, vilket inte är webswitchen, och besvärligast är POST. Men det går att komma runt med en liten proxy och jag måste ändå ha en server snurrande där jag kan accessa webbappen så det ska nog inte vara något problem. Annat än med tiden för att fixa det :P

Jag har en prototyp med gränssnittet klar men har inte haft möjlighet att beställa någon switch ännu så det återstår att se om det går att få det att lira ihop.

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #9 on: 2011-10-18, 14:15:47 »
 ;D
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #10 on: 2011-10-26, 21:48:43 »
Prototypen fungerar tillsammans med en proxy+webswitchen ;D

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #11 on: 2011-10-27, 08:26:08 »
Prototypen fungerar tillsammans med en proxy+webswitchen ;D
Kul! Hur funkar en Webbapp i iPhone? Är det en lokalt lagrad HTML-sida med Javascript? Funkar det bara på iPhone? (Jag gillar inte att vara "mainstream" så har ingen "iFån", haha!)
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #12 on: 2011-10-27, 10:36:26 »
En webbapp är en HTML-sida med eller utan Javascript som man accessar via webbläsaren som sen sparas ner lokalt på den enhet man använder. Det fungerar mer eller mindre lika på alla webbläsare som stödjer HTML5 eller offline-cache. I mitt fall så har jag använt ett ramverk som stödjer en mängd olika plattformar, iPhone, iPad, Andriod m.m., förutom en viss komponent som än så länge efterlikar en komponent som är iPhone specifik. Tanken är att när jag är klar så ska alla script/bilder/html m.m. sparas ner på enheten vid första besöket så att den inte behöver hämta hem det varje gång. Efter det så är det bara ren kommunikation mot webswitchen.

Enda nackdelen med en webbapp är som jag nämnde tidigare att webbläsaren inte får kontakta någon annan server än den som man har laddat hem webbsidan från. I det här fallet är det inte webswitchen så den server som jag har webbsidan på måste ha en proxy som kan slussa kommunikationen vidare från webbappen till webswitchen.

Det verkar som att man kan gå runt kravet på proxy om man bara klarar sig med GET men i det här fallet så används POST och då fungerar det inte. Idealet hade varit om man kunde signera en webbapp men den enda webbläsare som verkar stödja något sådant i dagsläget är Firefox.

Jan (Microbit)

  • Software Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1832
    • View Profile
    • Email
Re: Styra uppvärmningsfunktionen via http
« Reply #13 on: 2011-10-27, 10:47:01 »
Ok. Då är webbapp:ar i Nokia, som jag gjort några, i princip samma sak som i iPhone då. Vilket ramverk har du använt dig av?
Always include type of hard/software and version when asking for support.

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Styra uppvärmningsfunktionen via http
« Reply #14 on: 2011-10-27, 10:56:35 »
http://jquerymobile.org/ just nu iaf.

Tänkte att om jag ska försöka göra det här som en webbapp så kan jag lika gärna försöka göra det med något som inte blir iPhone specifikt. Även om jag aldrig kommer att skaffa någon annan mobil ;)