26

Re: odeslání emailu

Na zařízení s posledním firmware a překladačem z 9.1.2013 jsem přidal do progaramu odeslání dvou emailů hned po initu. Program se nerozběhl. Následně jsem zjistil, že visí ve smyčce hlídající registr 65.  Obsah registru  sys 65 je   : 65535. Tento stav není popsan ani na wiki - co to je za číslo? zkusil jsem sys 65 nulovat v initu, ale nepomohlo to. Ještě musím napsat, že zařízení po přehrání programu hardwarově neresetuji.
Zatím jsem to zaremoval, ale uvitám rady co s tím

27

Re: odeslání emailu

Ještě přemýšlím nad tím za jakou dobu "odejde" email. Já mám udělané hlídání sys 65, tak že pokud není dosaženo korektního stavu za nějakou dobu, tak program přestane čekat na správný stav a jde dál. Jak jsem včera zjistil (když mi program zůstal "viset" na tom že sys 65 byl 65535 , mám tento čas nesmyslně dlouhý (asi 220s). Nevím, proč jsem to tak udělal - možná jsem si popletl milisekuny a sekundy v sys 4 . Nyní to opravím, ale přemýšlím jaký čas bude optimální? Je to těch 220 ms na místo mnou zatím používaných 220s?
Dále jsem vysledoval, že pokud chci odeslat dva emaily ihned za sebou je potřeba počkat cca 3s. Pokud je to bez tohoto čekacího času, tak odejde pouze první email.
A ještě jedna věc: zatím hlídám sys 65 jak před odesláním tak po odeslání emailu. Nešlo by před odesláním místo hlídání stavu sys 65 nastavit natvrdo v programu  sys 65= 0?

28

Re: odeslání emailu

sys[65] se nastaví po startu programu (= reset zařízení SDS) do 65535 (0xFFFF).
Kdysi dávno to bylo nastaveno do nuly, ale pak nešlo poznat, zda-li se následně zavolaná OSI7 funkce provedla.

sys[65] se nastavuje do nuly vždy při zavolání OSI7 funkce - tzn. např. SDS-C program zavolá http_get() (nebo email send atd.), v ten okamžik se nastaví sys[65] do nuly a funkce začne provádět svou činnost. Jakmile skončí, nastaví se do sys[65] výsledek funkce (úspěch / nebo číslo chyby).

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

29

Re: odeslání emailu

Kdysi dávno bylo na DF doporučováno provádět test sys 65 jak před tak i po provedení vybraných příkazů. chápu- li to správně, tak testování před nemá význam, protože se automaticky nastaví na nulu zavoláním OSI7 funkce.

30

Re: odeslání emailu

Test před má význam pokud se volá více OSI7 funkcí za sebou, tak aby se nespustila další dokud neskončí předchozí.
I když v tomto případě je "před" vlastně "za" tou předcházející...

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

31

Re: odeslání emailu

"I když v tomto případě je "před" vlastně "za" tou předcházející..."

Přesně tak to také vidím.
Díky

Ještě co ta doba emailu o délce třeba 160 znaků??

32

Re: odeslání emailu

Nahrál jsem nejnovější verzi  (staženou  8 února) firmware a ani s ní  k odeslání emailu nedojde, ani se neobjeví žádné chybové hlášení. V simulátoru to nadále vypisuje, že došlo k odeslání emailu

adamn napsal:

Jakou verzi programu máte v SDS, ve které to nefunguje ?
Každopádně to nechám prověřit, a pokud to skutečně nefunguje, tak to hned nechám opravit a vydá se nová verze.

33

Re: odeslání emailu

Omezení pro smtp_send() - stav firmware únor 2013:
Maximální délka textu "emailová adresa adresáta" je 254 znaků.
Maximální délka textu "předmět zprávy" je 254 znaků.
Maximální délka textu samotné zprávy (obsah) je 1427 znaků.

Vyzkoušejte nový firmware (pro dnešní den vydaná BETA, pak všechny další), tam už by to mělo fungovat.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

34

Re: odeslání emailu

Díky odeslání emailu funguje , smtp send akceptuje text.

Velmi mne potěšily ty registry 900 a dál ve kterých jsou ROM čidel, jen si budu muset nechat projít hlavou jak to využít.
Včera po přehrání "nové generace" firmware se mi načetly teploměry jinak a musel jsem to upravit v programu.

adamn napsal:

Omezení pro smtp_send() - stav firmware únor 2013:
Maximální délka textu "emailová adresa adresáta" je 254 znaků.
Maximální délka textu "předmět zprávy" je 254 znaků.
Maximální délka textu samotné zprávy (obsah) je 1427 znaků.

Vyzkoušejte nový firmware (pro dnešní den vydaná BETA, pak všechny další), tam už by to mělo fungovat.

35

Re: odeslání emailu

krevla napsal:

Velmi mne potěšily ty registry 900 a dál ve kterých jsou ROM čidel, jen si budu muset nechat projít hlavou jak to využít.

No tak to já vim naprosto přesně.  Jelikož mám uvnitř SDS natvrdo na kontakty připájené čidlo, tak nemůžu další přidat tím že stávající odpojím a připojím nový a načtu...  Takže si adresu čidla zjistím jinde a do SDS si to dopíšu. Navíc mám z dávných dob kdy 18B20 nebyla (jen 1820) i přípravek s LCD displayem dělanej s 8051 procesorem kterej po připojení dallase ukáže jeho adresu :-)

