Costech typ EMW100R - OK?

Moderator: Telldus

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Självklart kommer vi lägga in stöder när/om det blir "knäckt"
Micke Prag
Software
Telldus Technologies

KlasGranberg
Posts: 1
Joined: Thu Jan 18, 2018 11:08 am

EMW200RA Fungerar den??

Post by KlasGranberg » Thu Jan 18, 2018 11:08 am

Köpte mig själv en sen julklapp dvs Tellstick och ovan mottagare på Clas Ohlsson. Enl. webben och personalen skulle dessa fungera tillsammans med Tellsticken.

Men jag kan inte hitta modellbeteckningen i enhetslistan.

Är det samma begränsning med denna som med EMW100 så får jag åka till Clas Ohlsson och lämna tillbaka.

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Vi har stöd för en typ av GAO. Du hittar denna just under "GAO"...
Micke Prag
Software
Telldus Technologies

Snakehand
Posts: 15
Joined: Thu Jan 18, 2018 11:08 am

kodeknekk.

Post by Snakehand » Thu Jan 18, 2018 11:08 am

Jeg satte på tenkehatten, og ett gammelt lydbånd jeg fant med hvalsang på. Etter litt meditasjon kom jeg frem til denne løsningen: :D

Code: Select all

unsigned int find_code(unsigned int x)
{
    unsigned int bits[16] = { 0xf , 0xa , 0x7 ,0xe,
                              0xf ,0xd ,0x9 ,0x1,
                              0x1 ,0x2 ,0x4 ,0x8,
                              0x3 ,0x6 ,0xc ,0xb };
    unsigned int bit = 1;
    unsigned int res = 0x5;
    int i;
    unsigned int lo,hi;

    if ((x&0x3)==3) {
        lo = x & 0x00ff;
        hi = x & 0xff00;
        lo += 4;
        if (lo>0x100) lo = 0x12;
        x = lo | hi;
    }

    for(i=0;i<16;i++) {
        if (x&bit) {
            res = res ^ bits[i];
        }
        bit = bit << 1;
    }

    return res;
}
Eller i sammenheng med ny versjon av programmet mitt:

Code: Select all

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>

unsigned int find_code(unsigned int x)
{
    unsigned int bits[16] = { 0xf ,0xa ,0x7 ,0xe,
                              0xf ,0xd ,0x9 ,0x1,
                              0x1 ,0x2 ,0x4 ,0x8,
                              0x3 ,0x6 ,0xc ,0xb };
    unsigned int bit = 1;
    unsigned int res = 0x5;
    int i;
    unsigned int lo,hi;

    if ((x&0x3)==3) {
        lo = x & 0x00ff;
        hi = x & 0xff00;
        lo += 4;
        if (lo>0x100) lo = 0x12;
        x = lo | hi;
    }

    for(i=0;i<16;i++) {
        if (x&bit) {
            res = res ^ bits[i];
        }
        bit = bit << 1;
    }

    return res;
}

void transmit( unsigned int device, unsigned int check, unsigned int val )
{
   const char ssss = 85;
   const char sssl = 84; // 0
   const char slss = 69; // 1

   const char bits[2] = {sssl,slss};
   int i;

   char txStr[100];


   char preamble[] = {'R', 5, 'T', 114,60,1,1,105,ssss,ssss};
   memcpy(txStr, preamble, sizeof(preamble));
   size_t pos = sizeof(preamble);

   for(i=15;i>=0;i--) txStr[pos++]=bits[(device>>i)&0x01];
   for(i=3;i>=0;i--) txStr[pos++]=bits[(check>>i)&0x01];
   for(i=3;i>=0;i--) txStr[pos++]=bits[(val>>i)&0x01];

   txStr[pos++] = ssss;
   txStr[pos++] = '+';
   txStr[pos++] = 0;

   FILE* fpipe = popen("tdtool --raw -", "w");

   if (fpipe==NULL) {
       printf("Problem with pipe.\n");
   } else {
       /* printf("%s", txStr); */
       fprintf(fpipe, "%s", txStr);
       fclose(fpipe);
   }
}


int main( int argc, char **argv )
{
    unsigned int device = 0;
    unsigned int check = 0;
    unsigned int mask = 0;
    unsigned int invmask;
    unsigned int val;
    int i;
    int pause = 0;

    if (argc<3) {
        printf("Usage: %s device(hex) value(decimal)\n", argv[0]);
        printf("  device id is 4 hex digits\n");
        printf("  value is 0-15, where 0=off, 15=on and 10=learn\n");
        exit(0);
    }

    sscanf(argv[1],"%x",&device);
    sscanf(argv[2],"%i",&val);
    check = find_code(device);
    transmit(device,check,val);
    
    exit(0);
}
Hva vinner jeg ?
:clap:

Mårten
Posts: 9
Joined: Thu Jan 18, 2018 11:08 am
Location: Uppsala

Post by Mårten » Thu Jan 18, 2018 11:08 am

Nä dra på trissor! Det var imponerande. Hur gjorde du för att lista ut algoritmen om man får fråga?

Jag får väl försöka få tag på ett band med valsång... :wink:

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Av alla (slumpmässigt valda) koder jag testat har koden fungerat helt klanderfritt.

Vi håller på att implementera det i vår programvara nu.
Micke Prag
Software
Telldus Technologies

tom_rosenback
Posts: 778
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Post by tom_rosenback » Thu Jan 18, 2018 11:08 am

Good work Snakehand!!
//Tom

Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Micke Prag
Software
Telldus Technologies

tom_rosenback
Posts: 778
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Post by tom_rosenback » Thu Jan 18, 2018 11:08 am

Bra jobbat micke, när finns denna addon i Telldus Center?
//Tom

Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Till version 2.0.2.
Micke Prag
Software
Telldus Technologies

mickelin
Posts: 107
Joined: Thu Jan 18, 2018 11:08 am

Post by mickelin » Thu Jan 18, 2018 11:08 am

Betyder detta att det kommer att funka med den brytare som startade tråden: Costech EMW100R? Jag har en hel drös sådana i en låda i källaren...

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Ja, dock finns det bara en minnesplats i mottagarna så du kan inte använda både TellStick och den vanliga fjärrkontrollen samtidigt.
Micke Prag
Software
Telldus Technologies

PeterT
Posts: 6
Joined: Thu Jan 18, 2018 11:08 am
Location: Sala, Sweden
Contact:

Post by PeterT » Thu Jan 18, 2018 11:08 am

micke.prag wrote:Till version 2.0.2.
Finns det något planerat releasedatum för 2.0.2?

hnke
Posts: 2
Joined: Thu Jan 18, 2018 11:08 am

Post by hnke » Thu Jan 18, 2018 11:08 am

Finns det någon möjlighet att få alla HEX-koder i en textfil? Hade varit schysst om någon orkat lägga upp det med respektive on/off kommando.

Det finns även dimmermoduler i den här serien, vet någon om det är närliggande kommandon till dessa?

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Jag förtår inte riktigt vad du menar? Vill du ha checksumman till alla 65 000 koder? En för varje on, off och learn? Det är nästan 197 000 koder.

Hur ska du sedan använda dessa?
Micke Prag
Software
Telldus Technologies

Post Reply