Filtr krátkých geocaching logů

Pokud hrajete geocaching a založili jste několik kešek, pravděpodobně jste již někdy dostali log, který vás tak úplně nezajímal. Myslím tím krátké vzkazy jako: „TFTC“, „Díky za cache“, „Díky“, případně jen smajlík. Když nějakou dobu logy nečtete, máte najednou plnou schránku a stojíte před rozhodnutím, jestli logy číst, mazat nebo nějak roztřídit. Vytvořil jsem krátký script, který logům kratším než 40 znaků přiřadil štítek. Mohl jsem tak roztřídit co číst a co vyhodit. Pokud používáte Gmail, můžete automatický filtr také vyzkoušet.

Skript nerozlišuje odesilatele, protože mám speciální gmail adresu jen pro geocaching. Pokud vám do gmailu chodí i další zprávy, může se stát, že budou označeny tímto štítkem

Postup

  1. Spusťte Google Disk a vytvořte nový soubor Google Apps Script. Soubor jsem si pojmenoval „gmail filtr“.
Vytvořte Google Apps Script
  1. Do vytvořeného souboru překopírujte následující kód. Nebo si kód zkopírujte z repozitáře na GitHub.
// Jméno štítku, kterým budou označeny nevyřešené emaily
var SHORT_LOG_LABEL_NAME = 'TFTC'; 

// Funkce vytvoří nový štítek, pokud ještě neexistuje
function getShortLogLabel() {
  var label = GmailApp.getUserLabelByName(SHORT_LOG_LABEL_NAME);
  
  if (label == null)
     label = GmailApp.createLabel(SHORT_LOG_LABEL_NAME);
  
  return label;
}

// Odebere štítek všem e-mailům 
function removeShortLogLabels() {
  var label = getShortLogLabel();
  var threads = GmailApp.search('label:' + SHORT_LOG_LABEL_NAME);
  
  for (var i = 0; i < threads.length; i++)
      label.removeFromThread(threads[i]);
}

// Přidá štítek k nejnovějším 200 e-mailům, které vyhovují regulárnímu výrazu 
function addShortLogLabel() {
  var label = getShortLogLabel();
  
  // čísla 0, 200 určují začátek a konec vyhledávání. Maximum je 500
  var threads = GmailApp.getInboxThreads(0, 200);

  // Projde všechny e-maily v rozsahu
  for (var i = 0; i < threads.length; i++) {
    var tmp,
      message = threads[i].getMessages()[0],
      content = message.getPlainBody();

    // Zkontroluje, jestli obsah e-mailu odpovídá zadanému pravidlu
    if (content) {
      
      // Regulární výraz - číslice 40 určuje délku logu, kratší logy než 40 znaků jsou označeny štítkem
      tmp = content.match(/(:\*)\s{1,}.{1,40}\s{1,}(This)/);

      Logger.log(tmp);
      
      // Pokud odpovídá pravidlu, přidá štítek
      if (tmp)
        label.addToThread(threads[i]);
      }  // Konec podmínky
    }  // Konec cyklu
  }

Kód obsahuje následující funkce:

  • getShortLogLabel – vytvoří v Gmailu štítek pojmenovaný „TFTC“, tímto štítkem budou označovány všechny krátké e-maily.
  • removeShortLogLabels – odebere všechny TFTC štítky. Používal jsem při testování podmínek.
  • addShortLogLabel – kontroluje e-maily a přidává TFTC štítek. Tato funkce bude spouštěna automaticky.
  1. Klikněte na „Spouštěče aktuálního projektu“ (tlačítko s hodinami) a nastavte spouštění funkce addShortLogLabel. 
Nastavení automatického spouštění funkce
  1. Google vás upozorní, že zadaný script není autorizovaný a že mu musíte povolit přístup do aplikace Gmail.
  1. Klikněte na rozšířené možnosti a přejděte na nastavení nově vytvořené aplikace.
Klikněte na rozšířené možnosti
  1. Zkontrolujte, pro kterou aplikaci povolujte jaká oprávnění. A klikněte na povolit.
  1. Po té, co vytvořenému scriptu přidělíte oprávnění přístupu k vašemu Gmail účtu, spusťte funkci getShortLogLabel, která vytvoří štítek „TFTC“, případně si na druhém řádku kódu pojmenujte štítek tak, jak vám vyhovuje.
Spuštění funkce pro vytvoření štítku
  1. Přepněte se do Gmailu a v nastavení štítku zvolte barvu štítku, jaká vám vyhovuje
Změna barvy štítku v Gmailu
  1. Pokud chcete funkčnost celého scriptu otestovat hned, v editoru scriptu spusťte ručně funkci addShortLogLabel.
  2. Pokud budete v budoucnu chtít tomuto scriptu odebrat přístup k vašemu Gmail účtu, můžete tak učinit v nastavení Google účtu. Doporučuji zde rovnou zkontrolovat, kterým aplikacím jste již přístup udělili. Nepoužívaným aplikacím přístup odeberte. Stejně tak zkontrolujte, na které web se přihlašujete pomocí google účtu.
Aplikace s přístupem k Google účtu

Jak číst data z webu a uložit je do Home Assistant

Do Home Assistant můžeme jako senzor připojit i obsah webové stránky. Můžeme na ní analyzovat html kód a získat tak jen konkrétní část obsahu. Home Assistant díky tomu získá jen údaj, se kterým může dále pracovat a uložit ho. Slouží k tomu integrace scrape. Získání dat z webových stránek jsem zkoušel těmito 2 způsoby.

Podle pořadí HTML prvku

První možností, jak požadovaná data získat, je podle pořadí HTML prvku. Jako příklad si vezmeme stránku ČHMI, který dává veřejně k dispozici informace o hladině spodních vod nebo výšce hladiny a průtoku některých potoků a řek.

Pokračování textu Jak číst data z webu a uložit je do Home Assistant

Co je Home Assistant

Home Assistant je software pro vytvoření a ovládání chytré domácnosti. Vyhledá ve vaší síti chytrá zařízení a umožní jim spolu vzájemně komunikovat. Všechna zařízení tak lze sledovat nebo ovládat z jednoho místa – z internetového prohlížeče nebo aplikace v mobilním telefonu. Uživatelské rozhraní funguje na systému dlaždic, na kterých si zobrazíte jen ty informace, které vás zajímají. Můžete také vytvářet různé automatizace na základě stavu zařízení nebo podle sledovaných veličin.

Prostředí Home Assistant zkusím vysvětlit z pohledu nováčka, který s tímto software v minulosti několikrát začal, ale vždycky (kvůli nepochopení) skončil. Ani ne před měsícem to ale všechno do sebe začalo zapadat. Jsem tedy jen o malý krůček před nováčky, ale snad dost zkušený na sepsání informací pro úplné začátečníky.

Pokračování textu Co je Home Assistant

Jak nahrát vlastní software Tasmota do chytré zásuvky WETO W-T05

How to flash WETO W-T05 with Tasmota

Každý výrobce chytrých zásuvek, má vytvořený vlastní software pro jejich ovládání. Pokud máte doma několik chytrých zásuvek od různých výrobců, pravděpodobně k nim musíte mít v telefonu nainstalováno několik různých aplikací na jejich ovládání. Levné zásuvky mnohdy ani nelze připojit k vlastnímu serveru domácí automatizace (Domoticz.com, Hass.io). Naštěstí existuje snadný způsob, jak v zásuvkách sjednotit používaný software. Díky přepsání původního firmware v chytré zásuvce, firmwarem Tasmota (v budoucnu se chystám vyzkoušet ještě i esphome.io) získáte komunikace přes MQTT, přehledné webové rozhraní pro nastavení zásuvky a také integraci zásuvky do serveru domácí automatizace. V tomto návodu popisuji postup, jak nahrát vlastní software Tasmota do chytré zásuvky WETO W-T05, neboli jak flashnout WETO W-T05.

Upozornění, rozebráním a nahráním vlastního firmware velmi pravděpodobně přicházíte o záruku.

Co je uvnitř WETO W-T05

Nejprve se podíváme, jak chytrá zásuvka vypadá, jak ji rozebrat a co obsahuje.

Chytrá zásuvka WETO W-T05
Pro rozebrání povolte 3 šroubky s křížovou hlavou
Chytrá zásuvka WETO W-T05
Demontovaný přední kryt chytré zásuvky
Chytrá zásuvka WETO W-T05
DPS chytré zásuvky WETO W-T05
ESP8285
Deska má osazen ESP8285

Pokračování textu Jak nahrát vlastní software Tasmota do chytré zásuvky WETO W-T05

Jak automatizovat propojení Excel a SAP

Když mě teď potkal fenomén zvaný práce z domova, rozhodl jsem se věnovat trochu času zjednodušování denní rutiny. Řekl jsem si, že si zautomatizuji veškeré nudné a opakující se činnosti v SAPu. První činnost, kterou jsem potřeboval automatizovat, bylo neustálé přepínání a kopírování dat mezi Excelem a SAPem.

Pro případné začátečníky v Excelu uvádím, že karta vývojář není ve výchozím nastavení vidět a musíte si jí zapnout. Stejně tak Microsoft Visual Basic for Applications spustíte stisknutím alt+F11.

VBA Skript pro ovládání SAP

Jdeme na to. Otevřeme Excel, VBA editor a kopírujeme. První část kódu naleznete kdekoliv na netu. Tímto kódem se Excel připojí k již přihlášenému SAPu. Automatické přihlášení je také možné, ale já ho nevyužiji, tak jsem se tím ani nezabýval.

Sub SAP_MM03()

Set SapGuiAuto = GetObject("SAPGUI")        'Get the SAP GUI Scripting object
Set SAPApp = SapGuiAuto.GetScriptingEngine  'Get the currently running SAP GUI
Set SAPCon = SAPApp.Children(0)             'Get the first system that is currently connected
Set session = SAPCon.Children(0)            'Get the first session (window) on that connection
session.findById("wnd[0]").Maximize
SAP GUI Scripting
SAP GUI Scripting

Pomocí tohoto kódu, se Excel připojí k SAPu. To, že se Excel k SAPu připojil poznáte podle ikonky s běhajícím červeným šikmým proužkem, vpravo dole ve stavové liště okna SAPu.

Pokračování textu Jak automatizovat propojení Excel a SAP

Návod na výrobu pastelkovníku

Před více než rokem, manželka vyrobila pastelkovník, z ruliček od toaletního papíru. Fungoval skvěle, dokud nedostal zásah rozlitou vodou z vodovek. Namísto opravy jsem se rozhodl vytvořit nový, pevný, jednoduše čistitelný pastelkovník z překližky. Výroba byla snadná, ale bylo potřeba použít speciální vybavení. Chcete také takový pastelkovník? Přečtěte si můj návod na výrobu pastelkovníku.

Pastelkovník z ruliček od toaletního papíru a nový dřevěný pastelkovník
Starý papírový a nový dřevěný pastelkovník

Přehled

ikona obtížnost Obtížnost:

Jedná se o poměrně jednoduchou konstrukci, na které by vás nemělo nic překvapit.

ikona nástroje Vybavení:

Budete potřebovat trochu lépe vybavenou kutilskou dílnu se zaměřením na zpracování dřeva.

ikona čas Čas:

Projekt berte jako víkendový, s dětmi zabere ještě o něco více času.

ikona peníze Peníze:

Náklady na materiál jsou do 100,- Kč.

Pokračování textu Návod na výrobu pastelkovníku

Automatická záloha počítače s Linux Ubuntu do Synology NAS

Na každém rohu se opakuje: „zálohujte, zálohujte, zálohujte“. Ale návodů, pochopitelných i pro běžné uživatele, jsem moc nenašel. Když jsem se navíc rozhodl celý proces zálohy automatizovat, byl jsem úplně v koncích. Trvalo mi 6 večerů, než proběhla první automatická záloha počítače do Synology. Nyní jsem sepsal návod, podle kterého v případě potřeby zvládnu automatické zálohování znovu nastavit.

V článku jsou vysvětleny 2 možnosti připojení (CIFS nebo NFS) a 2 zálohovací nástroje. S Déjà Dup jsem začínal a Back in Time jsem rozhodl používat.

Záloha počítače do Synology

Nic člověka nepovzbudí k zálohování víc, než to, že přijde o data. Mě se to stalo navíc ve chvíli, když jsem čistil 1TB USB disk. Dříve jsem ho používal pro zálohování a teď jsem ho chtěl připojit ke Smart TV. Některá data už v Synology byla, ale spousta jich čekalo na přetřídění, seskupení a vložení do Synology.

Pokračování textu Automatická záloha počítače s Linux Ubuntu do Synology NAS

Synology zpomaluje internet

Podle internetových diskuzí jsem nebyl sám, komu Synology zpomaluje internet. Jedná se o problém, se kterým se setkalo mnoho uživatelů, ale jejich řešení je téměř nemožné najít. Pojďte se podívat, co všechno jsem zkusil a co nakonec „nejspíš“ pomohlo.

Už dlouho jsem chtěl koupit nějaké zařízení na zálohování fotek. Nakonec volba padla na Synology DS218. Zpětně vidím, že jsem měl koupit nějakou lepší verzi, která podporuje Docker, takže to neberte jako doporučení ke koupi. Když jsem Synology NAS připojil, začal zpomalovat připojení k internetu.

Popis výchozí situace:

Moje připojení k internetu se s vypnutým Synology DS218 běžně pohybuje okolo 80Mb/s.

Speed test s vypnutým Synology
Pokračování textu Synology zpomaluje internet

Jak ztlumit dětskou elektronickou hračku

Také vám přijde, že jsou dětské elektronické hračky moc hlučné? Chtěli byste je ztišit, ale nevíte jak na to? V podstavě jsou 2 způsoby. První možností, jak ztlumit dětskou elektronickou hračku, je mechanické „zacpání“ reproduktoru. Variantou druhou je jednoduchý zásah do elektroniky hračky.

Jak mechanicky ztlumit dětskou hračku?

Mechanické ztlumení je to nejsnadnější, co můžeme udělat. Manželka tomu doma říká „na holčičí způsob“. Jednoduše vezmeme průhlednou lepenku a reproduktor přelepíme. Někdy se stane, že je hračka stále stejně hlasitá a ještě k tomu vydává zvuk chrčící lepenky. To pak nalepíme další a další vrstvu. Občas to ale nefunguje. Zvlášť, když je kryt reproduktoru tvarovaný a lepenka se odlepuje. To přichází na řadu další „holčičí technologie“, jakou je nacpání vaty do mřížky reproduktoru. Vata celkem spolehlivě tlumí zvuk. Nejtěžším „holčičím kalibrem“ je zalepení mřížky reproduktoru pomocí tavné pistole. Sice to není estetické, ale docela to funguje.

Reproduktor dětského pianka, zalepený tavnou pistolí

Ono to teď vypadá, že si z mechanického tlumení dělám srandu, ale je dobré ho použít, pokud je hračka slepená (nerozebíratelná). Tam většinou pokus o rozebrání nadělá více škody. Pokud lze hračku snadno rozebrat – rozšroubovat, myslím si, že je lepší elektronické ztlumení.

Pokračování textu Jak ztlumit dětskou elektronickou hračku

Jak zprovoznit MQTT server Mosquitto na Synology DS218

Začal jsem stavět chytrou domácnost. Nemám s tím žádné zkušenosti a návody, které nacházím, jsou vždy jen na kousek problému, který se objeví. Proto si vytvářím tyto zápisky, abych v případě problémů mohl začít od začátku. Tento příspěvek je o tom, jak jsem zjistil, co je protokol MQTT a jak se přes něj komunikuje. Bude to základ pro celý můj chytrý dům, pro internet věcí a pro komunikaci mezi zařízeními.

Již nějakou dobu měřím množství vody ve studni. Spustím tam metr připevněný na dřevěné lati, která má dole závaží. Podle mokré stopy na lati vidím, kolik vody je ve studni. Naměřenou hodnotu zapisuji do android aplikace ECAS, kam občas zapíšu stav elektroměru a plynoměru. Jednoduché, funkční, geniální. A taky časově náročné. Celou dobu přemýšlím nad tím, jak tuto činnost zautomatizovat. Pročetl jsem soustu návodů, viděl různé možnosti řešení, ale žádné řešení nebylo podle mých představ. Navíc, čím více informací jsem získával, tím více funkcí jsem přidával. Nakonec jsem zjistil, že si chci vybudovat chytrou domácnost.

Jednotlivá zařízení mezi sebou budou komunikovat prostřednictvím protokolu MQTT. Celé to funguje tak, že připojená zařízení publikují zprávy a čtou zprávy. Na základě zpráv pak vykonávají různé činnosti. Aby v tom byl přehled, publikují do různých skupin. Jak jsou skupiny pojmenovány a kolik jich je, záleží jen na tvůrci celé aplikace. Jen je potřeba si vymyslet nějaký systém. Kromě jednotlivých zařízení, je potřeba ještě MQTT server (MQTT broker). To je místo, kam všechna zařízení publikují svoje zprávy a zároveň odtud také zprávy čtou. Vše, co jsem o MQTT komunikaci potřeboval vědět, jsem se dozvěděl z článku Protokol MQTT: komunikační  standard pro IoT.

Pokračování textu Jak zprovoznit MQTT server Mosquitto na Synology DS218