Internet möjliggj橬一j DSC hem trygghetssystem (16 / 22 steg)
Steg 16: tredje part gränssnittet (TPI) programmerarens dokument
Tredjepart gränssnittet (TPI) är en uppsättning kommandon, svaren och felkoder att tredjepartsprogram till gräns flat med EnvisaLink 3 över en TCP/IP anslutning. Jag hittade detta dokument mycket förvirrande. Jag hoppas denna förklaring hjälper till att förklara handlingen lite bättre.
I allmänhet är alla TPI kommandon, svaren och felkoder tre siffror:
- Kommandon är större än eller lika med 500
- Svaren är mindre än eller lika med 200
- Felkoderna är mellan 000 och 027, men svaren är också i detta intervall
Data läggs till i slutet av ett kommando eller svar. Till exempel kan ett login kommando vara:
- 005pswdCS\n\r
där,
- PSWD = är data, i detta fall ditt lösenord
Följande krävs:
- CS = check
- \n = radmatningstecken
- \r = vagnsretur
På nätet hittade jag många implementeringar för att beräkna Checksumma. Kontrollsumman krävs och många genomföranden fungerade inte. Jag vet inte varför så många fungerade inte för mig. Det kan vara dålig kod, eller det kan vara olika versioner av styrelsen eller firmware versioner körs på styrelsen. Min kontrollsumma kod fungerar för min styrelse och firmware.
EnvisaLink fungerar som en server för en TCP-anslutning till ett klientprogram. Klienten bör endast köras på en säker server som kan kommunicera med EnvisaLink 3. Kundens server bör på ditt hemmanätverk, men bör inte vara öppna för internet. Ett självsignerat certifikat krävs (se min andra instructable för ett Garage dörröppnare).
EnvisaLink lyssnar på port 4025 och bara accepterar en klientanslutning. Efterföljande anslutningar nekas. EnvisaLink kommer att stänga anslutningen om klienten avslutar sin sida.
Att initiera en anslutning:
- -Klient startas en TCP-session genom att upprätta en TCP-socket.
- Klienten skickar ett login kommando [005]
- EnvisaLink svarar med en eller flera [505]
- Om [505] kommando data är en 3, sedan inom 10 sekunder svara med ett login kommando [005]
- Om [505] data innehåller en 1, sedan är logga in framgångsrika
Kommandot logga in data är ett lösenord upp till sex tecken, vilket är samma lösenord att logga in på den EnvisaLink lokal webbsida.
Se 505 kommando beskrivning i TPI manualen för en beskrivning av alla data.
När lösenordet är accepterat, sessionen skapas och kommer att fortsätta tills TCP-anslutningen bryts.