Hop til indhold

Velux igen igen / IO Homecontrol


Recommended Posts

På 21/4/2018 at 05:44 , Kenth Jensen skrev:

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.

Smid en privat besked - måske vi bor tæt nok på hinanden fysisk til det var hurtigere :)

Link til kommentar
Del på andre sites

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;
        }
    }

}

Link til kommentar
Del på andre sites

På 28/4/2018 at 13:50 , Lars Jacobsen skrev:

Det var den Benjamin linkede til i indlægget fra august og som Kandersen kommenterede.

Er det korrekt forstået at vi med denne klf 200 nu kan tilgå den via web interface og dermed spare ind og output på controlleren hvis der ellers er nogle af jer dygtige mennesker programmere noget via captain eller lign.

Jeg er desværre ikke kommet i gang med noget smart integration endnu da jeg ikke fatter en brik af alle de bindinger og opsætning mm

Meeeen det kommer vel en dag.

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.

i kan nok se at jeg ikke ved meget om det.

Link til kommentar
Del på andre sites

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

Link til kommentar
Del på andre sites

Det største problem med KLF200 er (skulle være, da jeg ikke selv har en endnu), at der ikke er tilbagemelding/status fra den. 
Dvs. hvis man fx får OpenHab eller andet systemet til at åbne et vindue 50%, så aner OpenHab ikke om:
1. Vinduet vitterlig åbner. 
2. Hvor meget det vitterlig åbner.
3. Om vinduet er blevet lukket igen (fra en remote eller regnsensor).

Som nævnt har jeg ikke selv KLF200 endnu, men det er ting jeg har kunnet læse mig frem til om den fra andre. Og hvis det vitterlig forholder sig sådan, så har Velux begået en ret fatal brøler, og man må konstatere, at det er ikke de mest geniale hjerner, der har udtænkt den boks.

Det er selvfølgelig ingen kunst at lave en virtuel lampe i OpenHab, der tænder, når man fx har sendt kommandoen om, at åbne et vindue til KLF200. Men det giver ingen mening, hvis ikke OpenHab får meldingen retur fra vinduet/KLF200 om, at nu er vinduet åbnet (eller scenen udført). På et tidspunkt vil det ende ud i, at lampen lyser når vinduet er lukket, og så har man først rigtige problemer med synkroniseringen af sin automatik. 
Det betyder ikke, at man ikke kan bruge KLF200. Og derfor har jeg også i sinde at investere i den, så snart jeg får tiden til det. Men det betyder, at man lige skal holde sig for øje, at man kan ryge ud i nogle problemer, hvor status ikke helt udgiver sig for at være det, som det er.
Jeg har læst flere som vist nok har kontaktet Velux omkring dette i håb om at de opdatere firmwaren til KLF200. Men jeg frygter lidt det er en dødsejler. Velux er efter mine erfaringer ikke specielt kundevenlige, når det bliver lidt teknisk og kryptisk.  

Link til kommentar
Del på andre sites

  • 2 weeks later...
  • 4 months later...

Lader til Velux er ved at lave et helt nyt API (åben) til KLF200. 
Pt er det ikke en god ide at opdatere med den nyeste firmware, for den fjerner LAN port muligheden.. 
Jeg har kun skimmet den nye API kort igennem, men den ser godt nok spændende ud. Og såvidt jeg kan se kan KLF200 tage mindst 100 enheder. 

Læs mere om det her.. 
https://community.openhab.org/t/io-homecontrol-velux-somethings-in-the-bush/11413/145
 

Link til kommentar
Del på andre sites

Ham som har lavet bindingen er vist allerede i gang med at kigge på det. Og ja det er omfattende, men det er jo bare en API. Og hvis jeg har forstået det rigtigt, så bliver det langt nemmere at styre vinduerne, inkl at der ikke længere er en begrænsning i antallet af produkter/Scener med KLF200éren. Hver enkelt produkt (vindue osv) bør indgå som en decideret "things" i Openhab. Derfor er alle muligheder åbne.. 
Så jeg glæder mig til han har den klar. Firmwaren skulle være klar.  

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette emne...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • 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