• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Logitech Harmony One
#20
"Toggle ON/OFF" vs "ON" a "OFF"

V tématu Odroid-N2 jsme se zúčastnit diskuse, či spíše never-ending story, na téma jak udělat ze zařízení s Kodi, které používá v H1 pro zapínání a vypínání metodu "Toggle ON/OFF", tedy jedno společné tlačítko pro "ON" i pro "OFF", zařízení, které má pro "ON" i "OFF" zvláštní tlačítko.

Předpokládám, že to co budu dál popisovat většina pokročilých uživatelů H1 a Kodi zná, takže těm se omlouvám, pro ostatní to jistě bude užitečná věc.

V první řadě bych měl napsat, proč se tomuto tématu věnuji. Ovládá-li zařízení, které má jedno společné tlačítko pro zapnout a vypnout člověk, který před ním sedí, není to žádný problém. Ten nastává v okamžiku, když ho ovládá přes H1. Jeho logika vychází v tomto případě z předpokladu, že ve výchozím stavu je vše vypnuto. Přes H1 si uživatel vybere nějakou Activity a ta začne zapínat jednotlivá Devices, Jde-li o Device typu "Toggle ON/OFF", H1 předpokládá, že první odeslaný kód zapne, další vypne, další opět zapne, atp. Což o to, ono to funguje, ale jen do okamžiku, dokud do toho někdo nebo něco "nehodí vidle" tím, že dané zařízení zapne nebo vypne jinak, než přes H1. Pomoc od toho je snadná a její podstatu bych tady chtěl popsat. Pro zjednodušení začnu zařízením typu TV, kde si ale nelze moc vybírat. Buď daná TV funkci "ON" a "OFF" pro DO má a pak je jednoduché ji použít a je po problému, nebo ne, a pak se to řešit nedá. Jako druhé popíšu postup u zařízení, na kterém běží Kodi a jehož funkci z hlediska, zda je to typ "Toggle ON/OFF" nebo "ON" a "OFF", můžeme poměrně jednoduše ovlivnit.

Televize (nebo podobné "tovární" zařízení)

V tomto případě nejde ani tam o problém a ani o nic složitého. Spíše je to jen záležitost využití vhodných, u TV existujících kódů. Velmi často totiž je kód pro tlačítko "Toggle ON/OF" uvedené v seznamu a lidé ho použijí jako první, případně, pod dojmem, že na originál DO je pro zapnutí a vypnutí jedno tlačítko, si při parametrizaci, kdy dostanou otázku zda se na zapnutí a vypnutí používá jedno tlačítko, vyberou automaticky tuto volbu. Stačí si při tom projít nabídku tlačítek daného Device, a můžete se přesvědčit, že i když originál ovladač používá jen jedno tlačítko, televize (nebo jiný podobný přístroj) má i možnost ovládání přes samostatná tlačítka pro zapnutí i vypnutí. V případě TV mám zkušenosti hlavně 
se Samsungem a pro něj můžeme celkem běžně v příslušném Device mezi jeho tlačítky na H1 najít jak "PwrToggle", tak ale i "PwrOn" a PwrOff".

Kodi

Tady je situace o krapet složitější. Abychom ji pochopili, je třeba krátký úvod o tom, jak to vlastně s DO na zařízení s Kodi funguje. Jen poznámka na okraj, to co budu popisovat je standardní řešení a chování, připouštím, že na některých instalací to může být částečně i jinak, ale tím se nebudu zabývat. Drtivá většina zařízení s Kodi se chová tak, jak popíšu. Pro zjednodušení budu zařízení, na kterém Kodi běžé, označovat jako HW. Popíšu tedy, jak vlastně DO v Kodi funguje, pro jednoduchost začnu tím, že v H1 je Kodi parametrované jako zařízení typu "Toggle ON/OFF" a zapnutí a vypnutí se ovládá tlačítkem ON/OFF:
  1. HW je vypnutý
  2. Rozhodneme se ho zapnout
  3. Stiskneme tlačítko ON/OFF na DO a to vyšle kód tlačítka
  4. HW dostane signál od IR čidla a to pošle hardware-ový signál k zapnutí nebo probuzení. Tohle všechno probíhá pouze na úrovni hardware, operační systém (OS), tím méně Kodi, ještě neběží
  5. Najede OS, jeho drivery, aplikace a také aplikace Kodi
  6. ...
  7. Rozhodneme se vypnout Kodi
  8. Stiskneme tlačítko ON/OFF na DO a to vyšle kód tlačítka, samozřejmě ten samý, jako v bodě 3
  9. HW dostane signál s kódem tlačítka od IR čidla a protože už běží systém, zpracuje ho driver a předá kód dalším aplikacím, které ho nakonec předají až do Kodi
  10. Kodi přes mapování tlačítka provede příslušnou proceduru, která zajistí vypnutí
  11. HW se vypne
Pozn. Zapnutím a vypnutím se označují stavy, které mohou být jak skutečným zapnutím a vypnutím, tak třeba probuzením a uspáním. Tady hodně záleží na typu HW a instalace, případně na jejich nastavení. Každopádně z pohledu Kodi se vypnutí či uspání aktivuje ve většině instalací pouhým zavoláním Kodi procedury Shutdown(), která zajistí vše ostatní, tedy vypnutí nebo třeba uspání HW.

Z uvedeného popisu je zřejmé, že zatímco zapnutí HW je záležitostí, u které si nemůžeme vybírat a ani ho nemůžeme ovlivnit, vypnutí HW máme plně v rukou. A na tom je založena myšlenka změny typu Device V H1 z "Toggle ON/OFF" na "ON" a "OFF". V default mapování DO Kodi je na tlačítko s kódem ON/OFF (v Kodi keymap souboru je to tag <power>) mapována často výše uvedená funkce Shutdown(). Chceme-li tedy zajistit, abych se stiskem ON/OFF HW nevypnulo, musíme ho v mapování deaktivovat. Zároveň si ale musíme vybrat nějaký kód tlačítka, které použijeme pro vypnutí. Já pro to využívám kód tlačítka Mute (v Kodi keymap souboru je to tag <mute>), protože ho v Kodi nepoužívám. Mám na něj v H1 namapováno (v různých Activities) Mute pro TV nebo pro Receiver.  V souboru s uživatelským mapováním se tedy musí objevit sekvence podobná této:

Kód:
<keymap>
 <global>
...
   <remote>
...
      <power>Noop</power>
      <mute>Shutdown()</mute>
...
   </remote>
...
 </global>
...
</keymap>

Řádek <power>Noop</power> deaktivuje vypnutí HW kódem tlačítka ON/OFF a řádek <mute>Shutdown()</mute> naopak vypnutí namapuje na kód tlačítka Mute.

Pozn. Procedura Shutdown() nemusí být použita vždy. Abyste měli jistotu, jak vlastně přemapování definovat, je nejlepší se podívat jak je vypnutí definované v default mapování Kodi. Ti, kteří používají pro definici přemapování addon Keymap Editor, si budou muset uvedený postup adaptovat pro něj. Tomuhle se už v tomto postu věnovat nebudu.

Teď zbývá už jen upravit parametrizaci H1, tzn. označit příslušné Device jak typ, který má dvě samostatná tlačítka pro zapnutí a vypnutí, na tlačítku pro zapnutí vybrat TogglePower na vypnutí Mute.

Pozn. Vycházím z Device typu MCE Remote, které používám. Pro jiný typ bude to označení možná jiné, ale myslím, že kontext je celkem jasný.
 
Citovat
  


Příspěvků v tématu
Logitech Harmony One - od Rossi D - 17.7.2016, 10:43
RE: Logitech Harmony One - od shark - 01.3.2017, 2:27
RE: Logitech Harmony One - od JiRo - 02.3.2017, 18:06
RE: Logitech Harmony One - od Rossi D - 01.3.2017, 8:34
RE: Logitech Harmony One - od marecek65 - 02.3.2017, 20:05
RE: Logitech Harmony One - od Rossi D - 03.3.2017, 10:13
RE: Logitech Harmony One - od shark - 06.3.2017, 21:34
RE: Logitech Harmony One - od hfx9 - 13.6.2019, 19:09
RE: Logitech Harmony One - od Client - 13.6.2019, 20:08
Logitech Harmony One - od hfx9 - 13.6.2019, 21:12
RE: Logitech Harmony One - od Client - 18.8.2019, 18:49
RE: Logitech Harmony One - od Rossi D - 18.8.2019, 20:01
Logitech Harmony One - od j.jusko - 18.8.2019, 20:27
RE: Logitech Harmony One - od Client - 19.8.2019, 13:48
RE: Logitech Harmony One - od Def - 28.8.2019, 21:54
RE: Logitech Harmony One - od Client - 29.8.2019, 6:24
RE: Logitech Harmony One - od Def - 29.8.2019, 7:50
RE: Logitech Harmony One - od Rossi D - 19.8.2019, 18:25
RE: Logitech Harmony One - od Client - 19.8.2019, 18:59
RE: Logitech Harmony One - od Client - 07.9.2019, 14:01
RE: Logitech Harmony One - od djlucas - 05.2.2020, 17:05
RE: Logitech Harmony One - od Client - 05.2.2020, 17:13
RE: Logitech Harmony One - od djlucas - 05.2.2020, 19:08
RE: Logitech Harmony One - od jarkh - 21.2.2020, 12:22
RE: Logitech Harmony One - od Client - 21.2.2020, 12:29
RE: Logitech Harmony One - od jarkh - 21.2.2020, 12:49
RE: Logitech Harmony One - od Client - 21.2.2020, 14:29
RE: Logitech Harmony One - od jarkh - 21.2.2020, 14:42
RE: Logitech Harmony One - od djlucas - 23.2.2020, 21:13
RE: Logitech Harmony One - od jarkh - 24.2.2020, 15:31
RE: Logitech Harmony One - od mila001 - 23.3.2020, 14:19
RE: Logitech Harmony One - od Client - 23.3.2020, 14:54
RE: Logitech Harmony One - od mila001 - 23.3.2020, 15:04
RE: Logitech Harmony One - od Client - 23.3.2020, 15:27
RE: Logitech Harmony One - od mila001 - 23.3.2020, 15:31
RE: Logitech Harmony One - od lukas.v - 30.3.2021, 20:15
RE: Logitech Harmony One - od JiRo - 12.4.2021, 14:10
RE: Logitech Harmony One - od Rossi D - 12.4.2021, 18:46
RE: Logitech Harmony One - od Radek_Kovacik - 09.6.2021, 16:16
RE: Logitech Harmony One - od Yco - 06.8.2021, 16:46
RE: Logitech Harmony One - od meda - 07.8.2021, 10:38
RE: Logitech Harmony One - od Rossi D - 07.8.2021, 11:57
RE: Logitech Harmony One - od JiRo - 07.8.2021, 13:18
RE: Logitech Harmony One - od meda - 07.8.2021, 13:34
RE: Logitech Harmony One - od Rossi D - 07.8.2021, 18:05

Přejít na fórum:


Prochází: 1 host(ů)