36

Re: odeslání emailu

Clouseau napsal:

... tak nemůžu další přidat tím že stávající odpojím a připojím nový a načtu...  Takže si adresu čidla zjistím jinde a do SDS si to dopíšu.

Od toho je možnost "zamknout" pozice (tlačítka "#") v seznamu 1-W čidel, a pak provést "rescan" sběrnice.
Když se zamkne všech 16 (32) pozic, a odemkne jen ta jediná, kterou je požadováno nahradit,
pak se to nově připojené čidlo umístí právě a jenom na tuto pozici.
A není potřeba cokoliv odpojovat atd.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

37

Re: odeslání emailu

adamn napsal:

Od toho je možnost "zamknout" pozice (tlačítka "#")

No jo, mám tam dva teploměry a druhej mi střídavě tvrdí že je/není zamknut podle toho jak dávám refresh stránky...  A když ho zamknu tak se nic nemění.. pořád to střídavě tvrdí...

Měl jsem za to, že příkaz search_rom na 1Wire sběrnici má smysl provádět jen když tam je jedno čidlo, jinak dojde ke kolizi, ale jak pročítám datasheet tak zdá se že to jde i s více čidly... Díky za info, to jsem doteď netušil :-)

38

Re: odeslání emailu

Jak jsem napsal minule - odesílaní emailu funguje , ale nyní jsem zjistil že obsah emailů je poškozen.
email, který odesílal příkazem : smtp_send('xxx@seznam.cz', 'dvere', 'dnes  ',sys[5],' .', sys[6], '. ',sys[7],' blablabla: ' ,sys[8] , ' hodin '  ,sys[9] , ' minut, aktualni teplota venku je: ', ram[38] ,'.',ram[39] ,  );
doručí pouze tento nesmyslný obsah:

"dddddd2 1..1970 7 49 -1.1"

Pokud budete potřebovat, tak Vám na email  můžu poslat celý příkaz smtp (= bez toho blablabla)

V historii se nezobrazuje čas ve standartním formátu, ale ve formatu + číslo


adamn napsal:

Omezení pro smtp_send() - stav firmware únor 2013:
Maximální délka textu "emailová adresa adresáta" je 254 znaků.
Maximální délka textu "předmět zprávy" je 254 znaků.
Maximální délka textu samotné zprávy (obsah) je 1427 znaků.

Vyzkoušejte nový firmware (pro dnešní den vydaná BETA, pak všechny další), tam už by to mělo fungovat.

39

Re: odeslání emailu

krevla napsal:

V historii se nezobrazuje čas ve standartním formátu, ale ve formatu + číslo

Mne se čas ukazuje normálně:

13:51:11 17.02.2013     zařízení zapnuto

40

Re: odeslání emailu

Když je tam "+ xxx" tak je to čas v sec od zapnutí zařízení.
Tzn. nemáte čas v SDS synchronizován pomocí NTP na "skutečný" čas.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

41

Re: odeslání emailu

před cvílí jsem aktualizoval na oficiální firmware a taky mne to zarazilo. Potom jsem si všim že se skutečně ten čas nezasynchronizoval a pro nápravu postačilo  na stránce Administrace odkliknout u NTP tlačítko nastav

42

Re: odeslání emailu

Clouseau napsal:

No jo, mám tam dva teploměry a druhej mi střídavě tvrdí že je/není zamknut podle toho jak dávám refresh stránky...  A když ho zamknu tak se nic nemění.. pořád to střídavě tvrdí...

Jde o to, jak daná stránka funguje. Když se zmáčkne to tlačítko "#", tak to pošle příkaz k otočení stavu zámku pomocí specifické URL.
No a když se pak dá refresh stránky (F5 / obnovit / co já vím jak se to ještě dá udělat), tak prohlížeč znovu načte to stejné URL, a překlopí nastavení posledního zámku. Pak to vypadá, jako by se střídavě zamknul/odekmnul (což taky dělá, protože to je přesně to, co po SDS v tu chvíli prohlížeč chce, tím že mu pošle tu konkrétní URL).
Takže tady je "chyba".
Správně je to potřeba dělat buď kliknutním na odkaz v nabídce vlevo, nebo obnovením ale se správnou URL, ne s takovou, která ve svém textu obsahuje příkaz na otočení některého zámku.
Předpokládám že stránka je obnovována pro kontrolu hodnot, které jsou statické (teploty, stav).
Potom to samozřejmě jde (F5 apod.), ale nesmí se to dělat hned po zmáčknutí "#", ale z čistě načtené stránky (tak aby URL neobsahovalo ten příkaz).

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

