public function getFrame()
 {
     $frame = "";
     Buffer::packInt16u($frame, $this->getAttributeId());
     Buffer::packInt8u($frame, $this->getDatatypeId());
     Buffer::packDatatype($frame, $this->getDatatypeId(), $this->getValue());
     return $frame;
 }
 public function getFrame()
 {
     $frame = "";
     Buffer::packInt16u($frame, $this->getAttributeId());
     Buffer::packInt8u($frame, $this->getStatus());
     if ($this->getStatus() == ZCLStatus::SUCCESS) {
         Buffer::packInt8u($frame, $this->getDatatypeId());
         Buffer::packDatatype($frame, $this->getDatatypeId(), $this->getValue());
     }
     return $frame;
 }
 public function setReportableChange($reportable_change)
 {
     // Test if the value fits into the datatype
     Buffer::packDatatype($frame, $this->getDatatypeId(), $reportable_change);
     $this->reportable_change = $reportable_change;
 }