docs: def populate(self, priority, address, rtr, data):
          """
          -DB1    last bit        = local_control
          -DB1    bit 2+3         = status_mode
          -DB1    bit 4           = auto send
          -DB1    bit 5+6+7       = mode
          -DB1    bit 8           = cool
          -DB2                    = program (not used)
          -DB3    last bit        = heater
          -DB3    bit 2           = boost
          -DB3    bit 3           = pump
          -DB3    bit 4           = pump
          -DB4    bit 5           = alarm 1
          -DB4    bit 6           = alarm 2
          -DB4    bit 7           = alarm 3
          -DB4    bit 8           = alarm 4
          -DB5    current temp    = current temp
          -DB6    target temp     = target temp
          -DB7-8  sleep timer     = 0=off >0=x min
          :return: None
          """
          assert isinstance(data, bytes)
          self.needs_no_rtr(rtr)
          self.needs_data(data, 7)
          self.set_attributes(priority, address, rtr)
  
          self.local_control = (data[0] & 0x01)
          self.status_mode = (data[0] & 0x206)
          self._status_str = DSTATUS[self.status_mode]
          self.auto_send = (data[0] & 0x08)
          self.mode = (data[0] & 0x70)
          self.mode_str = DMODE[self.mode]
          self.cool = (data[0] & 0x80)
  
          self.heater = (data[2] & 0x01)
          self.boost = (data[2] & 0x02)
          self.pump = (data[2] & 0x04)
          self.cool = (data[2] & 0x08)
          self.alarm1 = (data[2] & 0x10)
          self.alarm2 = (data[2] & 0x20)
          self.alarm3 = (data[2] & 0x40)
          self.alarm4 = (data[2] & 0x80)
  
          self.current_temp = data[3] / 2
          self.target_temp = data[4] / 2
         
          self.sleep_timer = (data[5] << 8) + data[6]