skicka kommandon i tätare följd

Moderator: Telldus

Post Reply
naslund
Posts: 97
Joined: Fri Mar 17, 2023 9:45 am
Location: Täby

skicka kommandon i tätare följd

Post by naslund »

Hej

Finns det en lösning på att snabbt hantera grupper, eller när man vill göra flera saker samtidigt?

Idag när jag ska tända A, B och C samtidigt så blir det någon sekund mellan varje tändning pga omsändningar.

Föreställer mig att sekvensen ser ut enligt följande:
AAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCC

Omsädningar är säkert bra och nödvändigt men borde det inte vara möjligt att låta köande kommandon få gå in i sändningen så att sekvensen blir liknande

A_____B________C____________________________________________________
AAAAABABABABABCABCABCABCABCABCABCABCABCABCBCBCBCBCBCBCBCBCBCCCC

Samma antal omsädningar men förhoppningsvis lite snabbare respons.

Ni som är lite närmare hårdvaran, är det någon som provat detta?

/D
krambriw
Posts: 654
Joined: Fri Mar 17, 2023 9:45 am

Re: skicka kommandon i tätare följd

Post by krambriw »

Din ide är nog inte så dum och jag tror faktiskt behovet kan vara olika beroende på typ av sändare.

Om jag provar lite med olika sändare så ser jag att dom flesta sänder sina kommandon relativt snabbt (typiskt sänds det 6-8 repetioner för ett kommando).

Det verkar dock faktiskt som att TellSticken tar förhållandevis lång tid på sig att "beta av" kommandona. Åtminstone om man skall tro på lysdiodsindikeringen men dess blinktid behöver ju nu inte vara lika med den verkliga sändningstiden. Den röda lysdioden på min Duo blinkar ungefär i två sekunder för ett kommando.

Med de andra sändarna skickas kommandona ut med väldigt kort, *försumbar* fördröjning emellan. Så att förändra hanteringen i dessa kanske inte skulle ge så mycket.

I de applikationer som gjorts finns det ofta en möjlighet att ange ett antal omsändningar och paus emellan. Om man antar att du vill styra en hel grupp av devices, borde det därför vara möjligt att införa någon form av förbättrad köhantering som skulle kunna *omprioriteras* i realtid.

Tex, du begär 'On' på C12 och har definierat 5 repeats med 0.5 sekund emellan. Om nu ytterligare kommandon kommer in medans kön fortfarande inte är bearbetad, borde den alltså kunna sorteras om enligt din ide.

Resonemanget är nog giltigt även för Telldus Service eftersom den har en intern köhantering av kommandona.

mvh
naslund
Posts: 97
Joined: Fri Mar 17, 2023 9:45 am
Location: Täby

Re: skicka kommandon i tätare följd

Post by naslund »

Hej, tack för svaret.

Jag kör med en rätt gammal kod c# för att styra en vanlig tellstick, från den tiden så man fick fixa antennen själv.
Använder helt enkelt tdtool för att skicka mina grejer över 433,92.

Code: Select all

        public void send(object o, EventArgs e)
        {

            if (e.function == COMMAND_ON)
                args = "-n " + e.houseCode;
            else if (e.function == COMMAND_OFF)
                args = "-f " + e.houseCode;
            else if (e.function >= COMMAND_DIM1 && e.function <= COMMAND_DIM100)
            {
                args = "-v " + (e.function * 16 - 1) + " -d " + e.houseCode;
            }

            lock (thisLock)
            {

                for (int i = 0; i < e.repeat; i++)
                {
                    Process td = new Process();

                    td.StartInfo.UseShellExecute = false;
                    td.StartInfo.RedirectStandardOutput = true;
                    td.StartInfo.CreateNoWindow = true;
                    td.StartInfo.FileName = tdtool;
                    td.StartInfo.Arguments = args;
                    td.Start();
                    string result = td.StandardOutput.ReadToEnd();
                    td.Close();
                }

            }
        }
tdtool saknar så vitt jag vet möjligheten att justera antalet reppetitioner så vida man inte skickar det som raw kommandon.

vad är den rekommenderade vägen när det gäller .net implementationer idag? finns det någon wrapper som stödjer smartare köläggning?

Är det något annat jag bör tänkta på? skaffa en nyare tellstick?

Mvh
Post Reply