Hop til indhold

Kenth Jensen

Members
  • Antal indlæg

    397
  • Medlem siden

  • Senest besøgt

Profile Information

  • Gender
    Not Telling

Seneste besøgende på profilen

Blokken med seneste besøgende er deaktiveret, og bliver ikke vist til andre

Kenth Jensen's Achievements

  1. Hej

    Jeg kan se at du har sådan en KLF200, som du har fået til at virke uden brug af output-moduler. Fandt Mikkel en løsning til Captain, eller kører du fortsat med noget andet software?

     

    Mvh Jakob

  2. Det ser spændende ud med det nye API. Dog ser det også temmelig omfattende ud, der bliver vist en hel del nyt at sætte sig ind i her, når det engang bliver færdigt
  3. Ja, det skulle rent teknisk sagtens være muligt at styre det fra IhcCaptain eller lignende helt uden at bruge IHC udgange fra output moduler. Jeg kan styre mine vinduer fra min Raspberry Pi som kører Windows 10 IOT, uden at Velux KLF200 og Raspberry PIen er fysisk forbundet, ud over at de begge er forbundet til samme netværk. >>Er det noget med at man i klf 200 skal programmere nogle scenarier (evt via klr200) eller kan man styre hver enkelt produkt direkte via web interface sådan at programmeringen ligger enten i en FB eller captain el lign. Du skal på forhånd oprette nogle programmer, også kaldet scener, disse oprettes via webinterfacet der følger med KLF200 og ens originale Velux remote. program 1 kunne være at åbne vindue A på 0 %, program 2 kunne være at åbne vindue A på 50 %, program 3 kunne være at åbne vindue A på 100 %, program 4 kunne være at rulle gardin A+B til 800 %, Man kan definere op til 32 af disse programmer. Man kan så via APIet køre disse programmer, Det vil sige, man kan ikke åbne sit vindue på 37 % med mindre man har oprettet et program der åber det på 37 % på forhånd. Håber dette hjalp lidt på forståelsen, ellers bare spørg igen
  4. Så lykkedes det sørme at styre Velux gardiner og vinduer via C# og min Velux KLF200 enhed, nu mangler jeg bare at få smidt det over på min Raspberry PI, koden kan ses herunder. Den Velux KLF200 er godt nok genial, købte min fra www.roofingsuperstore.co.uk for ca 1300-1400 kr incl alt. using System; using System.Net.Http; using System.Net.Http.Headers; using System.Windows.Forms; namespace VeluxTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void buttonStart_Click(object sender, EventArgs e) { // Login HttpClient httpClient = new HttpClient(); string data = "{\"action\":\"login\",\"params\":{\"password\":\"velux123\"}}"; HttpResponseMessage response = httpClient.PostAsync(@"http://192.168.1.144/api/v1/auth", new StringContent(data)).Result; string respStr = response.Content.ReadAsStringAsync().Result; if (respStr.Contains("token")) { string token = IsolateToken(respStr); // Run a program (scene) httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); data = "{\"action\":\"run\",\"params\":{\"id\":1}}"; //first scene (program) = id 0, second scene (program) = id 1 etc. response = httpClient.PostAsync(@"http://192.168.1.144/api/v1/scenes", new StringContent(data)).Result; // Log out again data = "{\"action\":\"logout\",\"params\":{}}"; response = httpClient.PostAsync(@"http://192.168.1.144/api/v1/auth", new StringContent(data)).Result; } else { // Handle error here, could be caused by wrong IP address or password } } private string IsolateToken(string inputString) { var startOfToken = inputString.IndexOf("\"token\":\"") + 9; var stopOfToken = inputString.IndexOf("==", startOfToken + 5); var LengthOfToken = stopOfToken - startOfToken; string token = inputString.Substring(startOfToken, LengthOfToken + 2); return token; } } }
  5. Mikkel, det lyder skide godt. Min Raspberry PI kører Windows 10 IOT og ikke Raspbian som vist ellers er det mest normale, da jeg koder i C#, er dette et problem? Jeg aner intet om SSH, men hvis du kan hjælpe mig lidt på vej med det, så kan det måske lade sig gøre.
  6. Mange tak for hjælp indtil videre. Desværre kan jeg indtil videre slet ikke logge ind på skidtet fra mit program Jeg har prøvet med nedenstående kode, men får altid et svar tilbage hvor der står: )]}',{"result":false,"deviceStatus":"IDLE","data":{},"errors":[999]} hvilket jo må komme fra Velux devicen, hvilket i det midste er en lille smule positivt, da jeg så har fat i den rigtige device. Jeg får samme svar tilbage uanset om jeg bruger det rigtige password, eller noget volapyk. Dog får jeg StatusCode=OK, og ResponseStatus=Completed i min response, men det er vel også bare tegn på at devicen har svaret et eller andet tilbage. Jeg ved ikke rigtig hvor og hvordan jeg skal bruge dette: {"action":"login","params":{"password":"velux123"}} , passwordet har jeg brugt, men ved ikke hvad jeg stiller op med denne action login. Må indrømme jeg er temmelig meget på udebane her, så alt hjælp modtages med kyshånd, og hjælp må meget gerne skæres ud i pap :o) RestClient client = new RestClient(@"http://192.168.1.144/api/v1/auth"); RestRequest request = new RestRequest(Method.POST); request.AddParameter("password", "velux123"); request.RequestFormat = DataFormat.Json; IRestResponse response = client.Execute(request); string responseString = response.Content.ToString();
  7. Kender desværre ikke Hue, har selvfølgelig hørt om det, men kender ikke til det derudover. Den eneste mode man kan sætte på boksen, mig bekendt, er om den skal opføre sig som repeater eller interface, og jeg har valgt interface.
  8. Jeg har netop købt en Velux KLF 200, var fået parret den sammen med mine vinduer, og kan nu styre dem via relæ indgangene, og kan konfigurere den via dens almindelige webinterface i en internet browser. Jeg kunne rigtig godt tænke mig at styre den via dens web interface direkte, så jeg kan styre den fra min Raspberry PI der kører Windows 10 IOT, så jeg håber at få lavet noget kode i C# der kan styre mine vinduer. Jeg kan ikke rigtig få hul på bylden indtil videre. Jeg har fundet nedenstående kode, men undrer mig over hvordan jeg finder Authorization: Bearer bBbpXgBfTlw9LQwytyH5Cw==, tænker at denne er unik for hver enkelt KLF 200 device. Jeg har fundet en del kode eksempler i Java, men fatter desværre ikke en klap af Java, så er der en venlig sjæl der kan skubbe mig lidt i retning af hvordan jeg får noget op at køre med C#, evt nogle simple http post kommandoer. På forhånd mange tak Authenticate POST /api/v1/auth HTTP/1.1 Host: 192.168.0.1 Content-Type: application/json;charset=utf-8 Content-Length: 51 Connection: close {"action":"login","params":{"password":"velux123"}} Run a program POST /api/v1/scenes HTTP/1.1 Host: 192.168.0.1 Content-Type: application/json;charset=utf-8 Authorization: Bearer bBbpXgBfTlw9LQwytyH5Cw== Content-Length: 34 Connection: keep-alive {"action":"run","params":{"id":2}} Identify a product POST /api/v1/products HTTP/1.1 Host: 192.168.0.1 Content-Type: application/json;charset=utf-8 Authorization: Bearer bBbpXgBfTlw9LQwytyH5Cw== Content-Length: 50 Connection: close {"action":"identify","params":{"id":5,"time":254}}
  9. Øv, kan du evt uploade til et Google Drive eller en public folder på Dropbox. Min mail adresse er kfj4100 snabela gmail.com men der er der også en grænse på 25 mb. Hvordan håndterer du at den hashcode kun er gyldig i 30 minutter? Endnu engang mange tak for at du gider bruge tid på dette, sætter meget stor pris på det. HHilsen Kenth
  10. Hej igen. Sætter stor pris på at du vil dele ud af dine erfaringer. Ser frem til at modtage dit projekt. Den værdi du skriver at hver ting har, mener du resourceIDen som også bliver brugt i selve IHC projekt filen til IHC visual? Den der hash kode, er det en cookie, og hvordan håndtere du at den kun er gyldig i 30 minutter? Det vigtigste jeg skal lave er at overvåge 2 indgange og logge ændringerne i en fil, dette skal køre konstant 24/7 På forhånd tak Hilsen Kenth
  11. Hej Mikkel Jeg overvejer selv at bruge min Raspberry PI3 med Windows 10 IOT til at kommunikere med mit IHC via en UWP app, og er meget interesseret i dit projekt. Indtil videre har jeg kun brug for at lytte på et enkelt output fra IHC så min Raspberry kan gøre noget når en bestemt IHC output tændes eller slukkes. Har du evt tid til lige at skrive nogle linier med en introduktion af hvordan din klasse bruges, hvilke metoder der skal kaldes for at initialisere forbindelsen, hvor ip adressen, brugernavn og password sættes og hvordan man abonnerer på en given resource På fothånd mange tak HHilsen Kenth
  12. Anders, prøvede du at genere pulserne til controlleren, eller modtog du dem fra controlleren? Jeg kan se det kan lade sig gøre at modtage pulserne og time hver enkelt bit via Microsoft.SPOT.Hardware.Utility.GetMachineTime().Ticks; Der hvor jeg ikke lige kan gennemskue det, er når bittene skal generes af boardet og sendes til controlleren. Timeren i micro frameworket har en opløsning på 1 millisekund, men der skal laves pulser på henholdsvis 150, 300 og 450 micro sekunder. Man kan selvfølgelig lave en while løkke der looper rundt indtil ticks er nået op på den rigtige værdi, men tænker at det vil loade processoren og at det i stedet skal være noget event baseret, da boardet samtidig skal kunne modtage IR kommandoer fra remoten på præcis samme tidspunkter
  13. Jesper, har har kigget nu kigget lidt på protokollen brugt til temperatur sensorerne, men den protokol er alt for langsom til at bruge til IR modtager, det ser ud til at tage op til ca et halvt sekund at sende en enkelt værdi over via denne protokol, hvilket er fint til temperaturer der ændrer sig meget langsomt, men til en remote kontrol hvor man skal kunne regulere lyset op og ned, duer det ikke. Men det er da fint at tage alle muligheder med i ens overvejelser, og det havde da også kunne være lækkert at kunne lave det uden at skulle hacke sig direkte ind på databussen på controlleren. Anders, godt at høre det kan lade sig gøre, jeg er også faldet over en tråd inde på tooms forum som du har skrevet i. Jeg må vel bare prøve at se om controlleren kan acceptere at der kun er pulser når man sender noget med remoten. Tænker at dette vil være en fordel at processoren i Netduino boardet skal lave så lidt som muligt, da den nok samtidig skal køre en webserver og lytte til IR inputs fra photodioden, sidst nævnte er dog interrupt baserede. Men hvis jeg samtidig skal bruge mere end de 16 input kanaler, jeg kan opnå på en enkelt datainput på controlleren, vil jeg let kunne bruge 2 datainputs hvis jeg kun skal genere pulserne på en output port på boardet ad gangen. Det fede ved at "simulere" denne protokol direkte er at jeg også vil kunne simulere et output modul så jeg kan sende ting fra controlleren til Netduino boardet. Jeg er dog lidt i tvivl om hvordan paritets bitten virker. Taget fra wikipedia: One addition parity pulse; an even number of pulses is 0 parity and odd number pulses is 1 parity Dette er jo lidt noget sludder, der er jo altid samme antal pulser, uanset hvor mange inputs der er 1 og 0. Mon der i stedet menes at paritets bitten er 1 hvis der er et lige antal høje bits, og 0 hvis der er et ulige antal høje bits. Noget der ved det?
  14. Hej Jesper Hvordan virker denne LK temperatur protokol? jeg undrer mig over, hvordan man kan sende x antal grader, via et enkelt input på et inputmodul
  15. Hey Jeg tror lige jeg starter en ny tråd op her, for at undgå at det ellers drukner i en masse gamle indlæg i min gamle tråd. Jeg går og overvejer at lave mit eget input modul med et "Netduino plus 2" board, som skal snakke direkte sammen med IHC controlleren via databussen, som et originalt LK input og output modul gør. Dette skal bl.a. bruges til at lave min egen IR modtager, gammel tråd om emnet findes her: http://www.ihc-user.dk/forum/topic/3323-ir-modtager-og-logitech-harmony-one-universal-fjernbetjening/?p=31215 Jeg har googlet lidt rundt for at finde ud af hvilken protokol IHC benytter sig af mellem controlleren og input og output moduler, og jeg fandt nedenstående: http://en.wikipedia.org/wiki/Intelligent_Home_Control Så vidt jeg kan se, burde det være rimelig let at efterligne denne protokol med "Netduino plus 2" boardet, og det ser også ud til at andre herinde har haft held med tilsvarende. I den forbindelse dukker der et par spørgsmål op. I tilfældet hvor brugeren ikke trykker på nogle knapper på remoten, og alle indgange skal være Off, er det da nødvendigt at generere disse pulser overhovedet, tænkte at det ville være lettere kun at genere pulserne inkl header og paritets pulserne når der rent faktisk var en af indgangene der gik On, resten af tiden må det jo blot svare til at der rent fysisk slet ikke er forbundet et input modul på denne dataindgang på controlleren, og det ville spare en masse processorkraft på Netduino boardet Hvor præcis skal timingen være, tænker på hvor meget breddere og smallere pulserne må være for at controlleren stadig forstår dem. På forhånd mange tak for input
×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok