====== SSCP protokol ====== Kontroléry Mervis podporují plnou konfiguraci a komunikaci prostřednictvím protokolu SSCP. Detailní popis tohoto protokolu je dostupný zde: {{:en:mervis-ide:35-help:020-communication-protocols-description:010-sscp_description:sharkprotocolspecification_user_2017_05_30.pdf|SSCP popis}}. ===== Základní vlastnosti ===== * Protokol je definován na aplikační vrstvě * V současnosti jsou dostupné implementace pro TCP a sériovou sběrnici. UDP je použito pro automatickou detekci a konfiguraci. * Jednoduchá struktura přenášených datových paketů * Snadný výpočet velikosti paketu z hlavičky. * Pro různé komunikační vrstvy mohou být přidány další hlavičky a přípony – vnitřní struktura zůstává beze změny. * Každý datový paket (kromě broadcast paketů) nese informaci o cílové adrese (8bit Slave ID). Odpovídá pouze kontrolér s danou adresou. * SSCP lze použít pro libovolné komunikační úlohy * Přenos statistik, konfigurace, detekce PLC, přenos hodnot, vzdálené ladění atd. * Velikost komunikačního bufferu může být dohodnuta klientem * Vyžaduje se autentizace klienta * Podpora [[en:mervis-proxy:00-start|Mervis Proxy]] * Podporováno verzování protokolu. Novější verze je zpětně kompatibilní s předchozími verzemi, ale použití zastaralých metod se nedoporučuje. ===== Komunikace hodnot ===== * SSCP protokol podporuje práci s dlouhými paměťovými bloky. Pokud velikost bufferu není dostatečná, lze provést více čtení, přičemž je zaručena atomicita operace. * Každá proměnná je identifikována svým komunikačním ID. * Hodnota je přenášena jako blok paměti. Pomocí offsetu a délky lze číst část větší datové struktury (pole, struktury, funkční bloky atd.). * Rozložení paměti odpovídá standardním pravidlům zarovnání dat (1–8 bajtů). ===== .NET SDK ===== * K dispozici je SDK s .NET knihovnami. Lze jej stáhnout {{:en:mervis-ide:35-help:020-communication-protocols-description:010-sscp_description:netsscpsdk.zip|zde}}. ===== Home Assistant ===== * Open-source integrace SSCP komunikace * [[https://github.com/cervenyxp/hass_sscp_integration|GitHub – hass_sscp_integration]]