Nová verze aplikace pro TME/TH2E – TMEP 7.0.4

Pozor! Již existuje novější verze aplikace, více informací na této stránce.

  • Responzivní a adaptivní verze aplikace! Jedna stránka pro zobrazení na mobilech, tabletech, počítačích… v podstatě kdekoliv. Díky tomuto jsem zrušil a vyhodil omezenou mobilní verzi.

Obsahuje i několik vylepšení z dřívějších (zde nepropagovaných) verzí:

  • Obsah záložek denních, měsíčních a ročních statistik se načítá až po kliknutí na záložku AJAXem. Díky tomu je zobrazení aplikace výrazně rychlejší.
  • Optimalizace obrázků a nahrávaných souborů ze serveru. Místo cca 25 jich je nyní 9. Napomáhá rychlejšímu zobrazení stránky.
  • Knihovna pro grafy Highcharts byla aktualizována na nejnovější verzi.
  • TMEP nově používá místo zastaralé MySQL knihovny extenzi MySQLi, takže aplikace poběží i na nových verzích PHP.
  • Verze 7.0.4 oproti 7.0 obsahuje řadu oprav.

Mobilní verze mi byla dlouhou dobu trnem v oku. Sice líbivá a praktičtější, než zobrazení celé aplikace, ale ve výsledku pomalejší a datově náročnější kvůli jQuery Mobile než „dospělá“ verze. Tomu je nyní konec – na mobilu je nyní velmi rychle načtená neošizená aplikace se spoustou informací.

Odkaz na stažení z GitHubu: zde
Ukázka jako obvykle na roudnice.eu
Stránka projektu na GitHubu: zde