43

Re: odeslání emailu

tak čas byl skutečně nesynchronizován, ale tlačítko nastav nepomohlo, pomohlo až když jsem znova přepsal ntp server (tím stejným co tam byl) a znova dal nastav.
Teď půjdu zkusit vyvolat odeslání emailu a podám zprávu jak to dopadlo s obsahem emailu.

ringojr napsal:

před cvílí jsem aktualizoval na oficiální firmware a taky mne to zarazilo. Potom jsem si všim že se skutečně ten čas nezasynchronizoval a pro nápravu postačilo  na stránce Administrace odkliknout u NTP tlačítko nastav

44

Re: odeslání emailu

Tak v obsahu emailu jsou nadále nesmyslnné znaky : dddddd18 2..2013 21 52 1.3
už je vidět, že je v pořádku datum , ale dále to ještě nechodí

krevla napsal:

tak čas byl skutečně nesynchronizován, ale tlačítko nastav nepomohlo, pomohlo až když jsem znova přepsal ntp server (tím stejným co tam byl) a znova dal nastav.
Teď půjdu zkusit vyvolat odeslání emailu a podám zprávu jak to dopadlo s obsahem emailu.

ringojr napsal:

před cvílí jsem aktualizoval na oficiální firmware a taky mne to zarazilo. Potom jsem si všim že se skutečně ten čas nezasynchronizoval a pro nápravu postačilo  na stránce Administrace odkliknout u NTP tlačítko nastav

45

Re: odeslání emailu

Ve 22:30 byl nahrán upravený beta FW (18.2.2013).
Vyzkoušejte tento.

Osobně jsem si zkusil odeslat email, plný různých sys[] a tak dále, a dorazil úplný a v pořádku.

Pokud vám to pořád nepůjde, pošlete mi soukromě váš program, a nechám to odladit přímo tady, kde můžeme najít případný problém a hned to opravit.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

46

Re: odeslání emailu

Až po napsaní příspěvku jsem se podival do sekce firmware a našel dnešní beta verzi, právě jsem vyzkoušel a jeví se to v pořádku

adamn napsal:

ok nechám to ještě prověřit, dneska bude vydán další beta FW

47

Re: odeslání emailu

adamn napsal:

Jde o to, jak daná stránka funguje. Když se zmáčkne to tlačítko "#", tak to pošle příkaz k otočení stavu zámku pomocí specifické URL.
No a když se pak dá refresh stránky (F5 / obnovit / co já vím jak se to ještě dá udělat), tak prohlížeč znovu načte to stejné URL, a překlopí nastavení posledního zámku. Pak to vypadá, jako by se střídavě zamknul/odekmnul (což taky dělá, protože to je přesně to, co po SDS v tu chvíli prohlížeč chce, tím že mu pošle tu konkrétní URL).
Takže tady je "chyba".
Správně je to potřeba dělat buď kliknutním na odkaz v nabídce vlevo, nebo obnovením ale se správnou URL, ne s takovou, která ve svém textu obsahuje příkaz na otočení některého zámku.
Předpokládám že stránka je obnovována pro kontrolu hodnot, které jsou statické (teploty, stav).
Potom to samozřejmě jde (F5 apod.), ale nesmí se to dělat hned po zmáčknutí "#", ale z čistě načtené stránky (tak aby URL neobsahovalo ten příkaz).

Je to přesně tak jak píšete.

48

Re: odeslání emailu

Narazil jsem na něco co asi souvisí s obnovou stránek, ale vůbec tomu nerozumím.
Mám vcelku triviální kousek programu, kde dělám rozdíl mezi starým obsahem registru 146 (proměnná reg146old) a samotným registrem pokud nedošlo ke změně, tak odskakuji na další registr.
Pokud došlo ke změně, tak obsah registru přepíšu programem na novou hodnotu a současně měním i reg146old
Při hledání jiného problému, jsem si všimnul, že mi občas program neskočí pryč, ale nadále vyhodnocuje příkazy, které měl přeskočit.
Celé jsem to "oechoval" a zjistil jsem, že se občas periodicky objeví v registru 146 hodnota, kterou jsem zadal do registru před jejím přepsáním programem.
Když však kliknu na kteroukoliv jinou záložku (administrace, vstupy....)a vrátím se zpět, tak již vše funguje jak má.
Podobný jev jsem už jednou pozoroval při odečtu předvoleného času a sys 4.
Vím , že to dost složité vysvětlit ještě to nastíním programově:
label reg6:// *************************************registr 146 ****************************************
rozdil_registru146 = reg146old - sys[146];
if (rozdil_registru146 == 0) goto reg7;
if (sys[146] == 0) goto reg7;
reg146old = sys[146];
////////
tady se zpracuje změna a zapíšou nové hodnoty:
např:
if (( vnucena_teplota > 28 ) || ( vnucena_teplota < 15 )) { vnucena_teplota = 0; sys[146] = 88888888; reg146old = sys[146];}; // vynulování nesmyslné hodnoty teploty a hláška 888888 do registru