Home Automation eHouse afkodning CommManager status – kildekode

eHouse Home Automation , Building Management – Dataformat CommManager status i binær kode . CommManager er controller af eHouse Home Automation systemet , der samler kommunikation funktioner og er den ” gateway til verden ” for system baseret på systemet controllere eHouse version 1 (485) .
Det giver dig mulighed for at dispensere fra din pc og samtidig opretholde høj funktionalitet (standard indbygget – i regulatorer) .
Desuden , systemet erstatter den gamle version af ExternalManager fra ” eHouse 1 ” og 3 InputExtenders , Fungerende fuldt funktionel controller af: rulle , porte og markiser . Det er også integreret med en alarm, der tillader Kontrol via SMS eller LAN .
Det har også en indbygget – i alarmmeddelelser SMS – Ethernet Home Automation – Rollers , Gates , Gateways – controllere og sikkerhedssystemer
Regulatoren i en hybrid version (eHouse 1 under tilsyn af CommManager) samler alle de statusser af RoomManagers ( Home Automation – Room Controller ) Og HeatManager ( Kedel Controller , inddrivelse , Automatisk grøn energi ) Og sender dem videre til kontrolpanelet via TCP / IP eller UDP .
Desuden , giver dig mulighed for at sende status som UDP udsendes til alle enheder på LAN , så du kan spore status og forbindelsesløse systemstatus eHouse ved enhver antallet af kontrolpaneler og visualisering af udgange , indgange og måleværdier .
Denne type udsendelsen ikke opkræve ekstra CPU af CommManager , uanset hvor meget panelerne modtager ovennævnte data .
Ud over de data, der modtages fra controlleren eHouse 1 (arbejder på RS485) , CommManager vedhæfte sin nuværende status , som er den tilstand af alarmsystemet .
Frame status i binær kode blev drøftet i indlæg:
” Smart Home , Intelligent Building eHouse frame status i binær kode ”
” Smart Home , Intelligent Building eHouse – frame afkodning status – kildekode ”
Indtil videre har vi ' ; ve dækket rammeformat , betydningen af ​​bits og bytes i en ramme og præsenteres for lette klar kildekode dekodning af data fra alle controllere eHouse One tilsluttet via CommManager eller anvendelsen eHouse . exe (for eHouse 1) .

Det ; s tid for softwaren at afkode status for den udvidede ramme CommManager .
Selvom status kan sendes både TCP / IP og UDP i samme form , vi kun udsendes UDP , på grund af mangel på at skulle logge på kontrolleren og øge CPU load .
Kommunikation via TCP / IP socket-servere vi forlader fri til fjerntliggende mobile paneler behov , arbejder uden for LAN (Smartphones , GSM telefoner) , bruge UDP som transmission af internettet kan være vanskelig og indebærer en masse fejl , forhindre korrekt dekodning status , på grund af den ringe kvalitet af forbindelserne , og manglen på mekanismer bekræftelser og gentagelser af UDP session .
Til dette formål , i den endelige skabelon Delphi kontrolpanel, der blev diskuteret tidligere i de stillinger: ” intelligente hjem eHouse , kildekode kontrolpaneler til tablet arbejder på Windows XP , Vista , 7 ”
Bundtet ændre status af det binære modtage data via UDP ved tilsætning support CommManager
procedure TForm1 . binaryDataReceived (Sender: TComponent ; NumberBytes: Integer ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] af char ;
MyStream: TMemoryStream ;
numberb: integer ;
begynde
hvis filesystem_status derefter afslutte ; / / Kun når udp er aktiv
MyStream: = TMemoryStream . Opret ;
binær . ReadStream (MyStream) ;
numberb: = NumberBytes ;
hvis numberb> ; 1.023 derefter numberb: = 1023 / / begrænsning antal bytes modtaget – vi skåret i størrelsen af ​​databufferen
MyStream . Læs (C [0] , numberb) ;
set_rm (C , 1) ; / / Afkode status eHouse 1 controllere – RM afkode controller status , HM
set_status_commmanager (C , 0 , 254) ; / / Decode commanager controller status – afkode status commmanagera
Test_save ; / / Test gemme data til tekstfiler for hver RM , HM – spare op til testresultater til en tekstfil for alle regulatorer eHouse 1 (RM , HM)
Test_save_eth ; / / Test gemme data til tekstfil for CommManager og hver Ethernet-controller – spare op til testresultater til en tekstfil til CommManagera og alle controllere EtherneteHouse
update_panel ; / / Opdater data til panelet for valgte controller – opdatere den registeransvarlige panel
ende ; :
Den fuldstændige gennemførelse af dekodningsprocessen status for CommManagera ramme og andre controllere udføre proceduren Ethernet eHouse
set_status_commmanager (C , 0 , 254) ; / / Parameteren du angive navn og adresse på den databufferen controller (de to sidste dele af IP-adressen) .
Denne fremgangsmåde udfører dekodningen af ​​binære tilstand af rammen og indlæser derefter de dekodede data til at registrere Ethernet styreenhed, som er et eksempel på en post ” ethernet_rm_hm_cm_lm ” kaldet ” ethrm ” .
Indekset søges automatisk knyttet til en IP-adresse i status .
Dette giver os mulighed for at:

  • direkte analyse af data i alle regulatorer
  • oprette dine egne algoritmer afhængigt af status for udgangene , Indgange , målinger sensorer
  • etablering af kontrolsystemer dedikeret til at analysere en række parametre af det eksisterende system
  • log analysator software udvikling og eHouse system status
  • software giver mulighed for beregning af elforbruget
  • tillader udførelse af individuelle kontrolpaneler og visualisering for alle regulatorer på grundlag af en skabelon
  • intet behov for viden om måder for kommunikation og data frames
  • skrivning høj – niveau software (et par linjer kildekode) via gennemførelse af eHouse system software biblioteker .