Termostat - (ne)použiteľnosť webaplikácie v Google Chrome
Aby bolo ovládanie jednoduché aj pre laikov a dostali sa priamo k číselnému vstupu pre zadanie riadiacej teploty a hysterézy, obsahovali input polia dátový typ číslo, čo umožnilo otvorenie číselnej klávesnice na smartfónoch a tabletoch. Každé pole obsahovalo možnú minimálnou a maximálnou hodnotu + krok o ktorý sa dala hodnota posúvať. Tieto hodnoty boli zadané prostredníctvom atribútov, ktoré element input podporuje.
![](https://392a561660.cbaul-cdnwnd.com/6b24fd06728cdbacb72a3228f095e765/200000325-a20e5a20e7/termostat-smartfon2.png?ph=392a561660)
Problém nastal vo fáze testovania na smartfónoch s operačným systémom Android. Vstavaný prehliadač Chrome reaguje na client-side na dátový typ (number) použitý v elementoch input tak, že zobrazí číselnú klávesnicu s celými číslami od 0 po 9 bez možnosti vložiť čiarku, respektíve bodku pre oddelenie celého čísla od desatinného. Pri kliknutí na možnosť Ďalej sa preskočí na ďalší input, respektíve sa odošle HTML formulár. Jedinou možnosťou je označiť existujúcu hodnotu (aktuálne platnú) v inpute a prepísať samostatne časť pred a za čiarkou (za predpokladu, že je číslo s desatinnou čiarkou, v prípade, že nie, nie je možné zmeniť desatinné číslo).
Pri pátraní, čo chybu spôsobuje som využil nástroj CANIUSE, ktorý umožňuje overiť akýkoľvek HTML element a jeho atribút pre všetky dostupné prehliadače cieľovej platformy. Z testu sa preukázalo, že prehliadač Google Chrome pre Android nepodporuje šípky pre možnosť posúvania hodnoty o preddefinovaný krok zo step atribútu a taktiež nereaguje na step, min, alebo max hodnotu použitú v atribúte. Najnovší prehliadač Google Chrome pre Android (verzia 87) je tak pre prevádzku termostatu s prispôsobením pre používateľov s nízkou technickou znalosťou nepoužiteľný, alebo ťažko použiteľný...
![](https://392a561660.cbaul-cdnwnd.com/6b24fd06728cdbacb72a3228f095e765/200000326-17fa817faa/chrome.png?ph=392a561660)
Iné dostupné prehliadače umožňujú zobrazenie šípok, respektíve na klávesnici ukážu aj desatinnú čiarku pre možnosť zadania desatinného čísla. Menej zdatní používatelia tak dokážu plnohodnotne izbový termostat v aktuálnej verzii ovládať cez prehliadač Safari prostredníctvom iPhonu, alebo po inštalácii prehliadača Firefox do ich Android zariadenia. Prehliadač Opera, QQ, vstavaný Android prehliadač majú rovnaký problém s používateľským vstupom.
Prípadne, aby sa refresh ani vykonávať nemusel (aby sa nezatvorilo okno pre používateľský vstup), bude možno vyexportovaná do release verzii aj verzia s Async Webserverom, ktorý bude stránku aktualizovať cez AJAX. K WiFi platforme ESP32 nebol zatiaľ žiaden firmvér publikovaný, bude vychádzať z firmvéru pre ESP8266 a rovnako sa bude do cieľovej platformy nahrávať cez ESPTOOL. Prvý firmvér pre ESP32 výjde až po finálnej verzii firmvéru pre ESP8266.