54 komentářů

  1. Ještě jsem přišel na jednu drobnou chybku v grafech při zobrazování stupnice v jednotkách Delisle (ale ta chyba se myslím už táhne dlouho). Když přepnu na zobrazování jednotek na Delisle a v grafu je hodnota, která se rovná 0°C, pak se zobrazuje i 0° Delisle, ale zobrazováno by měla být hodnota 150° Delisle.

        1. Díky za nahlášení problému, bohužel tam byl hodně dlouhou dobu.

          Na GitHubu jsem rovnou vydal 7.0.3 a tam je opravený u všech grafů. Stačí přepsat složku s grafy a bude to v pořádku pro všechny jednotky.

  2. Další bug: v případě, že teploměr přestane odesílat data, pak aplikace neustále přičítá poslední naměřenou hodnotu dál a dál, tzn. že se do databáze zapisují další smyšlená data s poslední naměřenou hodnotou, aniž by pocházela z teploměru.

  3. Pokud mám verzi aplikace bez vlhkoměru a zúžím okno prohlížeče na minimum (Explorer, Firefox), nebo v případě prohlížení na android telefonu na výšku, pak se mi nevykreslí graf teploty za poslední 3 dny a taky se nevykreslují grafy na záložkách denní a měsíční statistiky. Aby grafy opět naběhly, pak musím rozšířit okno prohlížeče nebo otočit telefon na šířku a aktualizovat stránku. Na tvých stránkách, tedy na verzi s vlhkoměrem, jsem tento problém nezaznamenal.

    1. Upravoval jsem to v některé z 7.0.X verzí aplikace, aby v grafu teploty (případně teploty a vlhkosti) za poslední tři dny nebylo zobrazeno tolik hodnot. Pokud je kvůli zmenšení prostor pro křivku v grafu v pixelech menší než je počet hodnot, které na něm chci zobrazit, tak se stane přesně toto.

      Řešil jsem to menším počtem zobrazených hodnot do grafu tak, aby to na nějaké rozumné menší rozlišení ještě vyšlo. Ubírat hodnoty jsem nechtěl a pokud to nebude nezbytné, tak nastavovat minimální šířku aplikace také ne, aby na některém menším displeji nebylo třeba scrollovat i horizontálně.

      Přepiš prosím adresář scripts/grafy tím co je v poslední verzi na GitHubu, abys měl určitě ty poslední skripty a zkus to znovu, jestli to je dostatečně v pořádku.

  4. Chyba

    SQL-dotaz:

    Pri update db me to hodi error:

    # /*************************************************************************
    # *** Systém pro TME/TH2E – TMEP ***
    # *** (c) Michal Ševčík – multi@tricker.cz ***
    # *** SQL – really simple „db“ 🙂 ***
    # *************************************************************************/
    ALTER TABLE tme ADD INDEX kdy ( kdy ) ;

    MySQL hlásí: Dokumentace
    #1061 – Duplicate key name ‚kdy‘

        1. Jestli neaktualizujete, tak stačí import DB z prvního souboru a není potřeba dělat ten update.

          Jinak máte několik možností:
          1) Nezastavovat provádění SQL příkazů při první chybě, pokud je to možné.
          2) Ručně zkopírovat vždy celý příkaz do SQL editoru phpMyAdmina a nechat ho provést, abyste měl jistotu, že nějaký z nich přeci jen nebyl potřeba. A pěkně jeden po druhém (je jich stejně pár).
          3) Použít pro správu databáze třeba Adminer od Jakuba Vrány (http://www.adminer.org/), který se na špatně provedeném dotazu nezastaví.

    1. Dobrá připomínka, díky za ni. Zkusím vykoumat, jak z toho ven. Možná HighCharts inicializovat až po úplném načtení stránky a DOM modelu, pokud to tak ještě nedělám. Prověřím jak to půjde.

  5. Dobrý den,
    máme stránky we WordPressu (www.skidestne.cz) a chěli bychom koupit teploměr
    http://www.papouch.com/cz/shop/product/th2e-ethernetovy-teplomer-s-vlhkomerem/
    a vypisovat za a/ stránku s počasím a za b/ pouze teplotu (-2°C) vlevo pod webkamerou přesně tak, jak to máte na těchto stránkách.

    Zcela by nám pak na k tomu vyhrazené stránce Počasí stačilo zobrazení celého počasí, jako je zde:
    http://www.papouch.com/cz/ariadne/file_generators/dbfile.php?_fileId=10420&_fileName=th2e-komunikacni-moznosti-a-web.png&_site=papouch_web

    Internet – mizerný, daleko od všeho, O2.

    Lze to s touto aplikací zvládnout?

    Díky za i krátké info

    S pozdravem

    Alois

    1. Dobrý den,

      mít samostatnou stránku s počasím jako je na http://www.roudnice.eu tato aplikace řeší. Je potřeba od TH2E poslat na server kde aplikace poběží každou minutu aktuální teplotu, ale to je minimální využití internetového připojení, takže v tom problém nebude.

      Ohledně integrace do WordPressu – to je mimo rámec aplikace, zde to mám udělané „natvrdo“ v šabloně a jen jednoduše. Ten, kdo Vám dával web dohromady by měl být schopný takovou úpravu udělat a teplotu do stránky přidat – bude ji brát z databáze vlhkoměru, kterou aplikace obstarává.

      Michal Š.

  6. Dobrý den,

    máme dva TME teploměry, je možné sbírat data a zobrazovat je Vaší aplikací současně do stejné DB? Měl jsem představu, že k rozlišení teploměrů slouží GUID parametr a tak mi bude stačit aplikaci zkopírovat do dvou různých adresářů na web serveru a upravit konfiguraci. Ale naletěl jsem – data se mi navzájem přepisují a pozdějším studiem index.php jsem zjistil, že s GUID hodnotou se nic nedělá, nezapisuje se do DB.

    Díky předem, jinak je aplikace naprosto super.

    PK

    1. Dobrý den Pavle,

      je to přesně tak, GUID slouží „jen“ pro nastavení hodnoty, pod kterou data posílá teploměr (a jen některé typy).

      Bohužel je v takovém případě potřeba mít aplikaci dvakrát a pro každou vlastní databázi.

      Z časových důvodů jednu verzi aplikace pro více čidel nechystám.

      Michal

  7. Už niekoľko týždňov používam túto aplikáciu na zber a vizualizáciu teploty v byte a funguje absolútne spoľahlivo. Ďakujem.

    Tiež by som ocenil verziu, ktorá dokáže pracovať s dátami od viacerých čidiel. Pokiaľ by to bola platená „Pro“ verzia, tak to by bolo OK.

  8. Nevím jestli je to záměr nebo náhoda oproti dřívější (asi 6.x) verzi, ale při přípravě data a času pro omezení výběru dat z DB se připravený údaj přes substr zkrátí na 14 znaků a pak se přidá 0 nebo 9 na konec (tj. nyní by vyšlo cca „2014-03-20 18:0“ až „2014-03-20 18:9“). Vypadne z toho pak ale výsledek který je vždy v limitu prvních deseti minut v hodině a ne v celém rozsahu hodiny. Ve starší (asi 6.x) verzi se přes substr zkracovalo na 15 znaků a bylo to v pořádku (tj. nyní by vyšlo cca „2014-03-20 18:50“ až „2014-03-20 18:59“). Bylo mi totiž divné, proč nové verzi (např 7.0.3) nesedí hodnoty udávané v „Dříve touto dobou“ s tím co je vyneseno v grafu například před 24 hodinami. Je to pak opravdu tak, že hodnoty v „Dříve touto dobou“ jsou sice z doby -24h atd. ale zároveň pouze z rozsahu prvních deseti minut dané hodiny.
    Jedná se pravděpodobně o výběr dat z DB v těchto souborech:
    „scriptsajaxdrive-touto-dobou.php“
    „scriptshead.php“
    „scriptsmodalsdrive-touto-dobou.php“

    M.

    1. Díky za perfektní práci a popis problému! Dávám za pravdu a o víkend opravím zdrojáky. Substr vrátím na správných 15 znaků jako to bylo dříve. Pravděpodobně k tomuto opomenutí muselo dojít při úpravách SQL dotazů za optimalizované.

  9. Zdravím,
    opět chválím autora této skvělé aplikace.
    Chtěl jsem teď spustit novou verzi 7.0.4, kde původní mám 6.3 a běží bez problémů.
    Hodnoty do souboru config.php jsem zadával stejné jako z předešlé verze, ale neustále mi to chlásí:

    Nepodarilo se spojit s databazovym serverem a prihlasit se. Prosim, zkontrolujte nastaveni.
    Unable to connect to database server and log in. Please, check out your settings.Chyba ve vybrani databaze „xxxxxxxx“. Prosim, zkontrolujte nastaveni.
    Unable to select database „xxxxxxx“. Please, check out your settings.

    Soubor mysql-db-full jsem ve verzi 7.0.4 ještě neaktualizoval, tak nevím jestli to nemá s tím souvislost.

    1. Ahoj Davide,

      díky za chválu!

      Od verze 6.x se soubor pro aktualizaci databáze nezměnil, takže v tom to nebude. config.php může také zůstat stejný přesně jako jsi ho měl. Ujisti se prosím, že máš všechny soubory z verze 7.0.4, aby všechny které se používají byly s kódem „mysqli“ místo původního „mysql“.

      Podle toho co píšeš by měl být problém pouze v hodnotách pro připojení k databázi, které jsou právě v config.php. Jestli máš ještě ten původní soubor, tak ho tam zkus nahrát, jestli to pomůže.

      Ještě mě napadá, aby tvůj hosting podporoval extenzi mysqli, ale ta je od PHP verze 5.0 standardně součástí: http://cz1.php.net/manual/en/mysqli.overview.php (a také by se měla objevit jiná chybová hláška)

      1. Verzi PHP mám 5.2.17.
        Tak jsem zkoušel nahrávat postupně nižší verze . Zjistil jsem, že mi tuto chybu hlásí už od verze 6.4 a jak jsem psal současnou verzi mám 6.3.

        Soubor config.php jsem kopíroval z funkční v. 6.3 do v. 6.4

        1. Tak to je přesně ta verze, od které je používaná ta extenze Mysqli. Nemáš přístup k chybovým logům webhostingu, že by ses podíval co Ti to tam hlásí konkrétně za problém? Je mi divné, že by ta extenze nebyla dostupná. Další krok by byl kontaktovat webhosting s žádostí o pomoc při zprovoznění.

          1. Takže problém vyřešen. Stačilo smazat pouze v $dbServer port 3306 v config.php, který jsem tam vždy používal. Vše vypadá, že už funguje v pořádku.

  10. Caute dnes som aktualizoval na 7.0.4 vsetko prebehlo ok,,, ale zacalo mi vyhadzovat chybu :

    Warning: Cannot modify header information – headers already sent by (output started at /home/pd004400/www_root/valaskabela/scripts/head.php:68) in /home/pd004400/www_root/valaskabela/scripts/ajax/drive-touto-dobou.php on line 14

    stranka http://www.valaskabela.eu
    nie som ziadny programator takze dakujem za jednoduchy popis ako to odstranit 🙂
    diky za rady

  11. Ahoj, všiml jsem si, že u verze bez vlhkoměru se při najetí kurzorem na teplotní křivku v grafu „Teplota za poslední 3 dny“ mnohdy ukazuje teplota, která má třeba 12 desetinných míst. Možná by nebylo špatné to nějak ošetřit, aby se zobrazovaly max. 2 desetinná místa.

  12. Měl bych ještě jednu prosbu. Jestli by šlo vytvořit script, který by vytvářel xml soubor se stejnou strukturou jakou má script tme.xml, který je součástí firmwaru TME teploměru.

      1. Jde o to, že ten skript slouží jako zdroj pro další stránky, které z něj vyčítají hodnotu a hledají jí mezi hodnotami „XXX“. Ale skript vystup-XML jí ma v položce „val=XXX“, takže bych potřeboval skript, který vytváří právě takové hodnoty jako jsou v tme.xml.

  13. Hoj,
    chtěl jsem poděkovat za aplikaci. Je fajn že sis s tím dal práci. Já osobně bych ještě potřeboval průměrné denní hodnoty. Nejvíc průměrnou rychlost větru. Nebo i grafy co jsou s teplotami,aby byly i u hodnot měření větru:)

      1. No vidíš já to tehdy nezprovozňoval. Koukal jsem na blog autora, nejde mi na jeho blog dát žádný příspěvek ani jsem na něho nenašel žádný kontakt. Nemáš radu nebo mail nebo tak něco. dik

  14. Dobrý den, stáhl jsem si Vaši skvělou aplikaci. Díky. Jenom bych chtěl oznámit jednu chybičku. V souboru index.php je v hlavičce chybný odkaz na css soubor. Měl by být scripts/css/css.css – to scripts tam chybí. Jinak naprosto skvělé…

    1. Hezký den Tome,

      děkuji za slova chvály, vždy mě moc potěší. Jsem moc rád, že se aplikace líbí.

      Na odkaz se ještě podívám, ale takovou chybu by mi hlásilo více uživatelů a adresář s css souborem je nad úroveň mimo adresář scripts, takže by to mělo být v pořádku tak, jak to je v kódu uvedeno.

      1. Omlouvám se, že zbytečně plaším. Chyba na mé straně. Nějak jsem to špatně rozbalil. Teď jsem to kontroloval a už je to v pořádku. Ještě jednou se omlouvám a děkuji.

Napsat komentář: David Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *