HTTP
Součást Macro DeckPosílejte z tlačítka HTTP požadavky a ukládejte hodnoty z odpovědi do proměnných.
Stránka integrace HTTP se zapnutým přepínačem a bez možností konfigurace
- GET, POST, PUT, PATCH, DELETE a další, s parametry dotazu a hlavičkami
- Ověřování typu basic, bearer token nebo klíč API v hlavičce
- Tělo JSON, formulář, text a nahrání souboru
- Uložení stavu, hlaviček nebo hodnot JSON do proměnných
- Proměnné v hodnotách parametrů dotazu a hlaviček
Integrace HTTP posílá z Macro Deck webové požadavky. Použijte ji k volání webhooku, ovládání zařízení s webovým API ve vaší síti nebo k načtení hodnoty z online služby a jejímu zobrazení na tlačítku. Je součástí Macro Deck a od začátku zapnutá, takže se nemusíte nikam připojovat ani přihlašovat.
Dvě akce
Odeslat HTTP požadavek sestaví úplný požadavek. V poli Metoda zvolíte metodu, zadáte URL a v polích Parametry dotazu a Hlavičky přidáte dvojice název a hodnota. V části Typ těla požadavku vyberete none, json, form, text nebo multipart (nahrání souboru s dalšími poli formuláře). Ověřování nabízí basic (uživatelské jméno a heslo), bearer (token) a header (token v hlavičce, kterou pojmenujete, například X-Api-Key). Očekávaný stav určuje, které odpovědi se považují za úspěch, ve výchozím stavu 2xx. Můžete také nastavit Časový limit, vypnout Sledovat přesměrování a omezit velikost odpovědi v poli Maximální velikost odpovědi (bajty).
Zachycené hodnoty ukládají části odpovědi do proměnných. Každý řádek páruje název proměnné se selektorem: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> nebo cesta JSON, například data.items[0].name. Proměnná, která ještě neexistuje, se vytvoří.
Získat hodnotu JSON je zkrácená forma pro načtení jedné hodnoty: zadejte URL, vyplňte Cesta JSON a v poli Uložit do proměnné zvolte proměnnou.
Příklady použití
- Tlačítko, které pomocí Odeslat HTTP požadavek s typem těla
jsonpošle{"text": "Stream is live"}do webhooku chatu. - Tlačítko, které zapne chytrou zásuvku ve vaší síti přes její lokální webové API.
- Tlačítko, které pomocí Získat hodnotu JSON načte aktuální cenu z veřejného API a zobrazí ji v popisku pomocí
{{ vars.price }}. - Postup, který pošle požadavek, zachytí
$statusa pomocí Když / Jinak obarví tlačítko červeně, když server neodpověděl s200.
Hodnoty parametrů dotazu a hlaviček můžou obsahovat proměnné, například {{ vars.channel }}. Požadavek se provádí na počítači, na kterém běží Macro Deck, takže adresy jako http://192.168.1.20 vedou na zařízení v síti tohoto počítače. Akce selže se srozumitelnou zprávou, když server není dostupný, vyprší časový limit požadavku, certifikát TLS je odmítnut nebo stav neodpovídá očekávanému.
Co budete potřebovat
- Macro Deck 3 na Windows, macOS nebo Linuxu
- Adresa webového API nebo webhooku, který chcete volat
- Klíč API, token nebo heslo, pokud je služba vyžaduje
Nastavení
Krok 1: Zkontrolujte, že je integrace zapnutá
V Macro Deck klikněte na postranním panelu na Integrace a pak na HTTP. Přepínač vpravo nahoře je ve výchozím stavu zapnutý; pokud je vypnutý, zapněte ho. Není potřeba nic nastavovat: karta Přehled ukazuje Pro tuto integraci nejsou k dispozici žádné možnosti konfigurace.
Krok 2: Přidejte akci HTTP na tlačítko
Na stránce Deck klikněte na tlačítko. Deck musí být odemčený: pokud se vpravo nahoře zobrazuje tlačítko Uzamknout, odemčený je. Otevře se editor s vybranou možností Krátké stisknutí. Klikněte na + Přidat akci, v dialogu Přidat akci vlevo vyberte HTTP a zvolte Odeslat HTTP požadavek, nebo Získat hodnotu JSON, pokud chcete načíst jen jednu hodnotu. Název můžete také napsat do pole Hledat akce….
Krok 3: Zadejte požadavek
V poli Metoda zvolte metodu a zadejte URL. Pokud je API vyžaduje, přidejte Parametry dotazu a Hlavičky. U požadavku s daty vyberte Typ těla požadavku a vyplňte Tělo JSON, Pole formuláře nebo Textové tělo.
Krok 4: Přidejte ověřování
Pokud služba vyžaduje přihlášení nebo klíč, zvolte ho v poli Ověřování:
basics poli Uživatelské jméno a Heslo / token,bearers tokenem v poli Heslo / token, neboheaders polem Název hlavičky a klíčem v poli Heslo / token. Většina služeb ukazuje klíče API nebo tokeny v nastavení účtu nebo v nastavení pro vývojáře.Krok 5: Uložte hodnoty z odpovědi
Chcete-li odpověď použít, přidejte řádky do pole Zachycené hodnoty: název proměnné a selektor, například
$status, nebo cestu JSON jakodata.temperature. U akce Získat hodnotu JSON vyplňte Cesta JSON a v poli Uložit do proměnné vyberte proměnnou.Krok 6: Vyzkoušejte tlačítko
Kliknutím na Spustit v editoru požadavek okamžitě odešlete, nebo uložte a stiskněte tlačítko. Pokud akce selže, její zpráva uvede proč, například že server nebyl dostupný nebo že stav neodpovídal poli Očekávaný stav.
Akce2
Umístěte je na tlačítko nebo je spusťte z postupu.
- Odeslat HTTP požadavek
- Odešle nastavitelný HTTP požadavek a umí zachytit odpověď do proměnných.
- Získat hodnotu JSON
- Načte URL a zapíše jednu hodnotu z odpovědi JSON do proměnné.
Často kladené dotazy
Kde jsou uložené moje klíče API a hesla?
Co zadáte do pole Heslo / token, je uložené šifrovaně a na prostý text se převede jen při odeslání požadavku. Hodnoty zadané do pole Hlavičky jsou uložené nešifrovaně a putují i v exportovaných profilech, proto klíče a tokeny zadávejte raději do polí pro ověřování.
Můžu volat zařízení ve své lokální síti?
Ano. Požadavek se odesílá z počítače, na kterém běží Macro Deck, takže funguje každá adresa, na kterou se tento počítač dostane. U zařízení s certifikátem podepsaným sám sebou můžete vypnout Ověřovat certifikát TLS, ale dělejte to jen u zařízení ve své vlastní síti.
Proč akce selže, i když server odpověděl?
Odpověď neodpovídala poli Očekávaný stav, které je ve výchozím stavu 2xx. Zadejte stavový kód, který API skutečně vrací, rozsah jako 200-204, seznam, nebo any pro přijetí jakéhokoli stavu. Získat hodnotu JSON vždy očekává odpověď 2xx.
Jaké cesty JSON můžu použít?
Používejte tečky a indexy, například data.items[0].name nebo [0].id, nebo $ pro celý dokument. V poli Zachycené hodnoty mají přednost vyhrazené selektory jako $status, takže pole, které se skutečně jmenuje status, načtete pomocí $.status.
Musím proměnné nejdřív vytvořit?
Ne. Když zachycená hodnota nebo Uložit do proměnné odkazuje na proměnnou, která neexistuje, Macro Deck ji vytvoří. Pokud proměnná s tímto názvem už existuje s jiným typem, uložení selže se zprávou.
Další v kategorii Chytrá domácnost a web
Home Assistant
Součást Macro DeckPřepínejte světla, spouštějte scény a skripty a zobrazujte živé stavy z Home Assistant na decku.
AdGuard Home
Součást Macro DeckZapínejte, vypínejte a pozastavujte ochranu AdGuard Home a zobrazujte její statistiky na decku.
RSS kanály
Součást Macro DeckSledujte kanály RSS a Atom, zobrazujte jejich nejnovější články ve widgetech a reagujte na nové články.
Počasí
Součást Macro DeckZobrazujte aktuální počasí a předpověď pro svá místa na decku, bez klíče API.