Page 5 of 6

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Självklart kommer vi lägga in stöder när/om det blir "knäckt"

EMW200RA Fungerar den??

Posted: Fri Mar 17, 2023 9:45 am
by KlasGranberg
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.

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Vi har stöd för en typ av GAO. Du hittar denna just under "GAO"...

kodeknekk.

Posted: Fri Mar 17, 2023 9:45 am
by Snakehand
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:

Posted: Fri Mar 17, 2023 9:45 am
by Mårten
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:

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
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.

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Good work Snakehand!!

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Bra jobbat micke, när finns denna addon i Telldus Center?

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Till version 2.0.2.

Posted: Fri Mar 17, 2023 9:45 am
by mickelin
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...

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Ja, dock finns det bara en minnesplats i mottagarna så du kan inte använda både TellStick och den vanliga fjärrkontrollen samtidigt.

Posted: Fri Mar 17, 2023 9:45 am
by PeterT
micke.prag wrote:Till version 2.0.2.
Finns det något planerat releasedatum för 2.0.2?

Posted: Fri Mar 17, 2023 9:45 am
by hnke
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?

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
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?