public string InitZapi(string sZibaseIP, string sLocalIP) { ZBClass ZBS = new ZBClass(); IPAddress IpAddr = null; string sZibaseName = ""; ZBS.header = GetBytesFromString("ZSIG"); ZBS.command = 13; ZBS.alphacommand = GetBytesFromString("ZapiInit"); ZBS.label_base = GetBytesFromString(""); ZBS.serial = 0; // If (sAddr = "10.40.1.255") Then // IpAdd(i) = IPAddress.Parse("192.168.1.16") // End If IpAddr = IPAddress.Parse(sLocalIP); byte[] temp = IpAddr.GetAddressBytes(); Array.Reverse(temp); ZBS.param1 = BitConverter.ToUInt32(temp, 0); ZBS.param2 = my_port; ZBS.param3 = 0; ZBS.param4 = 0; byte[] data = null; UDPDataTransmit(ZBS.GetBytes(), ref data, sZibaseIP, 49999); //Detection d'une nouvelle zibase if ((data != null)) { if (data.Length >= 70) { ZBClass ZBSrcv = new ZBClass(); ZBSrcv.SetData(data); sZibaseName = System.Text.Encoding.Default.GetString(ZBSrcv.label_base); int iPos = Strings.InStr(sZibaseName, Strings.Chr(0)); if (iPos > 0) { sZibaseName = sZibaseName.Substring(iPos - 1); // Strings.Left(sZibaseName, iPos - 1); } } } return(sZibaseName); }
public void RunScenario(uint ScenarioNumber) { m_Zibase.RunScenario((int)ScenarioNumber); return; // Old Method ZBClass class2 = new ZBClass(); class2.header = class2.GetBytesFromString("ZSIG"); class2.command = 11; class2.alphacommand = class2.GetBytesFromString("SendCmd"); class2.label_base = class2.GetBytesFromString(""); class2.command_text = class2.GetBytesFromString(""); class2.serial = 0; class2.param1 = 1; class2.param2 = ScenarioNumber; class2.param3 = 0; class2.param4 = 0; byte[] rBuff = null; byte[] bytes = class2.GetBytes(); ZibaseDll.ZBClass zb = new ZibaseDll.ZBClass(); string ipAddress = LongToIP(m_ZibaseInfo.lIpAddress); zb.UDPDataTransmit(bytes, ref rBuff, ipAddress, 0xc34f); }
public void SetVirtualProbeValue(string sZibaseName, UInt16 wSensorID, VirtualProbeType SensorType, UInt32 dwValue1, UInt32 dwValue2, UInt32 dwLowBat) { var ZBS = new ZBClass(); //ZBClass ZBSrcv = new ZBClass(); int iSensorType = 0; UInt32 dwSensorID = default(UInt32); switch (SensorType) { // Simule un OWL case VirtualProbeType.POWER_SENSOR: iSensorType = DOMO_EVENT_ACTION_OWL_SIGNAL_32B_SENSOR_CODE; dwSensorID = (uint) 0x2 << 16 | wSensorID; break; // Simule une THGR228 case VirtualProbeType.TEMP_HUM_SENSOR: iSensorType = DOMO_EVENT_ACTION_OREGON_SIGNAL_32B_SENSOR_CODE; dwSensorID = (uint) (0x1a2d << 16) | wSensorID; break; // Simule une THN132 case VirtualProbeType.TEMP_SENSOR: iSensorType = DOMO_EVENT_ACTION_OREGON_SIGNAL_32B_SENSOR_CODE; dwSensorID = (uint) (0x1 << 16) | wSensorID; break; // Simule un pluviometre case VirtualProbeType.WATER_SENSOR: iSensorType = DOMO_EVENT_ACTION_OREGON_SIGNAL_32B_SENSOR_CODE; dwSensorID = (uint) (0x2a19 << 16) | wSensorID; break; } ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 11; ZBS.alphacommand = ZBS.GetBytesFromString("VProbe"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.serial = 0; ZBS.param1 = 6; ZBS.param2 = dwSensorID; ZBS.param3 = dwValue1 | (dwValue2 << 16) | (dwLowBat << 24); ZBS.param4 = (uint) iSensorType; SendToZibase(sZibaseName, ZBS); }
public void SetVar(string sZibaseName, UInt32 dwNumVar, UInt32 dwVal) { var ZBS = new ZBClass(); ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 11; ZBS.alphacommand = ZBS.GetBytesFromString("SetVar"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.serial = 0; ZBS.param1 = 5; ZBS.param2 = dwVal; ZBS.param3 = CMD_TYPE_WRITE_VAR; ZBS.param4 = dwNumVar; SendToZibase(sZibaseName, ZBS); }
public void SetPlatform(string sZibaseName, UInt32 dwPlatform, UInt32 dwPasswordIn, UInt32 dwPasswordOut) { var ZBS = new ZBClass(); ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 11; ZBS.alphacommand = ZBS.GetBytesFromString("SetPlatform"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.serial = 0; ZBS.param1 = 7; ZBS.param2 = dwPasswordIn; ZBS.param3 = dwPasswordOut; ZBS.param4 = dwPlatform; SendToZibase(sZibaseName, ZBS); }
public uint SendToZibase(String ZibaseName, ZBClass SendBuffer) { byte[] dataRcv = null; var ZibaseReceiveBuf = new ZBClass(); IEnumerable<ZibaseInfo> q = (from c in m_ZibaseList where c.Value.sLabelBase == ZibaseName || String.IsNullOrEmpty(ZibaseName) select c.Value); if (q.Any()) { ZibaseInfo zInfo = q.First(); String ZibaseIP = zInfo.GetIPAsString(); m_Zbs.UDPDataTransmit(SendBuffer.GetBytes(), ref dataRcv, ZibaseIP, 49999); ZibaseReceiveBuf.SetData(dataRcv); return ZibaseReceiveBuf.param1; } return 0; }
public void SendCommand(string sZibaseName, string sAddress, State iState, int iDim = 0, Protocol iProtocol = Protocol.PROTOCOL_CHACON, int iNbBurst = 1) { if ((Strings.Len(sAddress) < 2)) return; var ZBS = new ZBClass(); ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 11; ZBS.alphacommand = ZBS.GetBytesFromString("SendX10"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.serial = 0; ZBS.param1 = 0; if (iState == State.STATE_DIM & iDim == 0) { iState = State.STATE_OFF; } switch (iState) { case State.STATE_OFF: ZBS.param2 = 0; break; case State.STATE_ON: ZBS.param2 = 1; break; case State.STATE_DIM: ZBS.param2 = 3; break; } // DEFAULT BROADCAST (RF X10, CHACON, DOMIA) : 0 // VISONIC433: 1, ( frequency : device RF LOW, 310...418Mhz band)) // VISONIC868: 2, ( frequency : device RF HIGH, 868 Mhz Band) // CHACON (32B) (ChaconV2) : 3 // DOMIA (24B) ( =Chacon V1 + low cost shit-devices): 4 // RF X10 : 5 ZBS.param2 = (uint) (ZBS.param2 | (((int) iProtocol & 0xff) << 8)); // Dim if ((iState == State.STATE_DIM)) { ZBS.param2 = (uint) (ZBS.param2 | ((iDim & 0xff) << 16)); } if ((iNbBurst != 1)) { ZBS.param2 = (uint) (ZBS.param2 | ((iNbBurst & 0xff) << 24)); } string sHouse = Strings.Mid(sAddress, 1, 1); string sCode = Strings.Mid(sAddress, 2); ZBS.param3 = (uint) Convert.ToInt32(sCode) - 1; ZBS.param4 = (uint) Strings.Asc(sHouse[0]) - 65; SendToZibase(sZibaseName, ZBS); }
public bool GetX10State(string sZibaseName, char house, byte unit) { var ZBS = new ZBClass(); ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 11; ZBS.alphacommand = ZBS.GetBytesFromString("GetX10"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.serial = 0; ZBS.param1 = 5; ZBS.param2 = 0; ZBS.param3 = CMD_READ_X10; ZBS.param4 = (uint) ((Strings.Asc(house) - Strings.Asc('A')) << 8) | unit; return SendToZibase(sZibaseName, ZBS) == 1; }
public UInt32 GetVar(string sZibaseName, UInt32 dwNumVar) { var ZBS = new ZBClass(); ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 11; ZBS.alphacommand = ZBS.GetBytesFromString("GetVar"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.serial = 0; ZBS.param1 = 5; ZBS.param2 = 0; ZBS.param3 = CMD_READ_VAR; ZBS.param4 = dwNumVar; return SendToZibase(sZibaseName, ZBS); }
public void ExecScript(string sZibaseName, string sScript) { sScript = "cmd:" + sScript; if ((Strings.Len(sScript) > 96)) return; var ZBS = new ZBClass(); ZBS.header = ZBS.GetBytesFromString("ZSIG"); ZBS.command = 16; ZBS.alphacommand = ZBS.GetBytesFromString("SendCmd"); ZBS.label_base = ZBS.GetBytesFromString(""); ZBS.command_text = ZBS.GetBytesFromString(sScript); ZBS.serial = 0; ZBS.param1 = 0; ZBS.param2 = 0; ZBS.param3 = 0; ZBS.param4 = 0; SendToZibase(sZibaseName, ZBS); }
public string InitZapi(string sZibaseIP, string sLocalIP) { ZBClass ZBS = new ZBClass(); IPAddress IpAddr = null; string sZibaseName = ""; ZBS.header = GetBytesFromString("ZSIG"); ZBS.command = 13; ZBS.alphacommand = GetBytesFromString("ZapiInit"); ZBS.label_base = GetBytesFromString(""); ZBS.serial = 0; // If (sAddr = "10.40.1.255") Then // IpAdd(i) = IPAddress.Parse("192.168.1.16") // End If IpAddr = IPAddress.Parse(sLocalIP); byte[] temp = IpAddr.GetAddressBytes(); Array.Reverse(temp); ZBS.param1 = BitConverter.ToUInt32(temp, 0); ZBS.param2 = my_port; ZBS.param3 = 0; ZBS.param4 = 0; byte[] data = null; UDPDataTransmit(ZBS.GetBytes(), ref data, sZibaseIP, 49999); //Detection d'une nouvelle zibase if ((data != null)) { if (data.Length >= 70) { ZBClass ZBSrcv = new ZBClass(); ZBSrcv.SetData(data); sZibaseName = System.Text.Encoding.Default.GetString(ZBSrcv.label_base); int iPos = Strings.InStr(sZibaseName, Strings.Chr(0)); if (iPos > 0) sZibaseName = sZibaseName.Substring(iPos - 1); // Strings.Left(sZibaseName, iPos - 1); } } return sZibaseName; }